我需要一些帮助来了解为什么这段代码会产生一个空白的绿色窗口。我通过结合来自https://github.com/Jragonmiris/mathgl/blob/master/examples/opengl-tutorial/tutorial02/main.go和https://github.com/veandco/go-sdl2/blob 的例子来做到这一点/master/examples/opengl3.go。我想我不确定这是 GoLang sdl/gl 框架的错误还是我的 OpenGL 理解问题。所有这些应该绘制的是一个立方体。
所以我仍然无法在屏幕上绘制一个简单的形状。我做了一些改变,比如简化我的形状(三角形)。我创建了坐标,所以它们会更靠近 -z 轴,这样我就能看到它们,但这没有用。然后我设置 MVP 矩阵(将相机向后移动一些)只是为了确保。我的着色器很简单,因为我只传递了一个 vec3 顶点位置和 mat4 MVP 矩阵,所以相信着色器工作正常吗?抱歉所有的混乱,我想我可能在这里遗漏了一些东西。
更新:我还运行了 opengl 的版本命令:
fmt.Println(gl.GetString(gl.VERSION))
fmt.Println(gl.GetString(gl.VENDOR))
fmt.Println(gl.GetString(gl.RENDERER))
其输出为:
4.5.0 NVIDIA 347.09 NVIDIA Corporation GeForce GTX 650 Ti/PCIe/SSE2
不知道这有没有影响?
更新:我查看了更多示例并决定尝试添加一些 sdl 属性,但仍然没有运气:
sdl.GL_SetAttribute(sdl.GL_DOUBLEBUFFER, 1)
sdl.GL_SetAttribute(sdl.GL_RED_SIZE, 8)
sdl.GL_SetAttribute(sdl.GL_GREEN_SIZE, 8)
sdl.GL_SetAttribute(sdl.GL_BLUE_SIZE, 8)
sdl.GL_SetAttribute(sdl.GL_ALPHA_SIZE, 8)
更新:
我修改了这篇文章,只包含更新的代码,以免吓跑 TLDR 的人。
ABOUTYOU
慕容森
相关分类