Краткая версия вопроса:
Я поставлю квад. Я знаю ширину и высоту экрана в координатах окна, я знаю Z-координаты четырехугольника в 3D. Я знаю ФУТОВ, я знаю аспект. Квадрат будет располагаться вдоль оси Z, Моя камера не двигается (помещается в 0, 0, 0). Я хочу узнать ширину и высоту четырехугольника в 3D КООРДИНАТАХ, который точно поместится на моем экране.
Длинная версия вопроса:
Я хотел бы поместить квад по оси Z с указанным смещением Z , я хотел бы выяснить ширину и высоту квадра, который будет точно заполнять весь экран.
Раньше у меня был пост на gamedev.net, в котором использовалась формула, подобная следующей:
* dist = Z * tan (FOV / 2) *
Теперь я никогда не смогу найти пост! Хотя это похоже, но все же отличается, потому что я вспомнил, что в этой рабочей формуле они используют screenWidth и screenHeight, которые являются шириной и высотой экрана в координатах окна.
Я не очень знаком с такими понятиями, как frustum, fov и аспект, поэтому я не могу разработать формулу самостоятельно. Кроме того, я уверен, что мне не нужен gluUnproject (я пробовал, но результаты далеко). Это не некоторые вызовы gl, это просто математическая формула, которая может определить ширину и высоту в трехмерном пространстве, которые могут заполнить весь экран, известны смещение IF Z, ширина в координатах окна и высота в координатах окна.