OpenGL glScale 和 glLoadMatrix

发布于 2024-11-07 04:07:58 字数 261 浏览 6 评论 0原文

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

点云有一个来自跟踪系统的附加变换矩阵。

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

遇到这个问题,x,y,z 值范围从 0 - 10.000 被 Opengl 由于裁剪平面而裁剪。

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

I'm writing an 3D Scanner with a Kinect and i want to display the Point clouds..

The Pointclouds have an additional Transformmatrix from a Trackingsystem..

I use:
scale = 0.0005;
glScaled(scale, scale, scale);

to encounter the Problem, that x,y,z Value ranges from 0 - 10.000 are cut by Opengl due to clipping planes.

when i use glLoadMatrix(trackingtransform); i don't see anything.. even if i use glscale again after the loadmatrix.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苦笑流年记忆 2024-11-14 04:07:59

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

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

You can directly scale the matrix your points are in, like:

glPushMatrix();
glScale();
-draw all your points...
glPopMatrix();
厌倦 2024-11-14 04:07:58

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

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

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

glLoadMatrix replaces the matrix that you generated with glScaled.

if you want to combine them, use glMultMatrix instead of glLoadMatrix.

That said, I'd advise to do what datenwolf alludes to. Use the projection matrix to set a coordinate system that maps your usage scenario (i.e. a world in the 0-10000 range), and keep the modelview matrix to move around.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文