Вам нужен массив с плавающей точкой, представляющий ваши вершины / нормали, например:
float [ ] vertices = {
VertexX, VertexY, VertexZ, NormalX, NormalY, NormalZ,
VertexX, VertexY, VertexZ, NormalX, NormalY, NormalZ,
VertexX, VertexY, VertexZ, NormalX, NormalY, NormalZ,
VertexX, VertexY, VertexZ, NormalX, NormalY, NormalZ,
..., ..., ..., ..., ..., ...,
};
Где каждая грань имеет три уникальные линии вершин, связанные с ней.Как только вы построите этот массив из файла OBJ или любого другого формата, используя код, который вам придется выяснить, вы можете отобразить его, выполнив следующие действия:
glVertexPointer(3, GL_FLOAT, sizeof(vertices[0])*6, &vertices[0]);
glNormalPoitner(GL_FLOAT, sizeof(vertices[0])*6, &vertices[3]);
glDrawArrays(GL_TRIANGLES, 0, numVertices);
См. Это Страница Википедии в формате OBJ для справки о том, как выложен файл obj.Анализ файла довольно прост, если вы понимаете формат.