Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1504 connectés 

  FORUM HardWare.fr
  Programmation

  [D3D] Question sur la déclaration dex vertex shaders

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[D3D] Question sur la déclaration dex vertex shaders

n°122765
Alload
Posté le 07-04-2002 à 11:43:28  profilanswer
 

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

mood
Publicité
Posté le 07-04-2002 à 11:43:28  profilanswer
 

n°122912
Alload
Posté le 07-04-2002 à 19:21:03  profilanswer
 

Ils sont pas là les amateurs de D3D? Bah, de toute façon le week-end c'est toujours comme ça :D

n°122994
Alload
Posté le 07-04-2002 à 22:11:38  profilanswer
 

J'ai vu d'autres exemples de déclaration des input registers de vertex shaders avec les structures de vertex correspondants.
 
Je pense avoir compris comment ça marchait: en fait l'ordre des déclaration doit être le même que celui dans la structure de vertex.
 
 
Par exemple:
 
DWORD decl[] = {
D3DVSD_STREAM(0),
D3DVSD_REG(0, D3DVSDT_FLOAT3),   //Position
D3DVSD_REG(1, D3DVSDT_D3DCOLOR), //Diffuse
D3DVSD_REG(2, D3DVSDT_FLOAT3),   //Normal
D3DVSD_END()};
 
pour cette strucure de vertex:
 
struc SVertex
{
float position;
D3DCOLOR diffuse;
float normal;
};
 
 
Bon, j'espère que je me suis pas trompé :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [D3D] Question sur la déclaration dex vertex shaders

 

Sujets relatifs
[c#] ou [VB] petite question[Shell Unix] Une question un peu compliquée
[Java] Question philosophique:declaration de variable dans une bouclebete question
Juste une ptite question sur XEmacs...question de base en html
[XML] Question de newbie à 1?Question de debutant...
Ptite Question sur les SESSIONSSQL : question tt con , mais galere : pourcentage
Plus de sujets relatifs à : [D3D] Question sur la déclaration dex vertex shaders


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR