Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » DirectX » z-culling im shader

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.05.2007, 15:14 Uhr
Krevetten



hi,
weiß jemand, ob es möglich ist in einem Shader auf das Rendertarget zuzugreifen, wärend
man gerade reinrendert? Ich würde gerne in einem Durchgang in eine Textur Werte scheiben,
die sich aus zwei verschiedenen Perspektiven ergeben. Da dass standard-z-culling aber
immer nur für eine Perspektive sinn macht, müsste ich eine eigene Version schreiben. Ich habe
mal probiert, im Shader den normalen z-Test durchzuführen, indem ich die z-Werte in den
alpha-kanal geschrieben und wieder ausgelesen habe. Hat aber leider nicht funktioniert.
Wäre dies eigentlich machbar, oder kann ich grundsetzlich nur im nächsten Frame auf die
Werte im Rendertarget zugreifen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.01.2009, 12:51 Uhr
rapso



es ist nicht moeglich auf resourcen lesend und schreiben gleichzeitig zuzugreifen. du muesstest erstmal aus einer perspektive rendern und dann nochmal einen durchgang mit der anderen und den zbuffer des ersten durchgangs binden. falls du nicht alle pixel ueberschreiben willst, kannst du 'kill' im pixelshader aufrufen, abhaengig davon die dein aktueller z-wert und der von der anderen perspektive ist.

vielleicht gibt es auch eine bessere loesung, wenn du verraetst was du erreichen moechtest.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.01.2009, 17:18 Uhr
Krevetten



hey, das war jetzt schon ne weile her^^. aber trotzdem danke für die antwort.
ich glaub ich wollte shadowmapping damit durchführen. wollte die beiden tiefenbilder
aus kamera - und lichtperspektive gleichzeitig in eine textur rendern.
Also die beiden "bilder" wären unabhängig von einander.
Abgesehen davon, dass das nicht geht, bin ich auch zu dem schluss gekommen, das es sich nicht lohnen würde, weil dann so standard techniken von der graka, wie hierarchisches z-culling und son zeug, wahrscheinlich nicht mehr funtzen würde. und die performance-
einbußen ohne den standard z-puffer zu groß wäre. wollte damals aber auch allgemein
wissen, ob das mit dem gleichzeitigen schreiben und auslesen geht, was man wohl mit nein beantworten muss.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.01.2009, 09:40 Uhr
rapso



ich hatte nicht drauf geachtet wie alt der beitrag ist *hehe*, aber hier scheint an sich weniger los zu sein. :/

aber ja, das stimmt wohl, schnell waere sowas nicht. der uebliche weg fuer shadowmapping ist entsprechend zweimal zu rendern, erstmal aus der licht perspektive und dann beim normalen rendern diese depthmap zu nutzen um pro pixel rauszufinden ob der pixel im schatten liegt.

eigene z-buffer vergleiche nutz man manchmal um korrektes alphablending zu bekommen, weil es nicht trivial ist in der richtigen reihenfolge alpha zu rendern. weiter nutzt man einen speziellen z-wert beim Parallax Occlusion Mapping.
also nur wenn es nicht mehr anders geht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ DirectX ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: