Registriert: Sa Okt 26, 2002 17:14 Beiträge: 188 Wohnort: Hannover/Lüneburg
Hallo!
Ich beschäftige mich gerade mit Shadern, da ins besondere mit Pixelshadern (daher brauchte ich auch die Extensions). Nun wird ja bei Direct3D z.Bsp. ein Code angegeben und dann sozusagen compiliert. Bei ARB_FRAGMENT_SHADER scheint das ja auch so ähnlich zu funktionieren, aber bei ATI_FRAGMENT_SHADER und NV_REGISTER_COMBINERS muss man die Befehle per Code fest aufrufen, oder sehe ich da was falsch? Ich versuche da gerade das ganze nämlich halbwegs vielseitig umzusetzen, und suche jetzt nach einer guten Möglichkeit auch für die beiden Herstellerabhängigen Extensions einfach Shader zu schreiben. Da hab ich mir auch schon grob etwas überlegt, aber ich wüsste halt vorher mal gerne, welche Möglichkeiten es da so bisher gibt.
_________________ Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Registriert: Sa Okt 26, 2002 17:14 Beiträge: 188 Wohnort: Hannover/Lüneburg
Hm, anscheinend bisher nicht viel... So wie ich das sehe ab OpenGL 2 dann glSlang oder so etwas, was LarsMiddendorf momentan für seine Engine schreibt (FXPascal). Also bleibt momentan noch entweder jeden Shader fest im Code oder per DLL einzeln zu programmieren, oder eine eigene kleine Codeinterpretation zu schreiben (mein Ansatz momentan, der mit ATI sogar im Ansatz schon funktioniert). Dabei noch eine kleine Frage: In manchen Shadern für Direct3D steht manchmal der Befehl "phase", der im DirectX-SDK so erklärt ist:
Zitat:
The phase instruction marks the transition between phase 1 and phase 2. If no phase instruction is present, the entire shader runs as if it is a phase 2 shader.
Was heißt das jetzt genau für meinen Shader, bzw. gibt es den Befehl überhaupt für ATI-fragment_shader oder interessiert der gar nicht weiter?
_________________ Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.