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":
J'appelle cette fonction juste apres mon d3ddevice.BeginScene(), donc avant l'affichage des objets ...
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;
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)
Partager