Skip to main content

History: VolumeFuture

Preview of version: 1

Editing capabilities


The only serious way to create the 3D textures needed for the terrain I'm aware of, is Acropora 0. But this program is not free So an editor would be awesome. For this, a few parts are still missing: Some intersection with rays. For editing, intersection with the actual volume should be good which doesn't sound that hard. Also a way of updating the volume data during runtime is needed ("add sphere here coming from a brush"). And the third thing is the update of the chunks. A chunk needs some milliseconds (like... 15-25ms on my dualcore?) to be created, might be practicable or not, has to be tried. The biggest thing missing though is the ability to export the created volume. A serialization is needed which exports a 3D grid of density data. This will be done with clamped 16 bit floats and deflated so it won't be as big as a full blown 3D texture. And a way to (de-)serialize the editing-project is needed to save and load the world-project.

Marching Cubes 33


A next thing is a Marching Cubes 33 implementation. This would solve the problem that the normal Marching Cubes is internally ambiguous. Here is a public domain implementation of the over 750 needed table entries (0)! The homepage isn't very clear about the license, but I asked him via E-Mail and he confirmed. This would be optional as it will increase the loading time.

(0) - http://zeus.mat.puc-rio.br/tomlew/tomlew_uk.php#goodies

Paging


For real large worlds, paging is a must. The paged data could be the dualgrid or the actual meshes of the chunks. Also the volume source needs to be paged maybe, as it's not reasonable to hold a giant memory block of the texture data in memory. With procedural sources, this would work, as they naturally require not a lot of memory. Must be further investigated.

Multiple Materials


Currently, just one material for the whole volume can be used. To achieve better visuals, it would be great, if different textures in different areas could be used in the triplanar texturing. So a green island in the desert could be done. Transvoxel uses IDs stored beside the density values in the 3D grid which can be painted in the editor. The IDs reference a single texture in a texture array. This approach makes sense and could be adapted.

History

Information Version
Sun 10 of Mar, 2013 20:18 GMT-0000 philiplb 12
Sun 10 of Mar, 2013 18:38 GMT-0000 philiplb 11
Sun 10 of Mar, 2013 18:37 GMT-0000 philiplb 10
Wed 13 of Feb, 2013 21:39 GMT-0000 philiplb 9
Wed 13 of Feb, 2013 21:25 GMT-0000 philiplb 8
Wed 13 of Feb, 2013 21:17 GMT-0000 philiplb 7
Sun 10 of Feb, 2013 12:34 GMT-0000 philiplb 6
Sat 09 of Feb, 2013 19:18 GMT-0000 philiplb 5
Sat 09 of Feb, 2013 19:04 GMT-0000 philiplb 4
Mon 07 of Jan, 2013 21:47 GMT-0000 philiplb 3
Sun 06 of Jan, 2013 21:29 GMT-0000 philiplb 2
Fri 04 of Jan, 2013 16:08 GMT-0000 philiplb 1