我正在用Kinect编写3D扫描仪,我想显示点云..
Pointclouds有一个来自Trackingsystem的额外Transformmatrix ..
我用: 比例= 0.0005; glScaled(比例,比例,比例);
遇到问题,x,y,z由于剪切平面而被Opengl切割的值范围为0 - 10.000。
当我使用glLoadMatrix(trackingtransform)时;我没有看到任何东西..即使我在loadmatrix之后再次使用glscale。
答案 0 :(得分:0)
glLoadMatrix替换您使用glScaled生成的矩阵。
如果要组合它们,请使用glMultMatrix而不是glLoadMatrix。
那就是说,我建议做一个datenwolf暗示的事情。使用投影矩阵设置一个坐标系统,该坐标系统映射您的使用场景(即0-10000范围内的世界),并保持模型视图矩阵移动。
答案 1 :(得分:0)
您可以直接缩放您的点所在的矩阵,例如:
glPushMatrix();
glScale();
-draw all your points...
glPopMatrix();