Войти
ПрограммированиеФорумГрафика

Проекция frustum матрицы 3d в 2d

#0
13:20, 1 фев. 2017

В 3D есть сетка вершин. Сетка поделена на квадраты 16x16. В каждом квадрате n-ое количество вершин.

У каждого квадрата может существовать reference на объект мира, который может находиться достаточно высоко над сеткой.

Для каждого квадрата есть уже посчитанный AABB. Для объектов мира тоже AABB есть.
Классическое отсечение(frustum test) тоже реализовано:
1) Из frustum matrix вытягиваю 6 плоскостей
2) Тестирую AABB каждого квадрата на вхождение в эти 6 плоскостей
3) Если квадрат проходит тест, тестирую объекты мира, на которые ссылается квадрат.

Но есть одна ситуация: если камера находится над квадратом и смотрит вверх - все пропадает(квадрат не проходит frustum test).

Я вижу пока одно решение: каким-то образом спроецировать плоскости в 2d, дискардя z координату и полученным результатом протестировать какие квадраты попадают в такую проекцию.
Вопрос как это сделать? Есть ли у этого способа какое-то название или готовые статьи на эту тему?


#1
13:35, 1 фев. 2017

Deamon
А зачем такая жесть? Простой 3d frustum куллинг для объектов это слишком по лоховски?
Ну или растяни AABB квадрата вверх/вниз на бесконечность. Те же яйца, что тебе так нужны, только в профиль.

ПрограммированиеФорумГрафика

Тема в архиве.