Как визуализировать текстуру D3DFMT_A8 как цвет? - PullRequest
1 голос
/ 24 ноября 2010

Можно ли визуализировать текстуру D3DFMT_A8 каким-нибудь цветом? Как это: </p> <pre><code>D3DXCreateTexture (pDevice, 128, 128, 0, D3DFMT_A8, D3DPOOL_MANAGED, &pTexture) ... pSprite->Draw (pTexture, NULL, NULL , NULL, 0, pos, 0xffff0000); // red

Спасибо!

1 Ответ

1 голос
/ 24 ноября 2010

Во-первых, не все оборудование поддерживает D3DFMT_A8.

Теперь, если предположить, что ID3DXSprite не захватывает слишком большую часть конвейера, тогда просто написать пиксельный шейдер следующим образом:

sampler2D input : register(s0); 
float4 pixelShader(float2 uv : TEXCOORD) : COLOR 
{ 
    return tex2D( input , uv.xy).aaaa; 

}

Шейдер просто считывает значение в текстуре и просматривает его по всем каналам.

...