OpenGL从3d点获得2d投影

时间:2011-12-17 13:06:02

标签: c++ opengl 3d map-projections point-clouds

我已通过此代码显示了一组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);

此代码显示带有颜色值的3d点云数组, 我想获得一个2d点数组并在2d(3d点的上视图)中显示这些点

1 个答案:

答案 0 :(得分:1)

This projection tutorial详细解释了投影矩阵变换。

要从上方获取投影,请设置投影矩阵并将摄像机设置在上方,并将其指向朝向平面的方向。这应该足够了。