Question

C'est sur DirectX 9.

Dans le cas typique de rendu avec vertex shader, il y a une ou plusieurs sources de flux définies dans le dispositif et le format des données source est définie en utilisant la déclaration de sommet.

Maintenant, si un vertex shader utilisé besoin un attribut (par exemple, l'un avec D3DDECLUSAGE_NORMAL et UsageIndex 1 ou 2), mais la déclaration de sommet qui est prévu ne pas cet attribut inclus (à savoir les données. Fournies dans les sources de courant ne fonctionne pas inclure cet attribut), et DrawPrimitive est appelé, où est DirectX obtenir la valeur pour cet attribut?

Était-ce utile?

La solution

« Si les données dans le flux de sommet contient moins de composants que le type de données de nuanceur correspondant, les composants manquants sont initialisés à 0 (à l'exception de w, qui est initialisé à 1). »

Tiré de "Windows DirectX Graphics Documentation (Août 2009)"

Contenu> HLSL> Guide de programmation> L'écriture Shaders HLSL dans Direct3D 9> Entrées et Shader ou moins Sémantique

Autres conseils

La spécification DirectX 9 définit les valeurs "par défaut" pour les attributs non déclarés, généralement (0,0,0,1). Soit le pilote de périphérique ou GPU les crée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top