Registriert: Di Jul 03, 2018 17:18 Beiträge: 3
Programmiersprache: Delphi
Hallo,
bin der Calli, 45 Jahre alt und progge seit Delphi 3 Pascal. Mittlerweile XE8. Aktuell sitze ich an einer Grafik / Lasershowvorschau wo ich nur mit GLFog und Triangles arbeite. Sieht schon "nett" aber irgendwie tot aus. In der Praxis steht irgendwo ne Nebelmaschiene und je nach Wind wandern die Wolken mehr oder weniger dicht durch die Strahlen. Traum wäre wenn man durch die "Flächen" animierte Nebelwolken wandern lassen könnte, habe ein bisschen was über Partikelsysteme gelesen aber alles in allem steh ich wie der Ochs vorm Berge.
Hat sowas von den Anwesenden schon mal jemand gemacht und kann mir etwas "vorkauen" ??
Gruss
Calli
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ich denke es ist gar nicht so einfach, weil die Laser hier infinitesimal dünne Polygone dargestellt sind und Du wahrscheinlich das Beleuchten einer inhomogen verteilten Nebelpartikeldichte darstellen willst. Ich würde die Laserstrahlen raytracen und mit einer 3D-Verteilungsfunktion des Nebels matchen, dann sollte es gehen. Wird aber deutlich rechenintensiver.
_________________ "Pixel, ich bin dein Vater." -Darf Shader
Bzw. 4D-Verteilungsfunktion brauchst Du für den Nebel. Du checkst erst, wo dein viewRay in den Stral eintaucht, und wo er wieder rausgeht, dann teilst Du die resultierende Strecke in Punkte auf, schaust an diesen Punkten in die Verteilungsfunktion und addierst die Intensität auf, entlang deines Viewrays, vom Beobachter weg. Bracust dafür z.B. Intersection Zylinder <-> Gerade
_________________ "Pixel, ich bin dein Vater." -Darf Shader
Wen ich das Video angucke, könnte man sowas auf der 2D-Ebene lösen. Der Nebel als Textur, welche die ganze Fläche füllt. Die Lichtstrahlen im Shader berechnen.
Registriert: Di Jul 03, 2018 17:18 Beiträge: 3
Programmiersprache: Delphi
Hallo,
sieht ein bisschen nach Fraktalgenerator aus Aber es sieht besser aus als alles was ich bis jetzt hatte... In den Videos ist der Nebel nur auf Ebene der Laser sichtbar. Der Laser bricht sich in den Schwaden...
Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
Hallo,
meiner Meinung nach wurde bei dem Video was du geteilt hast eine einfache Rauch-Textur verwendet, die über die Textur Koordinaten ein wenig verschoben wurde. Wenn du mehr "Dynamik" haben willst kannst du auch 2 Rauch Texturen verwenden und diese übereinander Blenden. Deine Farbigen Flächen hast du ja schon. Dort noch ein paar einfache Texturen drauf zu packen sollte relativ einfach sein. Zu Texturen findest du im Wiki eigentlich genug Artikel
Das Mandelbrot, war etwas bestehendes. Aber anstelle von diesem erzeugst du ein Plasma im Shader, kombinierst es mit den Lichtkegeln. In Google "plasma glsl" eingeben, dann findet man genügend Code für das Plasma.
Ich würde es wie gesagt raytracen, sieht bestimmt cool aus. Manche Leute machen echt abgefahrenes Zeug in einem einzelnen Pixelshader. Hier hat einer ne ganze Stadt in einen shader reingecoded: https://www.shadertoy.com/view/XdyyDV
_________________ "Pixel, ich bin dein Vater." -Darf Shader
Hier hat einer ne ganze Stadt in einen shader reingecoded:
Es ist schon gewaltig, was man alles mit GLSL machen kann.
Ich wollte den Shader-Code in mein Programm portieren, ich musste es um ein paar Uniform-Variablen ergänzen, und eine main() hinzufügen. Aber das ganze braucht zu viel Resourcen für meine Intel 4000 GPU. Das Ausgabefenster ist blockiert. Und der CPU-Lüfter bläst auch schneller.
Aber interessanterweise, die WEB-GL Version läuft, auch wen sie ein wenig stockt.
Nachtrag: Jetzt läuft es, ich hatte mit iResolution einen Fehler. Viel grösser wie das Bild im Anhang darf ich es aber nicht machen, ansonsten habe ich eine Dia-Show.
Und eine komischen Kachel-Effekt habe ich noch.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mitglieder in diesem Forum: 0 Mitglieder und 50 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.