OpenGL glTexImage2D立方体贴图和宽度/高度参数

时间:2013-11-09 17:00:32

标签: c++ opengl textures shadow

我正在尝试使用立方体贴图在OpenGL中设置阴影贴图,这样我就可以为点光源做阴影了。

以下内容向我发出GL_INVALID_ENUM

for (uint32_t i = 0; i < 6; i++)
    GLCALL(glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_DEPTH_COMPONENT32, windowWidth, windowHeight, 0, GL_DEPTH_COMPONENT32, GL_FLOAT, 0));

根据文档,可能是因为:

GL_INVALID_ENUM is generated if target is one of the six cube map 2D image targets and the width and height parameters are not equal.

如果宽度/高度不同,我得到它们不是真正的立方体,但当我有像1920x1080或任何其他分辨率的屏幕分辨率时,这是一个问题。

也许虽然我错过了为函数调用提供的内容 - 是不是它的窗口宽度/高度?应该是什么参数?

1 个答案:

答案 0 :(得分:1)

  

也许虽然我错过了为函数调用提供的内容 - 是不是它的窗口宽度/高度?

世界上你认为窗户分辨率如何影响纹理尺寸的方法超出了我的范围。您通常使用帧缓冲对象渲染阴影贴图深度贴图,因此窗口尺寸无关紧要。

  

应该是什么参数?

对于立方体贴图:立方体贴图纹理的边长。