Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 15, 2025 13:36

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Blitzeffekt ?
BeitragVerfasst: Sa Nov 08, 2003 21:33 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Kennt eigentlich jemand einen halbwegs intuitiven Algorithmus um einen netten Blitzeffekt zu erzeugen?
Im Internet habe ich auf die Schnelle nichts wirklich Brauchbares gefunden - und bevor ich jetzt anfange selbst einen Algorithmus zu entwickeln (wenn man eine Gerade rekursiv in Abschnitte unterteilt und diese variiert, müsste es eigentlich halbwegs gut aussehen) frage ich mal lieber nach, ob ich mir da nicht zuviel Arbeit antun würde.
Da das Ganze ja auch noch eingefärbt und sinnvoll übergeblendet werden will - und dabei auch noch halbwegs performant sein soll - könnte das durchaus komplexer werden.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Nov 08, 2003 22:21 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
kommt drauf an, was du für einen blitz haben willst. wenn du eine art blitz haben willst, wie er bei einem gewitter entsteht, würde ich das mit punkten machen, die du dann verbindest. du legst dir eine art binäre baumstruktur im speicher an. jeder knoten hat einen punkt und zwei mögliche äste. die punkte musst du halt je nach bedarf die blitzrichtung entlang legen. manchmal wird verzweigt manchmal nicht - sollte über parameter bei der erzeugung irgendwie mit einstellbar sein - so meine idee dazu.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Nov 08, 2003 22:38 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Eigentlich möchte ich eher Funken haben, die ich an bestehender Geometrie entlang laufen lassen kann, bzw. zwischen zwei Polen aufspannen - soll heißen, das Ganze müsste auch noch halbwegs kontrollierbar bleiben.
Wenn das erst mal gut klappt, kann man dann auch mit Ketten von Polen komplexere Geometrie "elektrifizieren".

Ein verzweigter "echter" Gewitterblitz ist natürlich auch interessant - den könnte man auch genau nach deinem Algorithmus machen, zumal hier die Performance auch nicht soo wichtig ist, als wenn dauernd etwas in Gegend herumbritzelt (ist ja eher unwahrscheinlich, dass ein Blitz mal länger anhält). Wäre auf jeden Fall was für ein Terraindemo :idea: .

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Nov 08, 2003 22:53 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
das ginge vielleicht sogar so ähnlich. du legst eine zahl kontrollpunkte zwischen den polen fest. du legst sie anfangs genau auf die linie, die beide pole direkt verbindet. bei jedem bild verschiebst du die kontrollpunkte ein wenig(die weite ist sicher ein nettes schräubchen zum drehen)und kümmerst dich gleichzeitig darum, dass sie einen vorgegebenen Raum nicht verlassen. Gibt sicher ein ganz nettes gezucke.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 09, 2003 11:57 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Sieh mal hiernach. Der oberste Eintrag könnte helfen, oder?

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 09, 2003 13:01 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Danke für den Link.
Jan Horn unterteilt einfach die Linie in gleichmäßige Segmente, deren Endpunkte dann in der y-Komponente variiert werden. Das ist zwar einfach zu programmieren, schaut aber IMHO nicht besonders echt aus.
Wenn niemand einen besseren Vorschlag hat, werde ich es doch so machen, dass für einen Funken zwei Punkte (Pole) angegeben werden können, der Effekt unterteilt die so erhaltene Strecke dann zufällig rekursiv und variiert die erhaltenen Punkte in x,y und z.
Parameter wären:
* minimale und maximale Rekursionstiefe der Segmente
* minimale und maximale Abweichung der neu erhaltenen Punkte in x,y und z (relativ zu folgender Strecke: Distanz zwischen Polen / Rekursionstiefe).

Das konkrete Aussehen des Funkens (Farb- und Blend- parameter, evtl. Texturen) muss ich mir noch überlegen.

Sollte etwas Ansehnliches dabei heraus kommen, stelle ich eine entsprechende Demo online (kann allerdings etwas dauern, da andere Sachen zur Zeit höhere Priorität haben).

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 09, 2003 16:38 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Es gibt in der GLScene eine Demo für Blitze zwischen 2 Punkten. Habe es mir aber nicht genauer angesehen, das Demo so jedenfalls nicht schlecht aus.

Bild

Durch die Verwendung der GLScene - Komponenten wird es schwieriger herauszubekommen, wie der Effekt erzeugt wird.

Gruß
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 09, 2003 16:59 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Ja, das schaut ganz gut aus - insbesondere der Glow-Effekt gefällt mir. Den werde ich auch versuchen hineinzubekommen.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 09, 2003 18:48 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 29, 2002 10:37
Beiträge: 251
Wohnort: Ulm
hi :)

also ich würde das so machen, dass ich die strecke in n teile unterteile (n sei dir überlassen), allerdings nicht regelmäßig sondern zufällig (also z.B. ist die strecke 5 LE lang, du willst n=5, dann kann z.B. die länge zwischen 0.6 und 1.4 variieren oder sowas..) und schließlich kannst du noch sagen, der immer nächste wert darf nicht weiter als irgendein wert vom vorangegangenen sein..

gruß
rochus

_________________
http://www.rochus.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 09, 2003 19:19 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Fixe Anzahl von Segmenten ist nicht so gut, glaube ich- der rekursive Ansatz mit Variation sollte bessere Ergebnisse liefern, da jede Rekursionsebene sich an der Lager der Punkte der vorherigen Stufe orientiert - damit ist gewährleistet, dass benachbarte Punkte nicht zu sehr voneinander abweichen - ein Blitz oder Funke ist ja nicht völlig unstrukturiert (einen ähnlichen Ansatz verwendet z.B. Terragen bei der Erstellung von Landschaften).

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 14 Queries | GZIP : On ]