我需要在OpenGL中渲染.vox模型的帮助。

The .VOX file format is described here

Here is an example VOX file reader.

这就是我遇到的问题-我将如何在OpenGL中渲染.vox模型?我知道如何使用Phong反射模型渲染带有纹理的标准.obj模型,但是如何处理体素数据?我应该传递给着色器什么样的数据?我是否应该以某种方式解析数据,以获取要解析的每个个体素的索引?如何基于体素数据创建顶点(我什至应该这样做)?我应该传递所有块,还是有一种简单的方法来过滤掉那些不可见的块?

我尝试搜索有关此主题的信息,但结果空白。我要完成的工作类似于MagicaVoxel Viewer,但要简单得多,没有所有这些可自定义的选项,并且只有一个光源。

我并不是想寻找一个现成的解决方案,但是如果有人能指出正确的方向,我将不胜感激。

最佳答案

经过更多搜索之后,我决定以两种方式渲染多维数据集:

1)基于体素数据,我将生成顶点并将其馈送到管线中。
2)使用几何着色器,我将基于体素的索引发出顶点,以使输入到管线。我将整个模型存储为3D纹理。

10-08 04:15