Я пытаюсь напечатать OBB для игрового движка, который я делаю для предмета из колледжа: https://github.com/VictorSegura99/Alien-GameEngine.
Я получаю массив float3 с помощью MathGeoLib, используя структуру OBB, которая получает данные изв настоящее время загруженный FBX, но это может быть любой набор точек для печати с OpenGL.
OBB работает правильно, потому что я использую его для создания глобальной AABB и печатаю AABB в прямом режиме, и он работает довольно хорошо. Проблема в том, что я не могу напечатать OBB в прямом режиме, поэтому я должен использовать набор точек.
Фактический код, который я использую, это
glColor3f(OBB_color.r, OBB_color.g, OBB_color.b);
float3* obb_points=nullptr;
obb.GetCornerPoints(obb_points);
glGenBuffers(1, &obb_id);
glBindBuffer(GL_ARRAY_BUFFER, obb_id);
glBufferData(GL_ARRAY_BUFFER, sizeof(obb_points)*3, obb_points, GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
glDrawArrays(GL_LINES, 0, sizeof(obb_points) * 3);
glDisableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
Iожидать, что OpenGL напечатает OBB, соединяющий внешние точки линиями.