Bonjour,
Je commence a travailler sur les shader en C++/Directx9 avec le langage HLSL. J'ai suivi ce tuto en c# http://msdn.microsoft.com/fr-fr/library/bb469909.aspx et j'ai relativement bien suivi l'utilisation et l'écriture des vertex et pixel shader.
Cependant je me pose la question suivante : la structure déclarer dans mon code C++ doit elle être semblable a la structure déclaré dans le shader ?
Comment se fait t'il que j'arrive a dessiner mon objet mais qu'il ne prenne pas sa couleur et que le vertex shader ne fasse aucun effet, alors qu'ils marche sur une CreateBox ?
Dans mon code C++ j'ai la structure suivante :
Dans mon shader la structure suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 struct CUSTOMVERTEXFULL { D3DXVECTOR3 pos; D3DXCOLOR color; };
Mon programme a juste pour but de dessiner un cube dans la couleur est donné a l'exterieur du shader, lors du renseignement de la structure CUSTOMVERTEXFULL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 struct VS_OUTPUT { float4 Position : POSITION; float4 Diffuse : COLOR0; float2 TextureUV : TEXTCOORD0; }
LA fonction render de mon objet est entre les instructions
g_pEffect->BeginPass(iPass); et
g_pEffect->EndPass();
ou g_pEffect est de type ID3DXEffect*.
Partager