ne ne, eine richtige Fluidsimu brauch ich da nich, hier geht es um eine Simulation einer Steuerung von Wasseranlagen. Je realistischer je schöner, aber kollisionen sind da weniger wichtig. Hauptsache die Fontänenleistung und Beleuchtung stimmen ungefair. Ich hatte gehofft irgendwie mit hilfe der generierten Partikel-Vertexe ein Mesh zu erzeugen.. Allerdings ist hier das problem, das der Wasserstrahl auch mit einem Ventil unterbrochen werden kann. Also muss man auch feststellen wann ein Partikel das "letzte" war.. und dann ggf. ein neues Mesh anfangen
achso dazu vielleicht noch die info, das ich nicht an alte rechnersysteme gebunden bin. Also dafür gebraucht wird, wird vorrausgesetzt... z.b. OpenGL 4
also ich brauch hauptsächlich realistisch aussehende Fontainen... Quasi wie auch ein Wasserfall in Spielen wie Crysis.. die haben doch da auhc nurn paar Partikel.. doch wie bekommen die da eine passende, sich entsprechend verändernde Textur drauf?
Also ich würde sagen, du solltest dich von der Vorstellung trennen, dass du so viele Partikel im späteren "Gesamtpaket" performancemäßig unterbringen kannst. Wie du selbst schon erkannt hast, gehen akzeptable Sachen auch mit weniger Partikeln. Zudem sollte man auch noch sagen, dass man (da du ja ältere Hardware nicht unterstützen brauchst) mittlerweile sehr schöne Möglichkeiten über Vertex Attributes und Geometry Shader hat, um ein Partikelsystem ohne "Tricks" auf der GPU effizient laufen zu lassen (zumindest solange es keine größeren Anforderungen an die Physik wie z.B. Kollision gibt). So würde es z.B. reichen, wenn du in deinem VBO die Partikelposition, Größe, Alter und Geschwindigkeit speicherst (oder was du halt so brauchst). Über den Geometry Shader machst du deine Positionsberechnung und emittest die Quadvertices drum herum (als triangle strip sind das 4 vertices pro Partikel).
Um den Anschein zu erwecken, dass viel mehr Partikel im Spiel sind, kannst du einfach entsprechende Texturen verwenden, und am besten animieren. Wie du an die Textur kommst? Ganz einfach: FBO basteln und sozusagen einen "Fontainenteil" mit z.B. 100 Partikeln rendern. Am besten siehts dann aus, wenn du die einzelnen Texturen überblendest, wodurch im Geometry Shader nochmal 2 Vertices dazukommen. Deine Textur besteht dann aus einer Zeile aus vielen Texturen, die der Reihe nach deine Animation ergeben. Die Texturkoordinaten kannst du ebenfalls im Geometry Shader berechnen.
Beleuchtungstechnisch habe ich bei FireBlade standardmäßig die vier Normalen als "Kissenförmig" angeordnet. Aufpeppen kannst du das noch mit Normalmapping. Oder wenn du wirklich Volumen willst, schau dir folgendes Paper mal an: http://www.antisphere.com/Research/VolumetricBillboards.php
Ich schätze ein Mesh müsstest du komplett anders angehn. Da wären vielleicht sog. Metaballs was für dich (sollte man genug bei Google finden).
MfG
_________________ I'm not the signature, I'm just cleaning the floor...
Mitglieder in diesem Forum: 0 Mitglieder und 11 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.