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

Aktuelle Zeit: Sa Jul 12, 2025 07:43

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Partikelsystem mit FBO
BeitragVerfasst: So Dez 06, 2009 20:14 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 09:07
Beiträge: 112
Hallo,

Also ich komme gleich zu meinem Problem. Ich möchte gerade ein kleine Partikelsystem im Shader schreiben und hab mir gedacht ich könnte einen Fragmentshader schreiben der anhand zwei Texturen (Position und Geschwindigkeit) in zwei Texturen die neuen Werte rendert. Beim nächsten Durchlauf tausche ich die Texturen durch zwei andere aus und so soll das fortlaufen.
Für den Anfang wollte ich dann nur noch eine beliebige Anzahl von Gravitationspunkten von der Anwendung übergeben.

So viel zur Theorie... Jetzt stehe ich vor dem Problem dass ich in meinem FBO genauere Datentypen verwenden will als RGBA8. Also hab ich die Textur mit GL_RGB32F_ARB erstellt. Nur wenn ich diese Textur nach der Befüllung durch den Fragment Shader rendere kommen ganz seltsame Farben auf das Fenster und es zuckt auch alles herum.

Hat da jemand eine Idee wie ich das lösen kann?


P.S. das Tutorial im Wiki über ein GLSL Partikelsystem hab ich mit schon angesehn, nur kenne ich TBOs nicht und versteh nicht ganz wie das Funktioniert...

Danke schon im Voraus!
Andreas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Partikelsystem mit FBO
BeitragVerfasst: So Dez 06, 2009 22:19 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
P.S. das Tutorial im Wiki über ein GLSL Partikelsystem hab ich mit schon angesehn, nur kenne ich TBOs nicht und versteh nicht ganz wie das Funktioniert...

TBOs sind nicht anderes als 1D-Texturen auf die man direkt mit Integer-Koordinaten zugreifen kann. Diese sind geringfügig schneller als normale Texturen, da eben keine lineare Interpolation durchgeführt, sondern einfach nur der Inhalt der Speicherstelle zurückgegeben wird.
Wenn auf deiner Grafikhardware keine TBOs verfügbar sind kannst du dafür auch einfach eine gewöhnliche 2D-Textur benutzen und die Koordinaten im Shader umrechnen. Der Unterschied ist eben das du im Shader die 1D-Koordinate im Shader in 2D umwandelst und die Hardware dies dann wieder in 1D zurück wandelt => sinnloses rumrechnen. Außerdem kann man mit Transform-Feedback in TBOs schreiben und TBOs auch nach belieben auch einfach als VBO verwenden.

Es gibt übrigens zwei GLSL Partikel Artikel:
GLSL_Partikel: Die alte Variante mit FBOs und Fragmentshader (genau das was du machen willst)
GLSL_Partikel_2: Die neue mit Geometryshader und Transformfeedback (vermutlich das was du gelesen hast, den da werden auch TBOs verwendet)

Zitat:
Nur wenn ich diese Textur nach der Befüllung durch den Fragment Shader rendere kommen ganz seltsame Farben auf das Fenster und es zuckt auch alles herum.

Zeig mal etwas von deinem Code, sonst kann dir niemand helfen.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Partikelsystem mit FBO
BeitragVerfasst: Mi Jan 06, 2010 18:56 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 09:07
Beiträge: 112
Sorry für die späte Antwort...

Ich habs jetzt geschafft es warn ein paar blöde Fehler drin und deswegen hat das ganz nicht funktioniert.
Sehr interessant finde ich dass ich auf meinem laptop (nv m8600 gt) 1 Mil. Partikel schaffe mit 40 fps.
Ich versuch das grade in ein .jar zu packen dass ihr es auch testen könnt, wenn ich dann einmal geschafft hab werd ich mich nocheinmal melden.


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


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.007s | 16 Queries | GZIP : On ]