Вопрос по DirectX9
От: Eleon Россия www.newedge.ru
Дата: 30.09.03 06:23
Оценка:
Вот такая проблема: Нужен быстрый блиттинг в 2D. В Dx7 были функции типа IDirectDrawSurface7->Blt, ->BltFast, и им подобные. В Dx9 поверхности остались, есть способ читать/писать (StretchBlt, D3DXLoadSurfaceFromSurface, Update), но не ясно, как выводить картинки с колор-кеем или по маске. В LoadSfromS есть параметр ColorKey, но в результате его работы область, которая должна была остаться чистой, выводится именно цветом ключа. Возможно, нужно настроить "прозрачный" цвет на поверхности-приемнике, но где? Можно получить HDC поверхности, и блиттить с помощью Windows GDI, но на хрена тогда DirectX? А можно, например, получить адрес поверхности и вообще писать прямо в память по байтам. Но опять таки, зачем тогда Dx.

В общем, подскажите, как вывести картинку сложной формы в BackBuffer в Dx9, не используя при этом 3D? И какой способ будет самым эффективным?

Спасибо.
Силам добра не одержать победы над силами Разума!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.