Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Licht mit Schatten bei OpenGL ohne GLScene (https://www.delphipraxis.net/50369-licht-mit-schatten-bei-opengl-ohne-glscene.html)

vlees91 24. Jul 2005 17:23


Licht mit Schatten bei OpenGL ohne GLScene
 
Ich arbeite zur Zeit an einem Projekt, dass Zugschienen einer Modelleisenbahn darstellen soll (für eine Firma), aber allerdings müssen da auch Schatten drin sein, und die Tuts von delphigl.com sind nicht das, was ich suche und gebrauchen kann. Also als Funktion muss die Lichtquelle immer da sein, wo die Kamera ist und einfach als normale Lampe (GL_ABITION ??????) die Das was man sieht, gut ausleuchtet und dann als tolen nebeneffekt direkt dioe schatten dahinter anzeigt.
Also, wo finde ich tuts oder beispiele?

Mr_T 24. Jul 2005 19:32

Re: Licht mit Schatten bei OpenGL ohne GLScene
 
Was heißt nicht das Wahre .. die tuts sind schon gut, aber gerade Schatten ist eine sehr schwierige Angelegenheit ...

Prinzipiell Frage ich mich: Wenn die Lame ein Spottlight ist, welches bei der Kamera ist, wie willst du so Schatten überhaupt sehen? Versetzte dich mal in die Lage der Sonne ... Wenn du von der Sonne richtung Planeten guckst, dann sind die alle voll beleuchtet .. wie auch anders...

Naja, zur Frage: also ich würde sowas wahrscheinlich am ehesten über Shader lösen .. insofern als dass du die Distanz zwischen Lichtquelle (zum glück ja nur eine) und Pixel im Fragment-Shader nimmst und daran und am Winkel zwischen ebene des Dreieckes und "Lichtstrahl" festmachst wie hell das Pixel sein müsste.
Schatten kann man denn noch auf vielfältige Weise erzeugen ... eine möglichkeit wäre die Rohszene von der Lichtquelle aus in eine tiefentextur zu rendern und zu vergleichen, ob die Distanz zwischen Pixel und Licht genau so groß ist wie in der Tiefentextur angegeben .. wenn nicht ist irgendwas dazwischen und man hat dort Schatten ...
Ich selber habe das noch nie ausprobiert, aber ich dachte als Anregung sei so ein Ansatz nicht verkehrt ;)

vlees91 25. Jul 2005 17:51

Re: Licht mit Schatten bei OpenGL ohne GLScene
 
dann ist die lichtquelle halt tiefer. ist egal. ich will ja nur die schatten mit richtigem licht.

ps: die tuts tuns bei mir nicht

dizzy 25. Jul 2005 18:23

Re: Licht mit Schatten bei OpenGL ohne GLScene
 
Egal wo und wie das Licht ist, eine Grundaussage: Es gibt (bei DX und OGL) keinen Befehl: "Mach für das Licht hier Schatten". Du bist mit deinem Schatten also (zunächst) volkommen allein gelassen, und es gibt zig Möglichkeiten unterschiedlicher Komplexität, Güte und Funktionsprinzipien. Wenn du dir nicht selbst ein solches Verfahren ausdenken möchtest, dann hat z.B. Mr_T einige gute Ansätze genannt. Allerdings gibt es das nicht "mal eben fertig", sondern du musst es selbst implementieren.

\\edit: Eine andere Variante wäre es Raytracing zu betreiben. Imho nennt sich sowas dann Lightmapping, da du quasi auf die Texturen (Maps) die Lichter/Schatten herauf traced. Das ist dann schon eine der recht heftigen Möglichkeiten.

vlees91 26. Jul 2005 17:10

Re: Licht mit Schatten bei OpenGL ohne GLScene
 
so
hat sich jetzt erledigt, da ich es jetzt doch nciht brauche :?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz