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

OpenGL glTexImage2D cube map and width/height parameters

本文关键字:高度 参数 glTexImage2D 立方体 地图 OpenGL      更新时间:2023-10-16

我正在尝试使用立方体贴图在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 或任何其他分辨率时,这是一个问题。

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

也许虽然我错过了向函数调用提供什么 - 不是窗口宽度/高度吗?

你认为窗口分辨率如何影响纹理大小,这超出了我的范围。通常使用帧缓冲对象渲染阴影映射深度贴图,因此窗口尺寸无关紧要。

参数应该是什么?

对于立方体贴

图:立方体贴图纹理的边缘长度。