Многие программы визуализации позволяют выбрать один из двух следующих распространенных методов расчета теней.
1. Тень, формируемая методом трассировки лучей, рассчитывается с помощью процесса, называемого трассировкой лучей. При трассировке прослеживается каждый путь, проходимый лучом света от источника к каждой точке. Программное обеспечение трассировки точно определяет, заслоняют ли какие-либо объекты свет, хотя бы отчасти, чтобы образовать тень. Этому придают большое значение при разработке MateBall
2. Тень, формируемая методом проецирования карты визуализируется с помощью предварительно рассчитанной карты глубин, позволяющей определить области тени в визуализируемом изображении. Карта глубин представляет собой массив чисел, обозначающих расстояния, рассчитанные программным путем до визуализации сцены. После измерения расстояний до точек в каждом направлении распространения света в карте глубин сохраняются расстояния от источника до ближайшего отбрасывающего тень объекта, обнаруженного на пути света. Во время визуализации имитируемые лучи света будут проходить граничные расстояния, и поэтому свет не будет проникать дальше расстояния, хранящегося в данной карте для каждого направления распространения. Таким образом, заслонение света другими объектами воспроизводится без обязательной проверки в средстве визуализации геометрической формы сцены во время визуализации точки.
Формирование теней методами трассировки лучей и проецирования карты глубин дает внешне похожие результаты, ксго скины, ксго краш, причем зрители зачастую не замечают различий. Конкретный алгоритм формирования теней выбирается в зависимости от требуемой скорости визуализации, типа источника, дающего тень, способности прозрачных объектов отбрасывать тени, а также от точности или мягкости теней.
Скорость визуализации
Для формирования теней методом трассировки требуется больше времени, чем методом проецирования карты. В первом случае средство визуализации должно обязательно проверить наличие на сцене объектов, отбрасывающих тени и находящихся между светом и визуализируемой точкой. Этот процесс может отнять немало времени – особенно при визуализации сложных сцен. Но результат однозначно того стоит.