在重复模式下绑定纹理
Bind Texture in Repeat Mode
我试图在OpenGL的3D纹理中存储一个八叉树,用于使用Cg在GPU上使用,从GPUGems2的章节中找到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);
谢谢你的帮助
过滤器不能重复,这会产生一个GL错误,只有换行模式可以是GL_REPEAT,这可能就是书中的意思。
相关文章:
- 更正GLSL无绑定纹理句柄中的结构布局
- OpenGL - 绑定到默认纹理的做法?
- 将多个纹理 OpenGL 绑定到不同的四边形
- 为每个对象绑定不同的纹理
- 纹理绑定不起作用 / C++ / OpenGL
- OpenGL 加载将上次加载的纹理绑定到所有 textureID
- OpenGL-重新绑定已经绑定的纹理
- 在C++,OpenGL,Glut,如何将image.c绑定到纹理,其中image.c来自Gimp>Export>C源代码
- 如何绑定纹理openGL的一部分
- OpenGL 纹理绑定到对象
- 将QImage绑定到纹理以在QOpenGLWidget中显示视频的正确方法是什么
- 将绑定到FBO的纹理复制到另一个OpenGL上下文
- Qt 5 OpenGL绑定纹理导致奇怪的错误
- 纹理绑定:OpenGL+OpenCV
- 在OpenGL中绑定多于MAX_TEXTURE_UNITS的纹理
- QOpenGLFramebufferObject绑定纹理
- 在重复模式下绑定纹理
- OpenGL绑定几个2D纹理
- 如何解除对RenderTarget纹理的绑定,这样它就可以被用作下一个通道的输入
- OpenGL:使用纹理时至少绑定一个纹理