OpenGL glScale和glLoadMatrix

时间:2011-05-13 09:08:15

标签: opengl matrix transformation

我正在用Kinect编写3D扫描仪,我想显示点云..

Pointclouds有一个来自Trackingsystem的额外Transformmatrix ..

我用: 比例= 0.0005; glScaled(比例,比例,比例);

遇到问题,x,y,z由于剪切平面而被Opengl切割的值范围为0 - 10.000。

当我使用glLoadMatrix(trackingtransform)时;我没有看到任何东西..即使我在loadmatrix之后再次使用glscale。

2 个答案:

答案 0 :(得分:0)

glLoadMatrix替换您使用glScaled生成的矩阵。

如果要组合它们,请使用glMultMatrix而不是glLoadMatrix。

那就是说,我建议做一个datenwolf暗示的事情。使用投影矩阵设置一个坐标系统,该坐标系统映射您的使用场景(即0-10000范围内的世界),并保持模型视图矩阵移动。

答案 1 :(得分:0)

您可以直接缩放您的点所在的矩阵,例如:

glPushMatrix();
glScale();
-draw all your points...
glPopMatrix();