Сортировка полигонов для правильного альфа-смешивания в DirectX 9? - PullRequest
0 голосов
/ 01 ноября 2010

Как правильно сортировать полигоны, чтобы они правильно смешивались? Я думаю, что основная концепция состоит в том, чтобы отрисовать самый дальний многоугольник сначала в ближайшем порядке. Но как насчет случаев пересекающихся многоугольников?

Ответы [ 2 ]

1 голос
/ 01 ноября 2010

Честно говоря, я бы пошел на глубокий пилинг и композитные пассы. Я видел некоторую реализацию этого алгоритма, и большую часть времени пилинг 2 или 3 слоев "достаточно хорош".

Это также избавит вас от необходимости управлять различными структурами данных для хранения ваших мешей. Один недостаток заключается в том, что он может быть немного требовательным к производительности, например, если у вас много прозрачных сеток.

1 голос
/ 01 ноября 2010

Как правильно сортировать полигоны, чтобы они правильно смешивались?

Сортировать их обратно вперед.

Но как насчет случаев пересеченияполигоны?

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

Редактировать : Стоит помнить, что поиск пересечений и разбиение будет очень медленным.Вы можете использовать какую-то ускоряющую структуру, чтобы помочь вам.

Весьма распространено использовать BSP для сортировки и разделения статических прозрачных полисов.

...