Zur Noisefunktion: Ist vielleicht schneller, sieht aber nicht sehr geschmeidig aus. Dynamic Branching: wollt ich mir auch was dazu überlegen. Octrees hab ich mir auch angeschaut, dachte dann aber, dass es nicht geht, weil die Geometrie vom Shader verändert wird. Also ich dachte, dass die Geometie irgendwie im Hauptspeicher sein muss, um Octrees anzuwenden, hab aber keine Ahnung. Der Vertexshader hat doch von den anderen Vertices keine Ahnung, weis also nicht ob was im Weg ist, und um die komplette Geometrie zu überprüfen, müsste ja schon jeder Vertex durch den Shader gelaufen sein, oder hab ich da was falsch verstanden?
_________________ "Pixel, ich bin dein Vater." -Darf Shader
zum code: An der entsprechenden Stelle heisst es einach: ... V.y += texture2D(Texture1,tc1).x + texture2D(Texture2,tc2).x ... ... wobei die texcoords von Ort und Zeit abhängen. Da fällt mir auf: Ich fetche immer nur einen Wert der Graustufen-Textur. Kann man den Texturfetch in glsl irgendwie optimieren, so dass der Shader weiß, dass die Textur nur einen Wert pro Koordinate hat, oder geht das automatisch, wenn ich im Hauptprogram mit glTexImage2D das richtige Format festlege.
_________________ "Pixel, ich bin dein Vater." -Darf Shader
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Gibt es die möglichkeit, die Texturen zu einer Textur zu kombinieren, und zwar so, dass du nur einen Read brauchst?
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my 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
Hab ich mir auch überlegt, aber da die verschiedenen Texturen mit unterschiedlichen Geschwindigkeiten und Skalierungen gegeneinander laufen sollen, müsste die Textur sehr groß sein, um seamless zu sein, glaub ich.
_________________ "Pixel, ich bin dein Vater." -Darf Shader
Registriert: Mi Nov 30, 2011 21:41 Beiträge: 136 Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Mit einem FBO dürfte das aber nicht so lange dauern -> eigentlich würde das Zeichnen eines Quads mit Multitexturing genügen. Wenn es letztendlich sowieso nur zu einer Heightmap hinauslaufen soll, kann dein FBO dann auch nur in Graustufen sein. Und das mit dem Octtree, wenn es sich um eine Wasseroberfläche handelt, dann wird ja wahrscheinlich nur in Y-Richtung (oben und unten) verändert, das kann zwar reintheoretisch Probleme verursachen, die werden sich allerdings gering halten und zur Not zeichnest du halt den Teil vom Octree auch, wenn er nur fast drin liegt, z.B. auch bei einem Abstand von 1, dann dürften garkeine Probleme mehr auftreten. Und du brauchst beim Octree nicht deine gesamte Geometrie im RAM, es reicht lediglich zu wissen welche VBOs, Displaylisten (allgemein Objekte) sich innerhalb eines Teilparts aufhalten. Bei Terrainen schneidet man am Anfang das Terrain halt so in VBOs auf, das jedes in einem Teil des Octtrees sitzt, nur in diesem Teil brauchst die Geometrie im RAM, aber nicht dauerhaft.
Ich muss diesen Thread mal auffrischen, da ich mich gefragt hab, ob es nicht schneller sein könnte, das VBO im Hauptprogramm zu updaten. Habe bisher nur mit statischen VBOs gearbeitet, hab daher keine Vorstellung, wie schnell das ginge. Wenn ich meine fertige H-Map als Textur vorliegen habe, kann ich dann damit irgendwie direkt das VBO updaten oder müssen die Daten erst in den Hauptspeicher? Ich habe auch überlegt, statt mehreren vorberechneten H-Maps eine FFT auf der GK zu implementieren, das würde ich in einem Fragmentshader realisieren. Um die Vertices dann aktualisieren zu können, fällt mir allerdings auch nur der Weg über texturfetch ein.
_________________ "Pixel, ich bin dein Vater." -Darf Shader
Mitglieder in diesem Forum: 0 Mitglieder und 19 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.