有没有如何使用 SWIG 生成带有 go build 的 C++ 建筑的示例?

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


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


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


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


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

.


所以我的问题:


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


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


qq_笑_17
浏览 186回答 3
3回答

HUH函数

查看将 Swig 支持添加go build到 的错误报告,它看起来像是根据文件扩展名决定如何编译 SWIG 包装器:.swig 文件被视为 C.swigcxx 文件被视为 C++如果重命名foo.swig为foo.swigcxx,它应该使用正确的 SWIG 标志和编译器。

蓝山帝景

有关使用 C++ 的 SWIG 代码示例,请参阅 Go 源代码中的 misc/swig/callback。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go