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

Карта глубины прозрачности в Crystal Space

Карта глубины прозрачности (DOM) представляет собой хороший способ удаления артефактов, вызванных линейным расщеплением в непрозрачной карты теней (OSM).

Новшество DOM в том, что она выравнивает карту прозрачности (слои) с геометрией волос, сначала вычисляя карту глубины и использует эту информацию для уменьшения линейного расщепления, происходящее на более позднем этапе рендеринга. На рисунке ниже, взятого из [DOM], вы можете в точности увидеть разницу между разделением в OSM (a) и DOM (b).



Преимущество использования DOM в том, что визуальные артефакты не возникают даже при использовании всего нескольких слоев, потому что, путем выравнивания геометрии расщепление повторяет распространение света. Далее приводится сравнение между рендерингом полученного в OSM с 60 слоями (а) и DOM с 16 слоев (б) в Crystal Space:



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

Именно поэтому за оставшееся время проекта я планирую расширить DOM для вычисления и использовать информацию из карты глубины содержащей глубину самых дальних точек (прекращения разбиения позиции). Я также хотел бы экспериментировать с различными схемами расщепления, помимо линейной, и добавить поддержку непрозрачных объектов, возможно, с помощью информации, предоставленной картой глубины.


Система Orphus