Показать сообщение отдельно
Старый 05.06.2019, 13:50   #32
NB79
Местный
 
Регистрация: 12.07.2015
Сообщений: 417
По умолчанию

Цитата:
Сообщение от Toobone Посмотреть сообщение
Разве отсечение невидимых полигонов на конкретный момент отрисовки события работает только для статичных объектов в одном положении? т.е., любая мобильная 3д модель всегда по умолчанию отображается полностью, просто в зависимости от положения по отношению к зрителю видна только часть, обращенная к нему?..хреново весьма, если так...
Это пример из немного другой оперы. Вот у нас, например, тысяч десять объектов в кадре и есть определённая зона, в которой камера может перемещаться, т.е., ракурсы ограничены в некотором пределе. Очевидно, что какая-то часть моделей никогда не будет видна. Если мы заранее просчитаем всегда скрытые полигоны и создадим копии мешей без них, то мы резко сократим объёмы данных гоняемых по шине. Этот пример из этой оперы был, демонстрация одного из вариантов предрасчёта сцены из статьи на эту тему.

А на счёт "всегда отображается" - это не так. Естественно, что невидимые полигоны отсекаются, но вариантов отсечения не один. Плюс не надо забывать о сортировке объектов. Если мы не в правильном порядке начнём их рисовать, то будем рисовать и перекрытое, а потом поверх рисовать ближнее. Вообще, всё рисование, по сути, это и есть алгоритмы сортировок и отсечений, от того, как хорошо эта часть реализована во многом и зависит производительность движка. Как раз вчера в одном ролике рассказывалось об одном алгоритме culling-а, так там в сцене присутствовало порядка 20000 объектов, со светом и тенями. Кадров сцена выдавала от 150 до 250, в зависимости от перемещений камеры. Отсечение было динамическое, супер результат, НМВ. Понятно, что и использовалось новое API и железо под него, там в шейдерах требования к OGL 4.20 и старше.

В общем, эта тема сама по себе очень объёмная и очень интересная. И крайне сложная, естественно.
NB79 вне форума   Ответить с цитированием