suitabiliy to voxel terrain


07-03-2009 11:14:26

Hi all.

I'm creating terrain by a voxel approach similar to Gem3 ch1, the terrain is actually a planet and I create it in geometry shaders using a render volume that contains a representation of a density function, I create chunks and destroy old ones as the camera moves about, but spread out over a time frame, so the extents arn't constant.

What I'd like to do is place the vegetation based on some render volume data which holds things like density, slope, general slope and region. Also I'd like to set some kind of instance data for surface color and long range ambient occulsion, is this possible?

Having skimmed through PagingGeometrys examples it seems its written with height maps in mind, for example the height function, color maps and the tree loaders only having a yaw option, and the height function callback doesn't really work for me as I want to control the loading.

How hard would it be for me to add what I want? Is it just a page loader I'd need to write? or something much more? and in that case would you advise PagedGeometry over just using ogres instancing?


17-05-2009 13:28:15

PagedGeometry's only limitation here is that it organizes geometry in a 2D grid of LOD "pages", and to change this to a 3D grid if necessary would take a good amount of modification. So if your geometry generally is spread out like a blanked across a 2D surface (it doesn't have to be, but for best LOD handling it's best), it should work.

You would probably want to implement your own page loader for this. I'd recommend you read the custom page loader tutorial to get a feel for what integrating PG with your voxel engine would involve.