Проблема с буфером вершин OpenGL в Go
При попытке отобразить треугольник с помощью OpenGL в Go пользователь столкнулся с проблемой, когда вершина буферу не удалось отобразить форму. Код Go был получен на основе руководства, но, в отличие от своего аналога на C, он не выдал никаких результатов.
Причина проблемы
Основная причина проблемы лежат в аргументах, передаваемых в vertexAttrib.AttribPointer(). В частности, пользователь неправильно указал (void*)0 в качестве смещения буфера массива. В результате приложению не удалось найти данные вершин.
Решение
Чтобы устранить проблему, пользователь переключился на рабочую ветку привязок бантара и сделал следующие изменения:
vertexAttrib.AttribPointer(
3, // size
gl.FLOAT, //type
false, // normalized?
0, // stride
nil) // array buffer offset
data := []float32{0, 1, 0, -1, -1, 0, 1, -1, 0}
[...]
gl.BufferData(gl.ARRAY_BUFFER, len(data)*4, data, gl.STATIC_DRAW)
[...]
Дополнительные примечания
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3