Das über DirectX ist 9.DirectX 9: Vertex-Shader-Attribut Quelle
Im typischen Fall mit Vertex-Shader-Rendering, gibt es einen oder mehrere Stream im Gerät festgelegt Quellen, und das Format der Quelldaten unter Verwendung Vertex Deklaration definiert.
Wenn nun ein Vertex-Shader ein Attribut benötigt (z. B. eins mit D3DDECLUSAGE_NORMAL und UsageIndex 1 oder 2), enthält die angegebene Vertex-Deklaration dieses Attribut jedoch nicht (dh Daten, die in Stream-Quellen bereitgestellt werden. t dieses Attribut enthalten), und DrawPrimitive wird aufgerufen, woher erhält DirectX den Wert für dieses Attribut?
Wo kann ich diese Spezifikation finden? Es scheint nicht überall verfügbar zu sein, wo Google es finden kann - und ich brauche spezifische Werte für alle Semantiken. Ich bin mir bewusst, dass im Falle fehlender Attribut-Komponenten sie mit 0s und 1 für w gefüllt sind, aber ich konnte keine Doucmentation für Werte von ganzen fehlenden Attributen finden. Außerdem scheint der Wine-Code anzuzeigen, dass sie vom Anfang des Vertexpuffers übernommen wurden - wenn Wine diesen Teil korrekt simuliert. –
Es ist wahrscheinlich nicht im SDK (oder öffentlich). Es soll nicht ein Feature sein, das Anwendungen verwenden sollen, sondern das Verhalten von GPUs unter diesen Bedingungen definieren. Dies wird vom WLK getestet. Ich habe es in den DX-Dateien und der WDK gesehen. Es ist Teil der Spezifikation für IHVs, ihre Hardware und Treiber zu entwickeln, nicht Anwendungsentwickler. So wird Wine implementiert. Jedes IHV wird seine eigene einzigartige Lösung haben. – gatorfax
Die Anwendung, die ich entwickle, muss in dieser Hinsicht DirectX-Verhalten simulieren, deshalb brauche ich diese Informationen. Naja, ich schätze, ich werde Testprogramme schreiben, um es zu bekommen. –