настройка усеченного конуса в iphone - PullRequest
1 голос
/ 16 февраля 2011

Я установил усеченный конус с fov = 50, около = 0,1, далеко = 1000, с соотношением сторон = 3/2, но это не очень хорошо - мой объект кажется сжатым на дальней стороне.может помочь.

1 Ответ

2 голосов
/ 16 февраля 2011

Скриншот поможет. Но я думаю, что понимаю вашу проблему. То, что вы наблюдаете, является эффектом аффинной проекции. Параметр fov немного вводит в заблуждение, поскольку он может указывать на некоторую угловую проекцию («рыбий глаз»), которая не соответствует действительности. На самом деле происходит то, что экстенты ближней проекционной плоскости расположены так, что ее границы видны под углом обзора. Тем не менее, ближняя плоскость просто плоская, что означает, что очень большие поля выглядят очень неестественно.

Я не знаю спецификации графических возможностей iPhone от души, но если я не ошибаюсь, он поддерживает вершинные шейдеры. Таким образом, вместо метода аффинной проекции вы можете реализовать совершенно другой тип проекционной модели, такой как стерографическая или меркаторная (в зависимости от ваших потребностей). Тогда операции больше не выполняются в терминах умножения линейной матрицы.

В качестве примечания: эти значения для ближнего и дальнего расстояния слишком экстремальны, почти вся точность буфера глубины будет находиться в диапазоне от 0,1 до ~ 20 из-за нелинейности буферизации глубины в режиме перспективы.

...