Voxel
Overview
I. Storage
- Runtime Store (Memory)
运行时 体素内存方案, 包括 Chunks(UniformGrid), SVO(Pointerless), SDF - Persistent Store (Disk)
存盘时 体素存储方案,包括Palette, RLE, NBitArray,KeyValueDB, IO Region. - Extendable Id System
高扩展&性能良好的ID系统, 可肆意插入新id 不造成冲突且数字id紧密有序排列。结合StrId永久全局ID和NumId运行时临时Id。 - Unaligned Voxel Systems (Multi, Dynamics Support)
非轴对齐的体素系统,可缩放旋转 实现精细雕塑、建筑,甚至体素生物。6DOF动力学物理碰撞支持。
II. Rendering
- LoD
降采样生成Mesh、空间划分八叉树、缓存LoD与更新、网络同步方案。 - Culling
Chunks连通性剔除、 - Ray Marching
64叉树加速结构 DDA加速RayBoxTest&遍历 GPU内存精简 - Isosurface
平滑表面生成;SurfaceNets, Dual Contouring, Marching Cubes, Transvoxel 算法 - Voxel Global Illumination
针对体素的全局光照方案
III. Simulating
- Flooding
液体流淌 MC基本款,或Noita窍门款,或John Lin的水压款。 - Lighting
包含像MC那样的天光、点光源传播方法。 - Connectivity
断裂检测 - Fire Spread
火焰传播 - Explosion
爆炸类型 强度与形状 - Voxel Collision Detection
体素碰撞检测。包含最基本的MC-like 轴对齐体素vs轴对齐盒位置挤出,
到Teardown的非对齐6DOF动力学 MTV全碰撞信息碰撞检测 预处理角边面特征检测优化。 - PhysX Integration (番外)
自定义体素碰撞检测,集成到 PhysX 物理引擎,以提高性能和准确性。
IV. Procedural WorldGen
- Noise
多种噪声类型的特点 (Perlin, Simplex, Value, Celluar),组合噪声。 - Biomes
根据温度湿度确立的Biomes,边缘过渡 - L-system
L-system在建筑生成的用法与原理,结合表达式定义生产过程。参考 Miguel Cepero 的生成方法。 - Wave Function Collapse, WFC
WFC生成建筑 - Minecraft 地形生成分析 (番外)
刨析Minecraft地形生成过程 老方法与新方法
Misc
- Rendering Massive Voxel Terrain. 大规模体素地形渲染
- Minecraft 性能优化模组分析 (Sodium, OptiFine)
- Teardown 技术分析
- Dauglas Voxel 技术分析
- Gore Voxel 技术分析
- Xima Voxel 技术分析