GLSL nach Cg oder HLSL übersetzen
-
Warum ist gl_Position ein 4er-Vektor, und kein 3er?
-
Aus dem selben Grund aus dem alle Matritzen 4x4 Matritzen sind und nicht 3x3...
-
TGehGehZeh schrieb:
Warum ist gl_Position ein 4er-Vektor, und kein 3er?
Ich kenne jetzt diese Sprache nicht, aber Vertex-Positionen werden oft 4-elementig gemacht um sogenannte "unhomogenisierte" Daten zu haben. Diese kann man homogenisieren und dann schön linear interpolieren, kurz vor dem Zeichnen unhomogenisiert man sie dann wieder. Dort ist quasi der Skalierungswert drin der bei der perspektivischen Projektion auftritt. Diese Projektionsmatrix kann die w-Komponente des Vektors als einzige der großen 3 Matrizzen auf != 1 setzen.
MfG SideWinder
-
Mit welchem Programm kann man Cg-/GLSL-/HLSL-Programme testen?
-
Mit entsprechenden Tools, wie z.B. FX Composer oder RenderMonkey etc.
-
FX Composer zeigt meine Skripte nicht an... GIbt es irgendwo ein gutes Tutorial? Mit dem offiziellen von nVidia komme ich nicht weit..
-
TGehGehZeh schrieb:
FX Composer zeigt meine Skripte nicht an...
Heißt genau was?
-
Die Teekanne wird als rotes Wireframe angezeigt, Änderungen am Shader zeigen keine Wirkung.
-
Dann hast du wohl was falsch gemacht...
-
Und was? Kannst du mir vielleicht mal ein Beispiel mit folgendem Shader erstellen und hochladen?
float4 main_fp(in float3 TexelPos : TEXCOORD0) : COLOR { float4 oColor; oColor.r = 1.0; oColor.g = 0.8; oColor.b = 0.0; oColor.a = 0.0; return oColor; }
-
Sry ich hab FX Composer hier nichtmal installiert. Aber der Shader schaut so falsch nicht aus (gibt der VertexShader dazu auch wirklich einen float3 in TEXCOORD0 aus?), dein Fehler wird wohl also irgendwo beim Anwenden des Shaders auf dein Objekt liegen nehme ich mal an. Lass dir halt mal ein einfaches Default Projekt erzeugen (iirc geht das irgendwo auf Knopfdruck, is aber schon ne Weile her dass ich das Ding verwendet hab) und pack dann einfach deinen Shader dort rein. Wireframe könnte auch drauf hinweisen dass er den Shader nicht kompilieren oder irgendwas nicht laden kann (siehe Output im Fenster unten, lauft da auch wirklich alles ohne Fehlermeldung ab?).
-
Hm, ne, ich hab alles nach dem nVidia-Tutorial gemacht. Ich könnte höchstens probieren, ein Sample Project anzupassen.
-