我在 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 中使用纹理,您只需在着色器中对它们进行采样,无需启用任何内容。
关于ios - 在 MonoTouch/OpenTK/GLKit 中启用 GL-Enabling Texture2D 会生成错误 0x0500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990686/