Skip to main content

History: VolumeChunkParameters

Preview of version: 3

Core of loading a volume is the struct called ChunkParameters. As this controls all aspects like the LOD, it deserves it's own article with detailed descriptions of the concepts and how the parameters are connected.

Loading Parameters


This parameters control what and how the ChunkTree loads.

SceneManager *sceneManager


As the single Chunks are tied to SceneNodes which must be created, the loading process needs the current SceneManager.

Source *src


The source of the density data, see Detailed Source Description

bool async


If this flag is set to true, the call to load doesn't wait for all Chunks to be finished, but instantly returns. To react on the finished ChunkTree, a MeshBuilderCallback has to be used.

MeshBuilderCallback *lodCallback


An interface to be called on loading single Chunks. Example usages are to hand over the triangle data to a physics engine or to display a loading progress bar.

Real scale


The resulting total volume mesh might be highly detailed and the resulting meshes can be scaled quite a bit. For example a GridSource could have 256*256*256 values representing a 512*512*512 volume. But that doesn't mean that the resulting mesh has to stay in that size. It can have enough details to be scaled by a factor of 10 or more.

size_t createGeometryFromLevel


In some use cases, the camera might be always close to the volume mesh, think of an Ego-Shooter on terrain for example. So there is no need to load the really low resolution LOD levels as the camera never moves far enough away so they get displayed. With this parameter, the loading of them can be skipped.

LOD Parameters

Real baseError

Real errorMultiplicator

Real skirtFactor

Real maxScreenSpaceError

Updating parts of the ChunkTree

Vector3 updateFrom

Vector3 updateTo

Debug Parameters

bool createOctreeVisualization

bool createDualGridVisualization

History

Information Version
Sat 27 of Jul, 2013 00:00 GMT-0000 philiplb 10
Fri 26 of Jul, 2013 23:41 GMT-0000 philiplb 9
Fri 26 of Jul, 2013 23:41 GMT-0000 philiplb 8
Fri 26 of Jul, 2013 23:40 GMT-0000 philiplb 7
Fri 26 of Jul, 2013 23:35 GMT-0000 philiplb 6
Fri 26 of Jul, 2013 23:33 GMT-0000 philiplb 5
Fri 26 of Jul, 2013 23:29 GMT-0000 philiplb 4
Fri 26 of Jul, 2013 23:11 GMT-0000 philiplb 3
Fri 26 of Jul, 2013 23:08 GMT-0000 philiplb 2
Fri 26 of Jul, 2013 22:46 GMT-0000 philiplb 1