所以,我正在寻找一个带有 C++ 库(面向游戏)的体素图形引擎。只是为了好玩,这将是我第一次使用图形库,所以它不必非常复杂或强大,只需易于理解即可。
问问题
15144 次
4 回答
22
请记住,体素只是一个概念。有几种将它们作为数据处理的方法,以及几种可视化它们的方法(提取几何、光线投射等)。
它是固定间距网格中的一个数据点,就是这样。这个点代表什么或者你与它相关联的几何图元,这完全是特定于实现的。人们通常将它们想象为占据固定空间网格中整个单元格的立方体,这就是为什么将它们与立方体相关联的原因。
最著名/流行的基于体素的应用程序 Minecraft,使用标准光栅化管道将它们可视化为以网格为中心的立方体。(学术)像 GigaVoxels 这样的系统对稀疏体素八叉树结构执行光线追踪以生成图像。
我遇到了以下面向体素的库:
- Field3D:用于存储体素数据的索尼图片库:http ://opensource.imageworks.com/?p=field3d
- OpenVDB:梦工厂工作室发布的新格式:http ://www.openvdb.org/index.html
- Polyvox:用于多个游戏,正在积极开发中:http ://www.volumesoffun.com/polyvox-download/
- VoxelIQ:C# 中面向游戏的基于块的引擎 - https://github.com/raistlinthewiz/voxeliq
- GigaVoxels:体素的光线引导流媒体库 - http://gigavoxels.imag.fr/
- Binvox:不是真正的库,而是具有基本二进制体素数据定义的体素器:http ://www.cs.princeton.edu/~min/binvox/
- VoxelFarm:用于生成程序体素地形的引擎:http ://www.voxelfarm.com/vfweb/engine.html
- cuda_voxelizer:将多边形模型转换为体素模型的工具,输出为各种格式:https ://github.com/Forceflow/cuda_voxelizer
这是一个包含 20 年体素引擎代码的 reddit 帖子:https ://www.reddit.com/r/VoxelGameDev/comments/3fvjb4/20_years_of_voxel_engines_source_code_included/
于 2012-09-25T13:00:56.267 回答
2
于 2011-11-05T18:13:49.327 回答