J'ai une petite question sur la déclaration des vertex shaders: on doit créer un tableau de DWORD, où on place les déclarations des inputs registers, qu'on utilise lors de l'appel de la fonction IDirect3DDevice8::CreateVertexShader().
Mais je me demandais à quoi pouvait donc bien servir cette déclaration. Est-ce que cela permet de dire où se trouvera par exemple la position du vertex dans les inputs registers?
Peut-on faire par exemple:
DWORD decl[] = {D3DVSD_STREAM(0),
D3DVSD_REG(5, D3DVSDT_FLOAT3),
D3DVSD_END()};
Pour mettre la position du vertex dans l'input register 5 (v5)?
Si c'est exemple est correct, je ne comprends pas comment Direct3D fait pour savoir qu'on veut mettre la position en v5, car on aurait très bien pu vouloir mettre la normal en v5.
Et si l'exemple n'est pas correct, y a-t-il un ordre pour ces déclarations? Sont-elles toujours les mêmes? Comment les connaitre?
Voilà.