OpenGL Vertex Buffer ne parvient pas à afficher le triangle dans Go
Dans le but de reproduire un didacticiel sur la création d'un triangle simple à l'aide d'OpenGL dans Go, un individu a rencontré des difficultés pour que le tampon de sommets affiche la forme. Pendant que la fenêtre s'ouvrait et que l'arrière-plan devenait bleu, le triangle restait invisible.
L'extrait de code fourni implique la création d'un tampon de sommets, puis le dessin du triangle à l'aide de glDrawArrays. Cependant, dans la version C du code qui fonctionne, la fonction AttribPointer prend un paramètre (void*)0 pour spécifier le décalage du tampon du tableau, tandis que dans la version Go, l'argument de décalage fourni fait planter l'application, et nil ne le fait pas. Cela ne semble pas fonctionner non plus.
La solution mise à jour impliquait l'utilisation de la branche de travail des liaisons banthar et la modification des appels à AttribPointer et BufferData comme suit :
<code class="go">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)</code>
En passant la taille en octets à BufferData et en définissant le décalage du tampon du tableau sur zéro dans AttribPointer, le problème a été résolu et le triangle a été affiché avec succès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!