OpenGL получает 2d проекцию из 3d точек - PullRequest
0 голосов
/ 17 декабря 2011

У меня отображена коллекция точек 3d облака по этому коду:

glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
if (keyframes[i]->numberOf3DPoints > 0)
{
    glColorPointer(3, GL_UNSIGNED_BYTE, sizeof(PointColor), ((uint8_t*)keyframes[i]->points+12));
    glVertexPointer(3, GL_FLOAT, sizeof(PointColor), ((float*)keyframes[i]->points));
    glDrawArrays(GL_POINTS, 0, keyframes[i]->numberOf3DPoints);
}
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);

Этот код отображает массив трехмерных облаков точек со значениями цвета, Я хочу получить массив 2d точек и отобразить эти точки в 2d (верхний вид 3d точек)

1 Ответ

1 голос
/ 17 декабря 2011

В этом руководстве по проекции подробно объясняются преобразования матрицы проекций.

Чтобы получить проекцию сверху, установите матрицу проекции и установите камеру выше и направьте ее в направлении плоскости. И этого должно быть достаточно.

...