我正在尝试学习现代 OpenGL 并想画一个这样的三角形:我正在关注本教程:www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/,但我得到的只是深蓝色背景(清晰的颜色)。这段代码可能有什么问题?我正在用 Go 编写它并尝试在 Ubuntu 和 OS X 上运行它。 注意:我使用的是 glfw 3 库而不是教程中使用的 glfw 2.7。我认为相关部分是:func setup() { gl.ClearColor(0.0, 0.0, 0.4, 0.0) makeProgram(vertexShaderSource,fragmentShaderSource) vertexBufferData := []float32{ -1,-1,0, 1,-1,0, 0, 1,0, } vertexBuffer = gl.GenBuffer() vertexBuffer.Bind(gl.ARRAY_BUFFER) gl.BufferData(gl.ARRAY_BUFFER, len(vertexBufferData)*4, vertexBufferData, gl.STATIC_DRAW)}func draw() { gl.Clear(gl.COLOR_BUFFER_BIT) program.Use() // first attribute buffer: vertices var vertexAttrib = program.GetAttribLocation("vertexPosition_modelspace") vertexAttrib.EnableArray() vertexBuffer.Bind(gl.ARRAY_BUFFER) var f float32 = 0.0 vertexAttrib.AttribPointer( 3, // size gl.FLOAT, // type false, // normalized 0, // stride &f) // array buffer offset // draw the triangle gl.DrawArrays(gl.TRIANGLES, 0, 3) vertexAttrib.DisableArray()}完整代码链接:https : //gist.github.com/mbertschler/8672365我已经尝试在 OSX 上使用 OpenGL Profiler 进行调试,但到目前为止它没有显示任何错误。
1 回答
- 1 回答
- 0 关注
- 262 浏览
添加回答
举报
0/150
提交
取消