我正在尝试使用Golang OpenGL 绑定来镶嵌一个简单的三角形该库没有声称支持镶嵌着色器,但我查看了源代码,添加正确的绑定似乎并不十分棘手。所以我分支它并尝试在gl_defs.go 中添加正确的常量。绑定仍然可以很好地编译,我的程序也是如此,当我真正尝试使用新的绑定时,事情变得很奇怪。每当我实际尝试包含曲面细分着色器时,程序都会从显示一个漂亮的圆形三角形变为黑屏。我正在关注 OpenGL Superbible(第 6 版)并在这个项目中使用他们的着色器,所以我不会想象我正在使用损坏的着色器(无论如何他们不会吐出错误日志)。但是,如果着色器本身可能有问题,可以在此处的setupProgram()函数中找到它们。我很确定我的显卡支持镶嵌,因为打印 openGL 版本会返回4.4.0 NVIDIA 331.38.所以我的问题:是否有任何理由为镶嵌添加 go 绑定不起作用?绑定看起来很简单。我是否错误地添加了新绑定?如果它应该工作,为什么它不适合我?我在这里做错了什么?
1 回答
DIEA
TA贡献1820条经验 获得超2个赞
可能值得采取的步骤:
您的驱动程序和视频卡可能支持曲面细分着色器,但您的绑定为您返回的 GL 上下文可能适用于早期版本的 OpenGL。试试看
glGetString(GL_VERSION)
你会得到什么。你
glGetError
基本上到处打电话并实际检查它的值吗?此绑定是否提供错误返回值?如果是这样,你会检查这些吗?
- 1 回答
- 0 关注
- 176 浏览
添加回答
举报
0/150
提交
取消