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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
struct CUSTOMVERTEXFULL
{
   D3DXVECTOR3 pos;
   D3DXCOLOR color;
};
Dans mon shader la structure suivante :

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;
}
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.

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*.