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

Unlimited Detail (223 стр)

Страницы: 1218 219 220 221 222 223
#3330
19:50, 21 апр. 2019

Пересекаешь 4 луча фруструма с плоскостью грани ААББ, он ведь на то и АА чтобы это была тривиальная операция. Получаешь 2 д задачу пересечь 4-угольник проекции фруструма на грань и АА прямоугольник. Сначала возьми первую сторону АА прямоугольника и пересекай с ней 4 стороны 4 угольника. Она АА поэтому операция тривиальна. И так все 4 стороны. Если пересечений не нашёл проверь что одно полностью не включает второе и готово


#3331
20:08, 21 апр. 2019

Вий
Я и писал о проекции в 2D
Только вершины 4-х угольник может пересечь плоскость Z=0, вершины уезжают в бесконечность, надо подумать как это учесть

#3332
20:15, 21 апр. 2019

Так это не важно если камера не внутри ААББ целиком то все что я написал должно работать

#3333
21:09, 21 апр. 2019

Вий
В 2D решается через SAT, 5 осей
Но некоторые лучи фрустума могут быть направленны ОТ грани, тогда 4хугольник вырождается в бесконечную фигуру

#3334
21:28, 21 апр. 2019

Sat не даёт преимуществ при ААББ. ААББ позволяет 2д свести к 1д да ещё на SSE и никаких проблем не возникает.

#3335
21:30, 21 апр. 2019

От грани лучи дадут отрицательное расстояние вдоль луча

#3336
(Правка: 21:34) 21:33, 21 апр. 2019

Ты не рассматривай фруструм как бесконечный, у него же есть z far, образующий дно пирамиды и вот из 4 его линий хотя бы 2 в случае когда часть лучей фруструма ушла от плоскости пересекут плоскость

#3337
(Правка: 22:00) 21:57, 21 апр. 2019

Вий
О, придумал! Надо рассматривать пересечения не ребер фрустума, а его боковых граней, что эквивалентно пересечению полуплоскостью. Которые не пересекают грань - те просто не рассматривать. Для SAT то нужна лишь прямая пересечения плоскостей и нормаль к ней. Вместо 4чугольника - пересечение полуплоскостей в 2D. Можно заоптимизировать и обойтись без делений!

#3338
(Правка: 14:39) 14:24, 18 мая 2019

Вий
Написал, но очень громоздко. Попробую конус-шар-круг, как ты советовал

А эти твои точки-воксели не проще ли рисовать сортируя узлы по удалению от плоскости экрана? Давно обсуждали тут

#3339
15:46, 18 мая 2019

Узлов может быть много, сортировка будет долгой. Если только заранее сортировать для 3 основных направлений взгляда

#3340
20:17, 18 мая 2019

Вий
Не, сортируются 8 детей узла в октодереве, в пикселы, которые уже заполненны - не рисуем, быстро проверяем заполненость блока экрана через мипмап

Страницы: 1218 219 220 221 222 223
ПрограммированиеФорумГрафика