标准化点云(在OpenGL中显示)的最有效方法是什么?

时间:2019-11-18 11:04:24

标签: opengl opengl-4

给定一个点云,其x,y,z坐标在任意范围内(即x:[-40,40],y:[-1,1],z:[-100:100])是什么最有效的方式来转换坐标,使其落在OpenGL的裁剪体积范围内(x:[-1,1],y:[-1,1],z:[-1,1]),从而可以显示?

1 个答案:

答案 0 :(得分:2)

由于您说的是“显示标准化”,因此我假设您不知道预先的确切范围。

您将需要扫描云以找到每个轴的最小值/最大值,然后构建一个转换矩阵以重新定位云,因此其“中间”将位于0,0,0并缩放它向下移动,因此云的最长轴将适合裁剪量。

您不需要变换cpu侧的点,顶点着色器将使用您将作为统一传递的矩阵来做到这一点。