Как я могу добавить в текст только определенные части текстуры в DX 9? - PullRequest
0 голосов
/ 03 сентября 2010

Как я могу добавить в текст только определенные части текстуры в DX 9?

Например, слои в Photoshop (или любой другой программе для редактирования фотографий, которая поддерживает слои).
Вы можете нарисовать что-то в слое (фон, заполненный альфа), затем поместить слой поверх исходного изображения (нарисовать текстуру на экране), что приведет к исходному изображению + ТОЛЬКО к тем вещам, которые я нарисовал в слое.

Да, я знаю, что мой английский не очень "блестящий".

Большое спасибо, заранее!

P.S. Фон моей текстуры заполнен альфа.

1 Ответ

0 голосов
/ 03 сентября 2010

Итак, вы установили альфа на текстуру, которую хотите наложить так, чтобы 0 было прозрачным (т.е. показывает, что внизу), а 1 непрозрачным (т.е. показывает текстуру наложения)?

Если это так, то вы простонужно настроить простой режим наложения:

pDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
pDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );

Убедитесь, что вы сначала рисуете фон!Также обратите внимание, что значения от 0 до 1 представляют линейную интерполяцию между фоном и текстурой наложения.

...