Hallo
Mal wieder ne frage und zwar wie schaffe ich es den lichtspot auf dem folgenden bild umzudrehen sodas das licht nich von inne nach ausen scheint sondern von ausen nach innen?
Ok ich versuchs mal genauer zu beschreiben. Ich lege mir mit den Light funktionen nen spot auf ein polygon (wie in dem bild zu sehen ist) und nun würde ich gen das der spot die meiste lichtintensität am äusersten rand des polygon hat und zu mitte hin die intensität des lichts immer weniger wird (halt genau umgedreht wies jetzt bei mir auf dem Bild ist.)
Und das in OpenGL? Nimmst du dafür das OpenGL-Licht oder eine eigene Textur? Bei letzterem würde ich einfach die Textur so ändern, wie i0n0s es vorgeschlagen hat.
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Solche eigenschaften müssten theoretisch ja über die Lichteigenschaften gesetzt werden. Das Verhalten wie es oben im Bild ist, ist ja das normale, und kann auch über die Lichteigenschaften gemacht werden. Das was du willst würde bedeuten, dass du bei der Lichtverteilung einen Negativen wert setzen müsstest, und das geht net. Ich schätze also, dass es mit OpenGL Lichtern nicht geht. Da müsstest du dann mit Lightmaps und u.U. mit projectiven Texturen arbeiten.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Also ich benutze keine Texture ich mache das wie gesagt mit den licht und blend eigenschaften von OpenGL doch habe ich es halt nicht geschaft das es so aussieht wie ich es eigentlich gern haben würde und ja weiter oben auch schon versucht habe zu beschreiben.
Ok da werd ich mir die LightMaps mal genauer anschauen und sehen ob ich damit was hin bekomme.
Projective Texturen werden doch von einem Punkt aus auf die Szene projeziert. Ist es möglich, dass die Punkte, die hinter der Projektionsfläche liegen, im Schatten sind? Wenn ich also eine Lightmap mittels projected Textures auf eine Wand werfe und hinter der Wand sind noch ein paar Wände, kann ich dann verhindern, dass meine Lightmap auch auf den Wänden dahinter erscheint?
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Da muß du dann noch den Depth Buffer aus Sicht der Lichtquelle auch in eine Texture kopieren und schauen das dann nur bei der Tiefe aus dem Depth Buffer gerendert wird (Shadowmapping) .
Manchmal sieht man den Pixel vor lauter Fragmenten nicht mehr Kann man den Depth Buffer eigentlich auch anzeigen lassen? Also anstatt des normalen Colorbuffers? So wie in 3ds Max z.B.? Bzw. wie macht man das? einfach bei SwapBuffers was ändern?
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Du könntest den Colorbuffer auslesen und die Werte in ne Textur kopieren. Müsstest natürlich jeden eintrag 3 Mal speichern. Dann hättest du ein Graustufenbild.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich weiß nicht. Denn der Colorpuffer besteht aus 4 Ebenen. Du musstest also den Tiefenpuffer in eine Farbebene Schreiben. Ob dir OpenGL soviel Zugriff erlaubt bezweifle ich. (Aber ich lass mich gern belehren )
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Wenn man eine Texture mit einem der Depth Formate hat, dann wird das beim Anzeigen automatisch in Graustufen umgewandelt.
Falls man da noch so einen extra Wert setzt wird vorher die Tiefe mit dem R Parameter von den Texturekoordinaten verglichen und je nach eingestellter Funktion (GL_GREATER,GEQUAL) das ganze dann als Farbe Weiß oder Schwarz ausgelesen.
Mitglieder in diesem Forum: 0 Mitglieder und 6 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.