Bonsoir,

J'ai voulu m'essayer aux pixel shaders pour voir, ayant lu sur ce forum que c'était assez simple à mettre en oeuvre
Mais je n'ai pas trouvé comment utiliser mes pixel shaders (je programme en C#, donc DirectX Managed)...

J'ai essayé de faire ce qui me semblait le plus logique

Je créé une fonction "SetPS":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
string sdebug, pixelShaderCode; 
GraphicsStream ps; 
 
pixelShaderCode =
"ps_1_1\n"+
"tex t0\n"+
"mov r0, 1-t0";
 
ps = ShaderLoader.FromString(pixelShaderCode, null, ShaderFlags.Debug, out sdebug); 
if(sdebug != null)
    throw new Exception("Erreur de compilation");
 
PixelShader pixelShader = new PixelShader(d3ddevice, ps);
ps.Close(); 
 
d3ddevice.PixelShader = pixelShader;
J'appelle cette fonction juste apres mon d3ddevice.BeginScene(), donc avant l'affichage des objets ...

Le résultat ? Mon image n'est pas du tout inversée (c'est ce qu'est censé faire le PS pourtant), j'ai juste un objet tout blanc comme si l'éclairage avait été désactivé

Aie-je raté quelque chose ?
J'espère que vous pourrez me guider pour trouver mon erreur, et si vous avez un lien vers un tutorial pour débuter avec les pixel shaders en Managed n'hésitez pas

Merci d'avance

Ingham (qui espere que ce topic aura plus de succès que le précédent )