Нет.Растеризация очень плохая (даже в последних играх ААА есть заметные теневые артефакты), но все живут с ней.
Решения включают в себя (от самых простых / самых бедных до лучших / самых сложных):
- Нет теней.Просто учтите окклюзию с более темными цветами. xNormal , Blender .
- Если вы хотите приблизительную тень для персонажа, подойдет простой плоский многоугольник на земле с прозрачной и размытой текстурой.Смотрите скриншоты Zelda, например.Даже некоторые недавние игры все еще используют это.
- Lightmaps.Только статическая геометрия, но идеальное освещение (предварительно вычислено).Разумно прост в реализации.Существует множество инструментов.
- Объемы теней, популяризированные Carmack.Пиксель идеален, достаточно прост в реализации, довольно медленный.Хорошо для нескольких объектов.Нет мягких теней.
- Карты теней.Немного сложно реализовать, если вы никогда не делали OpenGL.Трудно получить право.Пиксельные тени.Сделки с большим количеством полигонов.Не имеет дело с большими мирами.
- Множество вариантов карт Теней.Много исследований в последние годы.На данный момент лучше всего это Cascaded Shadow Maps: Сложно, но сложно сделать так, чтобы он выглядел хорошо, но быстро, имеет дело с множеством полигонов и огромных миров.
- Raytraced shadows: Это может быть следующее поколение.Никто на самом деле не использует это, за исключением некоторых научных работ.Очень сложно, не очень хорошо с динамическими мирами (пока), огромные статичные сцены в порядке.Пиксельные идеальные или мягкие тени, в зависимости от того, сколько у вас запасного графического процессора. Несколько вариантов ;по состоянию на 2014 это не было сделано ни в одной игре по соображениям производительности .
Таким образом, обычная хитрость заключается в том, чтобы смешивать красивые, но статичные подходы с динамическими, ноне очень хорошие подходы.Например, посмотрите мои учебники по lightmapping и shadowmapping .