PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shader-übergreifende Strukturen


eXistence
2010-08-30, 09:19:31
Hi,

ich beschäftige mich gerade mit glsl und hlsl und bei beiden fällt mir auf, dass man viele Strukturen mehrmals deklarieren muss.

Zum Beispiel der Output des Vertexshaders, der wird einmal im Vertexshader als Output deklariert und dann nochmal im Pixelshader als Input.

Das kommt mir ziemlich primitiv vor... sind nur die Beispiele (z.B. aus dem DirectX SDK oder von http://sourceforge.net/projects/ogl-samples/) so aufgebaut oder ist das wirklich gängige Praxis?

Wäre es nicht wünschenswert diese Strukturen nur einmal zu deklarieren und dann in mehreren shadern nutzen zu können? geht das irgendwie?

gruß
eXi

Neomi
2010-08-30, 10:41:00
Wenn du die Outputs (bzw. den einen) des VS, die nicht als Input des PS zur Verfügung stehen, aus der Struktur rausläßt, ist das kein Problem. Dann packst du die Struktur eben in eine gemeinsam genutzte Header-Datei. Oder, wenn du wirklich eine 1:1-Bindung von VS zu PS hast, beide in eine Shaderdatei, die du dann jeweils mit passendem Entrypoint kompilierst.