Ja, auf Voxel wird es herauslaufen, auch wenn ich bis dahin noch ein Weilchen brauchen werde. Marching Cubes hab ich bislang auf der CPU gemacht - dass man es auch auf der GPU machen könnte ist mir ehrlich gesagt noch nie in den Sinn gekommen. An deiner Implementierung hab ich daher definitiv Interesse. Wie gesagt, so weit bin ich aber noch nicht. Ich hoffe du hast nichts dagegen wenn ich dich irgendwann irgendwann in Zukunft deswegen mal anbettle, sobald das etwas konkreter wird :-)Du könntest einen bestimmten Höhenwert dazu benutzen zu markieren wo Löcher im Terrain sein sollen und an diesen Stellen dann Voxel Volumen einfügen die du mit dem Marching Cubes Algorithmus in Dreicke umwandeln könntest. Mit Geometry Shadern und Transform Feedback geht das recht flott auf der Grafikkarte. Mit Integer Arithmetik kannst du dann die Daten die aus dem Marching Cubes Algo rauskommen dann noch auf 30% komprimieren. Wenn du dir dann noch einen Speicherverwaltungsalgorithmus schreibst der jeden Vertexbuffer nur so groß machst wie auch tatsächlich benötigt wird kannst du nochmal einiges sparen. Ich hab eine kleine Marching Cubes Implementierung die allerdings nur komprimiert und die Vertexbuffer immer auf Maximalgröße allokiert weswegen dabei viel zu viel vram draufgeht, bei Interesse könnte ich dir die schicken. Ist aber in OpenGL geschrieben.
- Alex