0

我正在尝试构建一些东西,但我认为它不可行。是否可以在 OpenGL 中使用立方体贴图附加两个图像的非幂?我正在与:

for(int k = 0; k < 6; k++){
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + k, 0, GL_RGBA32F, 
m_iWidth, m_iHeight, 0, GL_RGBA, GL_FLOAT, NULL);
//other code
}

如果 , 的值是 NPOT m_iWidthm_iHeight那么显然它不起作用。有没有办法做到这一点?我的目标是根据大小动态制作环境贴图(取决于视口)。

绑定和参数是GL_TEXTURE_CUBE_MAP. 其他细节:这不是 OpenGL ES 或希望兼容性 ;-)

4

1 回答 1

2

立方体贴图的大小不必是 2 的幂,但它们必须是正方形。所以它们的大小不能“取决于视口”。他们也没有理由这样做。

如果您尝试制作环境贴图,则纹理的大小不应依赖于渲染图像的确切大小。您可能希望以更高分辨率放大纹理,但不希望环境贴图与目标图像大小相匹配。

于 2013-06-02T16:48:40.657 回答