У меня есть несколько вопросов о картах в 3D-играх (например, World of Warcraft) и о том, как программисты их отображают:
Можно ли "сгладить" края гор с помощью некоторой техники, или единственно возможным решением было бы использование большего количества вершин в карте высот?
Я ошибаюсь и считаю, что они используют какую-то технику для этого, поскольку они просто отдают достаточное количество вершин для каждой горы?
Посмотрите на это изображение:
(источник: gamona.de)Некоторые вопросы о том, как визуализировать этот вид сцены:
- Как мне сказали, в играх с открытым миром, таких как WoW, для рендеринга рельефа используются карты высот, откуда они знают, где рисовать все остальное? (деревья, дома, заборы, вода и т.д.).
- Как они делают подземные районы? (Там огромный замок внутри горы)
- Обратите внимание, что каждый выступ использует около 2 текстур для отображения (снег и камень). Каким может быть алгоритм, который они используют, чтобы знать, когда отбирать каждую текстуру? Это не похоже, что это зависит от нормалей. (Я не думаю, что они даже генерируют нормали для своей местности.)
- Также не похоже, что они используют скайбокс для горизонта. Какая техника это может быть?
- Не могли бы вы назвать другие интересные приемы, которые вы заметили, чтобы я мог их изучить?
В настоящее время я изучаю OpenGL, но я тоже пометил DirectX, поскольку эти вопросы не относятся к API.