जब मैंने कोशिश की तो रॉबर्ट का उत्तर मेरे लिए काम करता था। क्या इसे यहाँ लायक है कोड, गो में, कई वर्टेक्स गुण वस्तुओं का उपयोग करने का है:
// VAO 1
vao1 := gl.GenVertexArray()
vao1.Bind()
vbo1 := gl.GenBuffer()
vbo1.Bind(gl.ARRAY_BUFFER)
verticies1 := []float32{0, 0, 0, 0, 1, 0, 1, 1, 0}
gl.BufferData(gl.ARRAY_BUFFER, len(verticies1)*4, verticies1, gl.STATIC_DRAW)
pa1 := program.GetAttribLocation("position")
pa1.AttribPointer(3, gl.FLOAT, false, 0, nil)
pa1.EnableArray()
defer pa1.DisableArray()
vao1.Unbind()
// VAO 2
vao2 := gl.GenVertexArray()
vao2.Bind()
vbo2 := gl.GenBuffer()
vbo2.Bind(gl.ARRAY_BUFFER)
verticies2 := []float32{-1, -1, 0, -1, 0, 0, 0, 0, 0}
gl.BufferData(gl.ARRAY_BUFFER, len(verticies2)*4, verticies2, gl.STATIC_DRAW)
pa2 := program.GetAttribLocation("position")
pa2.AttribPointer(3, gl.FLOAT, false, 0, nil)
pa2.EnableArray()
defer pa2.DisableArray()
vao2.Unbind()
फिर अपने मुख्य पाश में आप उन्हें इस तरह के रूप में उपयोग कर सकते हैं:
for !window.ShouldClose() {
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
vao1.Bind()
gl.DrawArrays(gl.TRIANGLES, 0, 3)
vao1.Unbind()
vao2.Bind()
gl.DrawArrays(gl.TRIANGLES, 0, 3)
vao2.Unbind()
window.SwapBuffers()
glfw.PollEvents()
if window.GetKey(glfw.KeyEscape) == glfw.Press {
window.SetShouldClose(true)
}
}
https://gist.github.com/mdmarek/0f73890ae2547cdba3a7
:
आप पूर्ण स्रोत को देखने के लिए चाहते हैं, यह एक सार के रूप में उपलब्ध है और गो-जीएल में उदाहरण से प्राप्त होता है
मूल उत्तर के लिए सभी को धन्यवाद, मेरे पास ECrownofFire के समान प्रश्न था।
मुझे यकीन नहीं है कि इस प्रश्न को -1 क्यों मिला .. यह कोई प्रयास नहीं दिखाता है और यह अस्पष्ट है? मैंने इसे पोस्ट करने से पहले चश्मा, विकी और मंचों से 3 दिन बिताए और मुझे कोई वास्तविक कारण नहीं मिला कि मुझे वीएओ का उपयोग करना चाहिए .. meh .. – user815129
क्योंकि ठंडा ब्रो के लिए यह सब स्पष्ट है जैसे ही उनके कट-एंड-पेस्ट आसान, सामान समझने के साथ परेशान क्यों ?? उपरोक्त उत्तर, स्पष्ट और व्याख्यात्मक के रूप में – mlvljr