J'essaye de rendre une texture qui passe à travers un pixel shader.Passage de texture à travers Shader DirectX 9
Actuellement, mon shaders est la suivante:
float4 EffectProcess(float2 Tex : TEXCOORD0) : COLOR0
{
return float4(1,0,0,1);
}
technique MyTechnique
{
pass p0
{
VertexShader = null;
PixelShader = compile ps_2_0 EffectProcess();
}
}
Comme vous pouvez le voir, il est un shader très basique qui fait que les pixels oblige à être rouge.
UINT uiPasses = 0;
res= g_lpEffect->Begin(&uiPasses, 0);
for (UINT uiPass = 0; uiPass < uiPasses; uiPass++)
{
res = g_lpEffect->BeginPass(uiPass);
res = sprite->Begin(D3DXSPRITE_SORT_TEXTURE);
res = sprite->Draw(tex, NULL, 0x0, 0x0, 0xFFFFFFFF);
res = sprite->End();
res = g_lpEffect->EndPass();
}
res = g_lpEffect->End();
Et je dessine la texture en utilisant le shader comme ça. Je ne suis pas sûr que ce soit la bonne façon de le faire et j'ai trouvé très peu de ressources sur le sujet. Le shader est créé correctement et la texture ainsi, tous les appels retournent un résultat de S_OK, mais quand je cours le code, la texture montre parfaitement, sans être écrasée par le rouge.
J'ai fini par créer mon propre sprite shader pour faire ce que je voulais faire. –