2013-08-03 6 views
0

Я хочу преобразовать расстояние перетаскивания 2d на экран в 3D-расстояние перетаскивания для выбранного в данный момент объекта, чтобы его можно было перемещать в тандеме с помощью перетаскивания.Вычислить значение zbuffer вручную?

Я могу рассчитать это расстояние с помощью gluUnProject, если у меня есть значение zbuffer для выбранного объекта, но я не могу прочитать это значение из буфера глубины в opengls 1.1. Таким образом, есть способ, который я могу вычислить это значение zbuffer вручную, поэтому я могу передать его gluUnProject?

У меня есть вектор для положения камеры, вектор для объекта, расстояние между ними, ближняя и дальняя обтравочные плоскости и точность zbuffer (бит).

Спасибо.

ответ

0

См. this article в разделе «Математика» для формулы для расчета перспективного прогнозируемого значения Z, которое вы ищете.