Problema del búfer de vértices de OpenGL en Go
En un intento de mostrar un triángulo usando OpenGL en Go, un usuario encontró un problema donde el vértice El búfer no pudo representar la forma. El código Go se derivó de un tutorial, pero a diferencia de su contraparte en C, no produjo ningún resultado.
Causa del problema
La causa raíz del problema reside en los argumentos pasados a vertexAttrib.AttribPointer(). Específicamente, el usuario había especificado incorrectamente (void*)0 como desplazamiento del búfer de matriz. Esto provocó que la aplicación no pudiera encontrar los datos del vértice.
Solución
Para rectificar el problema, el usuario cambió a la rama de trabajo de los enlaces banthar e hizo el siguientes ajustes:
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)
[...]
Notas adicionales
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3