我正在尝试将八叉树存储在 OpenGL 中的 3D 纹理中,以便使用 Cg 在 GPU 上使用,来自 GPU Gems 2 的一章,可在此处找到http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter37.html。但是我得到的结果是不正确的。我认为这是因为我如何创建八叉树。
在该章的附录中,它说“如果我们以重复模式(GL_REPEAT)绑定间接池纹理(八叉树纹理)......”。
这只是意味着将过滤器和包装设置为重复,还是我需要做其他事情?到目前为止,这是我的代码
glGenTextures(1, &octree_texture);
glBindTexture(GL_TEXTURE_3D, octree_texture);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_REPEAT);
glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, WIDTH, HEIGHT, DEPTH, 0, GL_RGBA, GL_UNSIGNED_BYTE, octreeData);
谢谢您的帮助 :)