我在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中使用纹理,只需在着色器中对其进行采样,就无需启用任何功能。