我在GLKViewController的MonoTouch 5.2.13中使用OpenTK-1.0.dll。我可以使用彩色顶点渲染3D​​对象,那里的一切工作正常。

现在,我想用纹理贴图渲染3D对象。为此,我向ViewDidLoad方法(在我的GLKViewController的子类中)添加了以下调用:

GL.Enable(EnableCap.Texture2D);

但是,由于我添加了此调用,因此OpenGL屏幕保持黑色(不再显示彩色顶点),并且在控制台上我看到了
GL ERROR: 0x0500

当我删除GL.Enable调用时,一切再次正常。

有什么提示吗?

最佳答案

glEnable(GL_TEXTURE_2D)(或等效的openTK)在OpenGLES 2.0中不存在。它仅控制固定管道的纹理。

要在OpenGLES 2.0中使用纹理,只需在着色器中对其进行采样,就无需启用任何功能。

10-08 06:13