Вопрос

В настоящее время я работаю над процедурным генератором планеты OpenGL. Я надеюсь использовать его для космического RPG, который не позволит игрокам идти на поверхность планеты, поэтому я проигнорировал что-нибудь, связанное с ром. На теммах я рисую кубик с VBOS и отображением на сферу, как показано здесь.

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

Мой вопрос в том, какой лучший способ процедурно генерировать повышенную карту. Я посмотрел на лишенство который позволяет мне делать полпотретные высоты / текстуры, но, насколько я вижу, мне нужно будет генерировать сеть, как:

this

Оставляя черепицу очевидно.

Может ли кто-нибудь посоветовать мне на лучшем пути, чтобы взять?

Любой вклад будет высоко оценен.

Спасибо,

Генри.

Это было полезно?

Решение

Похоже, вы понимаете проблему с созданием плоской, бесшовной поверхности, а затем пытаясь сопоставить ее на сферу.

Как насчет использования функции 3D шума? Функция 3D шума занимает 3 координаты вместо 2 в качестве его ввода, поэтому представьте себе 3D-массив, полный сгенерированных чисел (вместо 2D массива). Таким образом, после того, как у вас есть функция 3D-шума, вы можете генерировать 2D-текстуру, но вместо того, чтобы использовать 2D координаты для каждого пикселя, используйте 3D координаты того, где этот пиксель будет на сфере. (Я надеюсь, что пропущенные приговор имел смысл!)

Взгляните на полпути на эту страницу о Perlin Shoh: https://web.archive.org/web/20120829114554/http://local.wasp.uwa.edu.au/~pbourke/texture_colour/perline/

Я думаю, что он точно описывает то, что вы хотите в отношении сферов.

Другие советы

Вы также захотите проверить эту статью с 2004 года о том, как «разделить сферу на управляемые детали».

http://www.gamedev.net/reference/articles/article2074.asp.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top