Введение в программирование трехмерных игр с DX9



         

Пример приложения: прозрачный чайник - часть 3


// Рисуем чайник Device->SetRenderState(D3DRS_ALPHABLENDENABLE, true);

D3DXMatrixScaling(&W, 1.5f, 1.5f, 1.5f); Device->SetTransform(D3DTS_WORLD, &W); Device->SetMaterial(&TeapotMtrl); Device->SetTexture(0, 0); Teapot->DrawSubset(0);

Device->SetRenderState(D3DRS_ALPHABLENDENABLE, false);

Device->EndScene(); Device->Present(0, 0, 0, 0); } return true; }

ПРИМЕЧАНИЕ

На веб-сайте этой книги есть еще один пример к данной главе, texAlpha, который демонстрирует использование альфа-канала текстуры. Единственное отлтчие кода этого примера от рассмотренного выше заключается в том, что мы указываем в качестве источника альфа-компоненты не материал, а альфа-канал текстуры.

// Использовать альфа-канал в качестве источника альфа-компонент Device->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE); Device->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);

Приложение загружает файл DDS, содержащий альфа-канал, созданный с помощью утилиты DX Tex Tool, рассмотренной в разделе 7.4.




Содержание  Назад  Вперед