Mistura de textura multipassagem (Direct3D 9)
Os aplicativos Direct3D podem obter inúmeros efeitos especiais aplicando várias texturas a uma primitiva ao longo de várias passagens de renderização. O termo comum para isso é mistura de textura multipass. Um uso típico para a mistura de textura multipass é emular os efeitos de modelos complexos de iluminação e sombreamento aplicando várias cores de várias texturas diferentes. Uma dessas aplicações é chamada de mapeamento de luz. Para obter mais informações, consulte Light Mapping with Textures (Direct3D 9).
Observação
Alguns dispositivos são capazes de aplicar várias texturas a primitivos em uma única passagem. Para obter detalhes, consulte mistura de textura (Direct3D 9).
Se o hardware do usuário não suportar a mistura de textura múltipla, seu aplicativo poderá usar a mistura de textura multipassagem para obter os mesmos efeitos visuais. No entanto, o aplicativo não pode sustentar as taxas de quadros que são possíveis ao usar várias misturas de textura.
Para executar a mistura de textura multipass em um aplicativo C/C++.
- Defina uma textura no estágio de textura 0 chamando o IDirect3DDevice9::SetTexture método.
- Selecione a cor desejada e os argumentos e operações de mesclagem alfa com o métodoIDirect3DDevice9::SetTextureStageState. As configurações padrão são adequadas para a mistura de textura multipass.
- Renderize os objetos apropriados na cena.
- Defina a próxima textura no estágio de textura 0.
- Defina os estados de renderização D3DRS_SRCBLEND e D3DRS_DESTBLEND para ajustar os fatores de mistura de origem e destino conforme necessário. O sistema combina as novas texturas com os pixels existentes na superfície de destino de renderização de acordo com esses parâmetros.
- Repita as etapas 3, 4 e 5 com quantas texturas forem necessárias.
Tópicos relacionados