|
|
constexpr auto | voxel::gpu::gridIndex (glm::uvec3 dims, glm::uvec3 brick) noexcept -> uint32_t |
|
constexpr auto | voxel::gpu::coarseDims (glm::uvec3 brick_dims) noexcept -> glm::uvec3 |
|
auto | voxel::gpu::packPool (const BrickPool &pool) -> PackedPool |
| | Packs up to the highest slot ever handed out.
|
| void | voxel::gpu::packOccupancyWords (const BrickOccupancy &occupancy, uint32_t *out) |
|
constexpr auto | voxel::gpu::subBrickBit (glm::uvec3 local) noexcept -> uint32_t |
| | Bit of local in its sub-brick.
|
|
constexpr auto | voxel::gpu::subBlockShift (glm::uvec3 local) noexcept -> uint32_t |
| | k_sub_block_mask shifted by this covers the 2x2x2 block holding local
|
|
auto | voxel::gpu::packScene (std::span< const SceneVolume > volumes) -> PackedScene |
|
auto | voxel::gpu::packLayout (std::span< const SceneVolume > volumes) -> SceneLayout |
|
auto | voxel::gpu::layoutMatches (const PackedScene &retained, const SceneLayout &layout) -> bool |
| | A patch only stands in for a full pack while this holds.
|
| auto | voxel::gpu::computePatch (PackedScene &retained, uint32_t retained_pool_slots, const BrickPool &pool, std::span< const SceneVolume > volumes, std::span< const VolumeDirty > dirty, std::span< const uint32_t > appended, uint32_t first_new_palette_word) -> ScenePatch |
|
void | voxel::gpu::applyPatch (PackedPool &pool, PackedScene &scene, const ScenePatch &patch) |
| | Applies a patch the way the GPU copies do.
|
|
auto | voxel::gpu::patchWords (const ScenePatch &patch) -> size_t |
|
auto | voxel::gpu::sampleMaterial (const PackedPool &pool, const PackedScene &scene, uint32_t volume, glm::ivec3 voxel) -> uint8_t |
| | The sample functions mirror the voxel_dda.slang fetches.
|
|
auto | voxel::gpu::sampleSolid (const PackedPool &pool, const PackedScene &scene, uint32_t volume, glm::ivec3 voxel) -> bool |
|
auto | voxel::gpu::pooledSubBrick (const PackedPool &pool, uint32_t slot, glm::uvec3 local) -> uint64_t |
| | Sub-brick of pooled slot holding local with bit subBrickBit.
|
|
auto | voxel::gpu::sampleCoarse (const PackedScene &scene, uint32_t volume, glm::ivec3 cell) -> bool |
|
auto | voxel::gpu::samplePaletteEntry (const PackedScene &scene, uint32_t volume, uint8_t index) -> PaletteEntry |