我正在写一个带有Kinect的3D扫描仪,我想要显示点云。
点云有一个来自跟踪系统的额外变换矩阵..
我使用: scale = 0.0005;glScaled(scale,scale,scale);
遇到x,y,z取值范围为0- 10.000的问题,由于裁剪平面的原因,Opengl对x,y,z值进行了裁剪。
当我使用glLoadMatrix(Trackingtransform)时,我看不到任何东西..即使我在加载矩阵之后再次使用glscale。
发布于 2011-05-13 17:21:00
glLoadMatrix将替换您使用glScaled生成的矩阵。
如果您想组合它们,请使用glMultMatrix而不是glLoadMatrix。
这就是说,我建议去做datenwolf暗示的事情。使用投影矩阵来设置一个坐标系来映射您的使用场景(即,在0-10000范围内的世界),并保持模型视图矩阵的移动。
发布于 2011-05-13 17:27:54
您可以直接缩放点所在的矩阵,如下所示:
glPushMatrix();
glScale();
-draw all your points...
glPopMatrix();https://stackoverflow.com/questions/5989642
复制相似问题