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

Aktuelle Zeit: Fr Jul 18, 2025 08:16

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Feb 19, 2010 14:26 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

wie der Titel schon sagt such ich eine Möglichkeit Raketenantriebe und Partikel von Energiewaffen darzustellen. Das ganze sollte sich ja eig. über Sprites bzw. Partikel realisieren lassen. Aber irgendwie steh ich grad bisl aufm Schlauch, wie setzt man das am bessten um? Wie realisiert man es, das ein Sprite immer zur Kamera schaut?
Ich hab auch schon mit dem Gedanken gespielt mich in Fireblade einzuarbieten, aber auf den 1. Blick is mir das zu komplex und is den Aufwand einfach nicht Wert. Vlt sollt ich auch nochmal einen 2. drauf werfen...
Was meint ihr zu der Sache?

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Feb 19, 2010 15:29 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 04, 2008 21:29
Beiträge: 419
Wohnort: Lübeck
Billboarding ist das gesuchte Wort. Hab da mal zwei vernünftige Links zu raußgesucht:

http://www.lighthouse3d.com/opengl/billboarding/index.php?billInt

http://www.flipcode.com/archives/Billboarding-Excerpt_From_iReal-Time_Renderingi_2E.shtml

Hab das mal anhand der beiden Seiten bei mir vor einiger Zeit umgesetzt und das hat echt klasse funktioniert.

Edit: http://nehe.gamedev.net/data/articles/article.asp?article=19, das ist auch sehr gut geeignet.

_________________
Klar Soweit?


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Feb 19, 2010 15:38 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Ähm, einfach GL_POINTS rendern. Dann kümmert sich die Grafikkarte selbst um die Ausrichtung. Du musst nur das Zentrum und die Größe jedes Partikels angeben, die Vertices und Texturkoordinaten (*) werden von der Grafikkarte generiert.

(*) Für Texcoords musste man irgendwas aktivieren, ich glaube das war glTexEnv(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE)

Hier im Wiki gibt es übrigens so einiges zu Partikeln.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Feb 19, 2010 17:03 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hier im Wiki gibts auch was zu Billboards!

Es gibt dann 2 spezialisierte Subartikel zu diesem Thema.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Feb 19, 2010 18:56 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

Danke. Da weiß ich ja jetzt wies weitergeht. Material dazu hab ich ja erstmal genug :P
Wenn sich irgendwelche Fragen bei der implementierung auftun meld ich mich nochma...

MfG & Thx Bergmann

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Mai 22, 2010 03:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

ich muss das Thema nochma ausgraben. Wie das mit dem Billboarding funktioniert weiß ich ja jetzt, aber ich würd gern so nen Effekt wie in diesem Bild haben. Das Bild is aus dem Tutorial über Billboarding von oben, also muss es ja irgendwie damit gehen. Jemand ne Idee, wie ich das anstellen kann? Meine Idee dazu wäre ein auf die Kamera ausgerichtetes QuadStrip, welches ich dann mit nem Blur Shader in nem FBO Speicher. Sowas stand auch in dem Tutorial, aber ich hab leider nix genaueres dazu gefunden. Hat vlt jmd ne Seite wo das nochma genauer erklärt wird?

MfG & Thx Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Mai 22, 2010 11:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Nimm dir einfach viele Partikel mit einer Textur, die von innen nach außen radial von weiß zu schwarz verläuft und gib ihnen eine Farbe, die etwas von allem enthält, z.B. (1.0, 0.3, 0.1) für einen Rotton. Damit kannst du so einen Effekt erzeugen. In einem Fall habe ich das so gemacht, dass es einen "Leitpartikel" gibt, der sich auf seiner Bahn gemäß der einwirkenden Kräfte bewegt (z.B. Schwerkraft etc), und im Abstand von 0.1s einen gleichen Partikel spawnt, der aber nicht von Kräften beeinflusst ist (sodass es eine art "Leuchtspur" gibt). Diese Partikel verschwinden dann nach einer Zeit (1s z.B.) und werden diese Zeit über dunkler.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy 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


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Mai 22, 2010 14:10 
Offline
DGL Member

Registriert: Do Mai 20, 2010 10:54
Beiträge: 10
Programmiersprache: C/C++
Vielleicht hilft dir auch das Programmbeispiel unter

http://www.spieleprogrammierung.net/2010/03/opengl-3-billboard-rendering-ki-pattern.html

weiter - Asteroiden und Ufos (Billboard-Objekte) in einer kleinen Weltraum-Szene.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Mai 23, 2010 00:52 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

@Lord Horazont: wenn ich das mit mehreren Partikeln mache, dann werden bei großen Geschwindigkeiten die einzellnen Partikel sichtbar und das sieht unschön aus. Wenn man das verhindern will muss man mehr partikel rendern un das geht gehörig auf die Rechenzeit. Gibts kein anderen Weg?

@AlexMaRu: Das ist zwar gutes Material, wenn es um normale Billboards geht, aber eine Lösung für mein Problem hab ich da nicht gefunden.

MfG & Thx Bergmann

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Mai 23, 2010 01:21 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Wenn du zusammenhängende Partikelstreifen haben willst, musst du die Erzeugung von der zurückgelegten Strecke abhängig machen anstatt von der Zeit. Dazu kannst du gegebenenfalls Subframe Sampling betreiben, d.h. wenn die Strecke, die der Partikel in der Zeitspanne zurückgelegt hat größer ist als der Abstand zwischen zwei zu erzeugenden Partikeln, erzeugst du diese in eben diesem Abstand auf einer Strecke zwischen der alten Position und der neuen Position des "Mutterpartikels".
Vorsicht: Wenn der Rechner unter zu vielen Partikeln zusammenbricht kann das Subframe Sampling schnell nach hinten los gehen. Dafür dann gebenenfalls ein Maximum an nicht-Mutterpartikeln festlegen, damit du den Rechner nicht in den Suizid treibst.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy 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


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Mai 23, 2010 09:39 
Offline
DGL Member

Registriert: Do Mai 20, 2010 10:54
Beiträge: 10
Programmiersprache: C/C++
Also wenn du einen Partikelstreifen rendern möchtest, dann könntest du alternativ auch ein langgezogenes Decal-Kreuz verwenden.
Im Spiel "Haegemonia" wurden auf diese Weise die Explosionseffekte erzeugt. Wenn du darüber hinaus die Partikeltextur wechselst oder unterschiedliche Texturausschnitte auf das Decal mappst, kannst du das Partikel auch animieren.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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.008s | 16 Queries | GZIP : On ]