You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.3 KiB
Plaintext
62 lines
1.3 KiB
Plaintext
2 weeks ago
|
/******************************************************************************/
|
||
|
/*
|
||
|
Project - MudBun
|
||
|
Publisher - Long Bunny Labs
|
||
|
http://LongBunnyLabs.com
|
||
|
Author - Ming-Lun "Allen" Chou
|
||
|
http://AllenChou.net
|
||
|
*/
|
||
|
/******************************************************************************/
|
||
|
|
||
|
#ifndef MUDBUN_VOXEL_DEFS
|
||
|
#define MUDBUN_VOXEL_DEFS
|
||
|
|
||
|
#ifdef MUDBUN_IS_COMPUTE_SHADER
|
||
|
bool enable2dMode;
|
||
|
#endif
|
||
|
|
||
|
bool forceAllBrushes;
|
||
|
|
||
|
struct VoxelNode
|
||
|
{
|
||
|
float3 center;
|
||
|
float sdfValue; // only for leaf nodes
|
||
|
int iParent;
|
||
|
int iBrushMask;
|
||
|
uint key;
|
||
|
int padding;
|
||
|
};
|
||
|
|
||
|
#ifdef MUDBUN_IS_COMPUTE_SHADER
|
||
|
RWStructuredBuffer<VoxelNode> nodePool;
|
||
|
#else
|
||
|
StructuredBuffer<VoxelNode> nodePool;
|
||
|
#endif
|
||
|
|
||
|
uint nodePoolSize;
|
||
|
#ifdef MUDBUN_IS_COMPUTE_SHADER
|
||
|
RWStructuredBuffer<int> aNumNodesAllocated; //(total, L0, L1, ..., voxels)
|
||
|
#else
|
||
|
StructuredBuffer<int> aNumNodesAllocated; //(total, L0, L1, ..., voxels)
|
||
|
#endif
|
||
|
uint chunkVoxelDensity;
|
||
|
|
||
|
int currentNodeDepth;
|
||
|
int currentNodeBranchingFactor;
|
||
|
int maxNodeDepth;
|
||
|
float currentNodeSize;
|
||
|
|
||
|
float voxelSize;
|
||
|
uint voxelTreeBranchingFactorsCompressed;
|
||
|
float4 voxelNodeSizes;
|
||
|
|
||
|
uint4 get_voxel_tree_branching_factors()
|
||
|
{
|
||
|
uint4 factors = 1;
|
||
|
unpack_8888(voxelTreeBranchingFactorsCompressed, factors.x, factors.y, factors.z, factors.w);
|
||
|
return factors;
|
||
|
}
|
||
|
|
||
|
#endif
|
||
|
|