Conversion de C ++ OpenGl en Java (LWJGL), glBufferData ();

LWJGL a essayé de créer un parsingur .obj qui convertira les fichiers exportés à partir de blender en code de rendu OpenGL. J’ai suivi un tutoriel similaire à ce que je faisais, mais il a été écrit en c ++, ce que je peux à peine comprendre. J’ai réussi à tout faire fonctionner avec l’parsingur (je pense), mais lorsque le moment est venu de rendre le rendu au modèle, j’ai du mal à créer un équivalent java du code c ++. Le tutoriel utilise cette ligne de code:

glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(glm::vec3), &vertices[0], GL_STATIC_DRAW); 

Ensuite (évidemment), il dessine le tableau. Je suis sûr que je dois convertir les Vecotor3f de ma liste (les sumts) en un FloatBuffer, et je n’ai pas besoin du second paramètre (car java gérera la taille). Cependant, je ne sais pas comment faire cela, je suis toujours en train de me débrouiller avec java et je n’ai jamais utilisé ce cours auparavant.

 FloatBuffer vertexData = BufferUtils.createFloatBuffer(amountOfVertices * vertexSize); vertexData.put(vertices); vertexData.flip(); glBufferData(GL_ARRAY_BUFFER, vertexData, GL_STATIC_DRAW); 

Est le code Java équivalent, où vertices est un tableau flottant contenant vos données de sumt, vertexSize est le nombre de flottants par sumt et amountOfVertices est explicite. Vous pouvez passer amountOfVertices * vertexSize avec vertices.length si vous le souhaitez, car ils doivent être égaux.