Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.16;
Скачать: 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 вся ветка

Текущий архив: 2004.01.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
3-49454
azazello
2003-12-18 01:05
2004.01.16
Готовый проект базы данных BDE+Paradox


14-49725
PVOzerski
2003-12-23 11:50
2004.01.16
Флэш-картинки достали...


1-49624
Женя
2004-01-04 12:01
2004.01.16
Копирование файлов в Delphi


1-49487
Alek Silverstone
2004-01-03 11:30
2004.01.16
Модуль proxies


1-49565
Gibon
2004-01-05 20:27
2004.01.16
Как засунуть какой нибудь ресурс в exe шник ???