如何在OpenGL中渲染.vox体素模型?

时间:2016-10-22 21:23:28

标签: c++ opengl voxel

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

The .VOX file format is described here

Here is an example VOX file reader.

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

我尝试搜索有关此主题的信息,但却显得空洞。我想要完成的是MagicaVoxel Viewer,但更简单,没有所有可自定义的选项,只有一个光源。

我没有试图找到一个现成的解决方案,但如果有人能指出我正确的方向,我将非常感激。

1 个答案:

答案 0 :(得分:1)

经过一些搜索后,我决定以两种方式渲染立方体:

1)基于体素数据,我将生成顶点并将它们提供给管道。 2)使用几何着色器,我将根据体素的索引发出顶点,以便将I提供给管道。我将整个模型存储为3D纹理。