ios - 在 MonoTouch/OpenTK/GLKit 中启用 GL-Enabling Texture2D 会生成错误 0x0500

标签 ios opengl-es xamarin.ios opengl-es-2.0 glkit

我在 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/

相关文章:

ios - ios 8 自动布局中的全宽错误约束(适用于 ios 7)

ios - Objective-C - 序列化/反序列化多个数组到本地文件/从本地文件

android - 将 OpenGL 应用程序移植到 NDK。着色器效果看起来不同

swift - 为什么我最简单的着色器占用最多的处理能力

c# - Xamarin 中的 Objective-c 绑定(bind)问题

c# - OpenGL ES 2.0/MonoTouch : Texture is colorized red

ios - 我可以通过 .m 文件在 Setting.bundle 中添加值吗?

ios - 如何在 OpenGL ES 中的纹理上绘制抗锯齿线?

xamarin.ios - Xamarin iOS 8 捆绑资源 - 访问路径被拒绝

ios - 转义 FMDB iOS 查询中的特殊字符