Hier mal ein Bild um es ggf zu verdeutlichen.
Ich nutze zur Zeit den Fog um das reinploppen der Bäume zu unterbinden.
Dafür nutze ich GL_LINEAR, start 95.0 und end 100.0.
Nun tauchen da einige Probleme auf:
1. irgendwie wirkt sich der Nebel auf Objekte, die viel näher sind aus.
2. durch das Nutzen dieses Nebels verbau ich mir total die Skybox, oder?
Hat jemand nen tip, wie ich den Nebel wirklich nur im von mir angegebenen Bereich sichtbar habe und evtl. ne Idee, wie ich das ganze so hinbekomme, daß es trotzdem noch mit ner Skybox gut aussieht?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hmm..
Ich würde es mit Shadern realisieren. Allerdings gehe ich davon aus, dass du damit nicht klar kommst. Aber gerade bei deinem Problem könnte es hilfreich sein. Z.b. könnte man das dann so implementieren, dass der Fog ab einer bestimmten höhe wieder ausblendet (also sozusagen Bodennebel).
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: So Sep 26, 2004 05:57 Beiträge: 190 Wohnort: Linz
Der Effekt den du suchst nennt sich Distance based Blending (siehe den entsprechenden Abschnitt unter Himmel). Ich hab das damals mit Multitexturing gemacht, also einfach eine 2D Textur (geht vielleicht auch mit 1D Textur und Spheremap Texgen und so) die in der Mitte Alpha = 255 hatte und dann Kreisförmig zum Rand hin gegen Alpha = 0 ging.
Irgendwann hab ich aber irgendwo mal gelesen, dass das (ich glaube ab OGL-Version 1.3) auch anders geht, ich weiß aber nicht mehr wie und bin mir jetzt auch nicht sicher ob das nicht eh ein Software-Ansatz war (im Sinne von die Alphawerte je Vertex angeben oder so) ... ist schon lange her. Ein klein wenig was findet man wenn man im Google danach sucht, aber auf die Schnelle nicht das was ich erhofft hätte ...
Wie dem auch sei, mit Vertex/Fragment Shadern sollte das nun absolut kein Problem mehr darstellen. Noch eine andere Methode wäre, wenn du alles zeichnest, am Ende den Tiefenpuffer ausliest, die Tiefenwerte in entsprechende Alphawerte umwandelst und mit diesen Alphawerten deine Skybox renderst (Evntl. Skybox auch zuerst in eine Textur rendern wenn es mit den Texturcoordinaten sonnst Probleme gibt). Ich weiß aber nicht ob (bzw. ab welcher OGL Version) man das Ganze ordentlich in Hardware hin bekommt.
du kannst den nebel auch versuchen vorm zeichnen der skybox an und danach wieder auszuschalten, auf dem bild sollte dann aber auch eine nebelige landschaft zu sehen sein, da das ganze sonst ein wenig merkwürdig wirkt
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.