Вниз
Скачать: CL | DM;

Alpha-channel в Direct3D   Найти похожие ветки 

 
MeF88 ©   (2003-07-02 15:18) [0]

Пишу нечто вроде спрайтового движка на Direct3D для одной игры. У меня есть 32битная текстура с альфа-каналом. Сам прямоугольник с текстурой выводится нормально, но как задать в Direct3D использование альфа-канала из текстуры?


 
NailMan ©   (2003-07-02 16:48) [1]

Ковыряй SDK на тему Alpha Texture Blending. Стейты D3DBLEND_*** и IDirect3DDevice8.SetRenderState();

В примерах SDK есть такая прога(среди примеров D3D, названия точно не помню, но есть что-то с *tex*), в которой можно интерактивно создавать стейты(с отображением на образце) с различными режимами и он выдает тебе конечный код, который можно впихнуть в свой проект(преобразовав с C++ к паскалевскому виду).


 
MeF88 ©   (2003-07-02 21:54) [2]

Эх. Я SDK стер недавно, так бы может быть не спрашивал. Но я пробовал все возможные D3DBlend_*, правда какой рендер стайт стоял не помню...


 
Sapersky_   (2003-07-03 09:22) [3]

SetRenderState(D3DRS_ALPHABLENDENABLE, 1);
SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
SetTextureStageState(0, D3DTSS_ALPHAOP, ( SetTextureStageState) [3] SetRenderState(D3DRS_ALPHABLENDENABLE, 1);
SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);

Ну и, само собой, в текстуре должен быть альфа-канал.
Упомянутая прога из DX SDK называется MFCTex. Там, правда, используется только текстурный блендинг (SetTextureStageState), но обычный легко добавить, т.к. имеется Delphi-конверсия на http://clootie.narod.ru/index.html



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
11-49476
Olgerd
2003-05-01 19:28
2004.01.16
Кнопка программы на KOL в панели задач


6-49678
hawkins
2003-11-16 08:45
2004.01.16
где можно взять заголовочные файлы для Winsock2?


14-49687
PVOzerski
2003-12-26 12:05
2004.01.16
А где в Питере ёлку подешевле купить можно?


3-49450
zzzrrv
2003-12-18 10:18
2004.01.16
Проблема Delphi7 и Oracle ?


1-49511
Олег С.
2003-12-23 14:48
2004.01.16
Меню как в Delphi (Bar с меню, подвижный, съемный)




   Наверх