我正在尝试构建一些东西,但我不认为这是可行的。 是否可以在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
}
如果m_iWidth
,m_iHeight
的值是NPOT,那么显然它不起作用。
有没有办法做到这一点?我的目标是在大小上动态制作环境贴图(取决于视口)。
绑定和参数为GL_TEXTURE_CUBE_MAP
。其他细节:这不是OpenGL ES或希望兼容性; - )
答案 0 :(得分:2)
Cubemaps的大小不一定是2的幂,但它们必须是 square 。所以它们的大小不能“取决于视口”。而且他们也没有理由。
如果您正在尝试制作环境贴图,则纹理的大小不应取决于渲染图像的确切大小。您可能希望以更高的分辨率扩展纹理,但不希望环境贴图与目标图像大小匹配。