1

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

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

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

this

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

Не могли бы вы посоветовать мне лучший маршрут?

Любой вход был бы очень признателен.

Thanks,

Henry.

+0

Люди не могут пойти вниз к поверхности? Тогда вам не нужны карты высот. Если бы земля была баскетболом, то на горе Эверест было бы меньше, чем у бабушки. Недостаточно вариации, чтобы сделать фактическую карту высот. – McKay

+0

Ну, я все еще ищу, чтобы создавать планеты с видимым ландшафтом из космоса. Даже если это кажется немного завышенным. В любом случае я все равно хотел бы создать текстуру процедурно. – henryprescott

+0

Что-то вроде http://img504.imageshack.us/img504/7848/gc2007sporescreens20070mp2.jpg например. – henryprescott

ответ

3

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

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

Взгляни на полпути-вниз страницы о Перлином шуме: https://web.archive.org/web/20120829114554/http://local.wasp.uwa.edu.au/~pbourke/texture_colour/perlin/

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

+0

Спасибо, я видел, как люди говорили об этом на форумах, но на самом деле не получили хорошего имиджа в моей голове. Благодарим за помощь и за людей, которые могут это сделать - http://libnoise.sourceforge.net/docs/classnoise_1_1module_1_1Perlin.html#_details для 3D-генератора perlin! – henryprescott

+0

Я собирался сам ответить «3d perlin noise», но я увидел тег perlin-noise и предположил, что автор оригинального вопроса был знаком с ним! –

+0

Я знаю, что этот вопрос довольно старый, но для тех, кто найдет его в будущем, также проверьте симплекс-шум, это обновленная версия шума perlin, и это менее сложно. – Latency

Смежные вопросы