ein problem bei shadow volume rendering
-
du kannst ein flag setzen für den stencilbuffer, z.b. dass durt wo der gesetzt ist (also im schatten), dass dort kein pixel gesetzt wird. so kannst du die beleuchteten dinge leicht in den colorbuffer zeichnen. (so ist das auch eigentlich gedacht mit dem stencilbuffer, übertragungen in den zbuffer gibt es da eigentlich nicht)
rapso->greets();
-
damit sind doch aber nur komplett schwarze schatten möglich oder?
gibts auch einfach die möglichkeit an der stelle nur den stencil buffer zu erhöhen? dann wären sogar schattierungen beim überlappen von Schatten möglich
-
ja, wären so schwarz wie da: http://www.doom3.com/images/screenshots/04.jpg
das ist ja auch erstmal realistisch. du mußt pro lichtquelle eh das ganze durchgehen und so verschiedene beleuchtungen von lichtquellen aufeinander addieren.
falls du nicht möchtest dass etwas komplett schwarz ist, dann mußt du als allererstes alles ohne lichtquelle (nur mit ambient) zeichnen.beim stencilbufferzeichnen wird meißtens +1 oder -1 gerechnet. aber in einem durchgang bekommt man nicht mehrere lichtquellen hin.
rapso->greets();
-
hm hab mich den ganzen gestrigen abend mit vertice shadern beschäftigt(juhu meiner kann jetzt das was das standard T&L kann...naja fast^^)
auf jedenfall frag ich mich nun, wie das mit shadern überhaupt gehen soll, immerhin hat man mit dem vertice shader immer nur zugriff auf einen vertice, eine edge brauch aber...lass mich ma kurz rechnen...2 und um zu errechnen, ob eine edge sichtbar ist, brauch man noch 2 weitere vertices...hmmmm
-
wenn du hier im forum ein paar seiten zurück gehst, wirst du ne lange diskusion über schatten finden, da hatten wir das besprochen.
ansonsten sind auf der nvidia seite gute paper dazu. (die es dir fehlerfreier sagen könnten als ich)
rapso->greets();
-
meins du die hier
da macht derjenige am ende es genauso wie ichs machen wollte^^
-
da steht auch etwas weiter hinten von stefan zerbst beschrieben wie man die volumes mit den vertexshadern extrudet.
rapso->greets();
-
sicher, aber er sagte selber, dass er es doch lieber über software macht, da es mit der animation doch en bissl hakt~~
ansonsten besteht doch die theorie darin, dass man mithilfe von degenerierten quads, die man nach hinten verschiebt, wenn sie vom licht wegzeigen, das modell an sich verzieht wie ein shadow volume, aber da gibts ein kleines problem: wie kann man denn teste, ob der vertex den man grad testet, ein teil eines degenerierten quads ist oder nicht?
und nochwas:so wies aussieht wird jedes quad nach hinten verschoben wenn es wegzeigt, egal ob es teil der siluette ist oder nicht,ist das so im sinne des erfinders?
-
otze schrieb:
sicher, aber er sagte selber, dass er es doch lieber über software macht
Ein VS ist doch auch nur eine Software.
Bye, TGGC \-/
-
nagut, er macht es nich über die gpu sondern über die cpu