Я использую CML для управления трехмерной математикой в проекте интерфейса на основе OpenGL, который я создаю для работы. Мне нужно знать ширину поля зрения на заданном расстоянии от точки глаза, которая хранится как часть матрицы 4х4, представляющей камеру. Моя цель - расположить объекты графического интерфейса вдоль видимого края области просмотра, но на некотором расстоянии от экрана от ближней плоскости отсечения.
CML имеет функцию для извлечения плоскостей усеченного конуса, возвращая их в форме Ax + By + Cz + D = 0. Это усеченное перпендикулярно камере, которая не обязательно выровнена с осью z перспективной проекции.
Я бы хотел извлечь координаты x и z, чтобы прикрепить графические элементы к сторонам экрана на разных расстояниях от камеры. Каков наилучший способ сделать это?
Спасибо!