질문:
Go github.com/banthar/gl 패키지 사용 , http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/의 튜토리얼 코드는 성공적으로 창을 만들고 배경색을 설정했지만 삼각형을 표시하지 못했습니다. 동등한 C 코드는 삼각형을 표시합니다. 이유는 무엇입니까?
답변:
AttribPointer 함수에 전달된 잘못된 인수로 인해 오류가 발생할 수 있습니다. 이 문제를 해결하기 위해 다음 조정 사항이 확인되었습니다.
수정된 Go 코드:
package main import ( "github.com/banthar/gl" "github.com/go-gl/glfw/v3.2/glfw" "log" ) func main() { // ... ( GLFW window setup, GL initialization code) ... // Create vertex buffer gVertexBufferData := []float32{-1.0, -1.0, 0.0, 1.0, -1.0, 0.0, 0.0, 1.0, 0.0} vertexBuffer := gl.GenBuffer() vertexBuffer.Bind(gl.ARRAY_BUFFER) gl.BufferData(gl.ARRAY_BUFFER, len(gVertexBufferData)*4, gVertexBufferData, gl.STATIC_DRAW) for { // ... (Clear screen, enable/disable vertex attrib, draw triangle) ... vertexAttrib.AttribPointer( 3, // Size gl.FLOAT, // Type false, // Normalized? 0, // Stride nil) // Array buffer offset // ... (Continue drawing loop) ... } }
위 내용은 성공적인 창 및 배경 설정에도 불구하고 go-gl/glfw 및 github.com/banthar/gl을 사용하여 삼각형을 표시할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!