OpenGL glScale и glLoadMatrix - PullRequest
       14

OpenGL glScale и glLoadMatrix

1 голос
/ 13 мая 2011

Я пишу 3D-сканер с Kinect и хочу отобразить облака точек.

Облака точек имеют дополнительную Transformmatrix из системы слежения.

Я использую: масштаб= 0,0005;glScaled (scale, scale, scale);

, чтобы столкнуться с проблемой, что x, y, z Диапазоны значений от 0 до 10.000 обрезаются Opengl из-за плоскостей отсечения.

при использованииglLoadMatrix (trackingtransform);я ничего не вижу .. даже если я снова использую glscale после loadmatrix.

Ответы [ 2 ]

0 голосов
/ 13 мая 2011

Вы можете напрямую масштабировать матрицу, в которой находятся ваши точки, например:

glPushMatrix();
glScale();
-draw all your points...
glPopMatrix();
0 голосов
/ 13 мая 2011

glLoadMatrix заменяет матрицу, сгенерированную вами, на glScaled.

, если вы хотите объединить их, используйте glMultMatrix вместо glLoadMatrix.

При этом я бы посоветовал сделать то, что намекает datenwolfк.Используйте матрицу проекции, чтобы установить систему координат, которая отображает ваш сценарий использования (т. Е. Мир в диапазоне 0-10000), и продолжайте перемещать матрицу вида модели.

...