Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
elektrokrach hat geschrieben:
Sagt mir vielleicht wenigstens jemand, wie ich in einem Shader aus einer depth texture den Tiefenwert rauslese?
Tiefentexturen kann man im Shader über den Samplertyp sampler2Dshadow auslesen.
elektrokrach hat geschrieben:
Und wie ich den Z-Wert vom Fragment kriege? Ist das gl_FragCoord.z oder gl_Position.z?
Les deinen eigenen Satz mal einfach langsam durch. Das Frag in gl_FragCoord steht für die Koordinaten des Fragments, während gl_Position angibt wo sich dein Vertex im Raum befindet. Den Tiefenwert fidet man also in gl_FragCoord.
Shadow sampler unterscheiden sich nur zu den normalen texture sampler dadurch, das sie ein weiters argument benötigen und zwar den vergleichswert. Die normale texture funktion ist hier also die richtige. Das eigendliche problem ist den vorhanden Z buffer als textur zur verfügung zu stellen, entweder durch rendern in eine textur oder kopieren.
Das ATI Beispiel basierent auf dem Shadermodel 1.4 ist dagegen das überschreiben der Z werte im Fragmentshader, was in diesem Fall nicht hilft, da kein massives objekt gerendert werden soll...
Hi,
was hältst Du davon, diese unlogische Lösung hier reinzustellen, damit der Nächste mit dem Problem nicht genauso dumm dasteht?
Ich meine, das ist es ja, was Du hier so wehement kritisierst.
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
Mitglieder in diesem Forum: 0 Mitglieder und 3 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.