Go-GL 中的细分

我正在尝试使用Golang OpenGL 绑定来镶嵌一个简单的三角形


该库没有声称支持镶嵌着色器,但我查看了源代码,添加正确的绑定似乎并不十分棘手。所以我分支它并尝试在gl_defs.go 中添加正确的常量。


绑定仍然可以很好地编译,我的程序也是如此,当我真正尝试使用新的绑定时,事情变得很奇怪。每当我实际尝试包含曲面细分着色器时,程序都会从显示一个漂亮的圆形三角形变为黑屏。


我正在关注 OpenGL Superbible(第 6 版)并在这个项目中使用他们的着色器,所以我不会想象我正在使用损坏的着色器(无论如何他们不会吐出错误日志)。但是,如果着色器本身可能有问题,可以在此处的setupProgram()函数中找到它们。


我很确定我的显卡支持镶嵌,因为打印 openGL 版本会返回4.4.0 NVIDIA 331.38

.


所以我的问题:


是否有任何理由为镶嵌添加 go 绑定不起作用?绑定看起来很简单。我是否错误地添加了新绑定?


如果它应该工作,为什么它不适合我?我在这里做错了什么?


12345678_0001
浏览 177回答 1
1回答

DIEA

可能值得采取的步骤:您的驱动程序和视频卡可能支持曲面细分着色器,但您的绑定为您返回的 GL 上下文可能适用于早期版本的 OpenGL。试试看glGetString(GL_VERSION)你会得到什么。你glGetError基本上到处打电话并实际检查它的值吗?此绑定是否提供错误返回值?如果是这样,你会检查这些吗?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go