|
| VctImageVoxelizer (IdType id, RenderSystem *renderSystem, HlmsManager *hlmsManager, VoxelizedMeshCache *meshCache, bool correctAreaLightShadows) |
|
virtual | ~VctImageVoxelizer () |
|
void | addItem (Item *item) |
| Adds an item to voxelize.
|
|
void | autoCalculateRegion (void) |
| Does nothing if VctImageVoxelizer::setRegionToVoxelize( false, ... ) was called.
|
|
void | build (SceneManager *sceneManager) |
|
void | buildRelative (SceneManager *sceneManager, const int32 diffX, const int32 diffY, const int32 diffZ, const uint32 numOctantsX, const uint32 numOctantsY, const uint32 numOctantsZ) |
| If the camera has moved by 1 voxel to the right (i.e.
|
|
void | dividideOctants (uint32 numOctantsX, uint32 numOctantsY, uint32 numOctantsZ) |
|
void | forceFullBuild (void) |
|
TextureGpu * | getAlbedoVox (void) |
|
VctVoxelizerSourceBase::DebugVisualizationMode | getDebugVisualizationMode (void) const |
|
TextureGpu * | getEmissiveVox (void) |
|
HlmsManager * | getHlmsManager (void) |
|
IdType | getId () const |
| Get the unique id of this object.
|
|
TextureGpu * | getNormalVox (void) |
|
RenderSystem * | getRenderSystem (void) |
|
TextureGpuManager * | getTextureGpuManager (void) |
|
Vector3 | getVoxelCellSize (void) const |
|
Vector3 | getVoxelOrigin (void) const |
|
Vector3 | getVoxelResolution (void) const |
|
Vector3 | getVoxelSize (void) const |
|
bool | operator() (const IdObject &left, const IdObject &right) |
|
bool | operator() (const IdObject *left, const IdObject *right) |
|
void | removeAllItems (void) |
| Removes all items added via VctImageVoxelizer::addItem.
|
|
void | removeItem (Item *item) |
| Removes an item added via VctImageVoxelizer::addItem.
|
|
void | restoreSwappedVoxelTextures (void) |
| Swaps mAlbedoVox & mAlbedoVoxAlt (and co.) if needed back to their originals.
|
|
void | setDebugVisualization (VctVoxelizerSourceBase::DebugVisualizationMode mode, SceneManager *sceneManager) |
|
void | setRegionToVoxelize (bool autoRegion, const Aabb ®ionToVoxelize, const Aabb &maxRegion=Aabb::BOX_INFINITE) |
| Call this function before VctImageVoxelizer::autoCalculateRegion.
|
|
void | setSceneResolution (uint32 width, uint32 height, uint32 depth) |
| Changes resolution.
|
|
The image voxelizer aims to be faster than VctImageVoxelizer for the whole scene by following a different approach:
1. For each single mesh, use VctImageVoxelizer to keep a voxelized texture version and
save it to disk
2. At build time, VctImageVoxelizer builds the voxel of the whole scene
by iterating each mesh using those cached texture versions like a collage.