【发布时间】:2014-10-07 07:24:15
【问题描述】:
为了调试我的着色器,我试图显示立方体贴图的正面。 立方体贴图是 125x750 的图像,6 个面相互重叠:
首先,我使用 GLKit 加载立方体贴图:
_cubeTexture = [GLKTextureLoader cubeMapWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"uffizi_cube_map_ios" ofType:@"png"] options:kNilOptions error:&error];
然后我将它加载到着色器中:
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_CUBE_MAP, self.cubeTexture.name);
glUniform1i( glGetUniformLocation( self.shaderProgram, "cube"), 0);
然后在片段着色器中:
gl_FragColor = textureCube(cube, vec3(-1.0+2.0*(gl_FragCoord.x/resolution.x),-1.0+2.0*(gl_FragCoord.y/resolution.y),1.0));
这会显示一个扭曲的图像,它似乎是立方体贴图顶部的一部分:
它不应该被扭曲,它应该显示右面,而不是顶面。
我找不到任何描述坐标如何映射到立方体的文档,那么我做错了什么?
【问题讨论】:
标签: ios opengl-es-2.0