#1 18.03.2006 15:01:26

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Partikelsystem

Also ich bastel mal wieder nebenbei an einer Engine. Ich will einige Probleme in der EWAIN.e-Engine ausmerzen...derzeit habe ich jedoch noch ein kleines Problem mit den Partikeln. Zunächst sollten natürlich nach Möglichkeit nur die sichtbaren Partikel gerendert werden. Das ist nur das kleinere Problem. Das andere Problem ist die Z-Sortierung der Partikel:

Methode 1:
Ich rendere zumindest alle transparenten Objekte (dazu gehören die Partikel) von hinten nach vorne rendern damit die Transparenz stimmt. Dabei kann ich dann aber ggf. nicht mehr alle Partikel aufeinmal rendern, was ziemlich lahm wäre! Ich müsste die Partikel also irgendwie optimal in Gruppen aufteilen.

Methode 2:
Ich versuche den Transparenz-Effekt irgendwie zu faken. Also die transparenten partikel werden nachträglich in den bereits gerenderte Scene eingebastelt. Das gibt Probleme sobald sich Partikel z.B. hinter eine Glasscheibe befinden.

Hat jemand Ideen dazu?

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#2 18.03.2006 17:01:15

DerPeer
GodlikeMember
Ort: Berlin
Registriert: 04.02.2005
Beiträge: 1291

Re: Partikelsystem

Hm. Die Sichtbarkeit via VFD könnte man noch in den Vertex Shader packen, oder? Wenn nicht sichtbar, dann irgendwo hin transformieren, wo .... ääää... hm... achso...
Du willst, dass die gar nicht erst im VS ankommen, oder?
Dann müßtest Du für jeden einzelnen ne VFD-Bedingung machen, was Unsinn ist. Da würde ich Gruppen empfehlen.

Die Z-Sortierung find ich auch immer doof.
Vielleicht gibt´s einen Weg, das komplett im VS/PS zu machen, also die Physik in ne Textur zu packen, und dort dann das Sortieren vorzunehmen.
Wahrscheinlich geht das so nicht, aber naja.

Bei Partikeln ist immer doof, dass man einerseits die CPU braucht, andererseits es immer sehr viele Partikel sind, weshalb man ERST RECHT die CPU außen vor lassen sollte.

Ich habe also keine Idee für Dich, tut mir leid.

Peer

Offline

 

#3 18.03.2006 17:13:28

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Partikelsystem

Also ich muss sowieso die Partikel in Gruppen einteilen, damit ich z.B. für weit entfernte Staubwolke die ganze Physik usw. gar nicht erstberechne.

Für die Sichtbarkeit ist es vermutlich am besten zunächst die Gruppe zu testen, dann alle Partikel der Gruppe einzeln auf Sichtbarkeit. Mit dem http://www.delphidev.de/phpBB2/viewtopic.php?t=932 geht das ziemlich schnell, sind nur drei If-Bedinungen.
Wie gesagt, dass ist das kleinere Problem.

Die Z-Sortierung ist das eigentliche Problem, und ohne geht es nicht! Wo und wie ich das mache ist erstmal egal, es muss nur am besten in einem einizgen Draw-Call gehen!
Ich werd jetzt nochmal nach ein paar Artikeln suchen, vielleicht werde ich ja fündig. smile

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#4 20.03.2006 20:27:50

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Partikelsystem

Hm, also ich hatte jetzt etwas gefunden, aber der Link zum Source ist leider down.... :?
http://www.zfx.info/DisplayThread.php?MID=29084


My software never has bugs. It just develops random features.

Offline

 

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson