Crystal Space 3d по русски

Артефакты непрозрачной карты теней

Непрозрачные карты теней могут страдать от проявления артефактов, если не "достачтоно" генерируется карта. Артефакты вызваны тем фактом, что новые точки на карте прозрачности представлены без информации о тени. Ниже вы можете увидеть траву в CrystalSpace визуализируюмую с использованием только 15 карт прозрачности (диагональные линии, перпендикулярные направлению источника света являются артефактами).


Ограничение на 15, потому что, на данный момент, текстуры передаются в виде массива sampler2D и только 16 (15 непрозрачность + 1 материал) могут быть использованы в одном шейдере на моей видеокарте NVIDIA GeForce 9500M GS. Тем не менее, могут быть получены карты в 4 раза больше, если используется каждый канал в каждой текстуре, то получается 60 карт(но только 14 текстур).


Как видно из приведенного выше изображения артефакты теперь немного меньше заметны, поэтому увеличение количества карт является одной из попыток удалить эти артефакты. Другой (надежнее) способ, совместить карты прозрачности с геометрией, с использованием информации карты глубины, как описано в глубинных картах прозрачности (DOM). Это то, что я планирую реализовать во второй половине GSoC. Вот так DOM должен улучшить визуализацию:



Система Orphus