ENG Новый сайт

Меню сайта
Форма входа
Поиск
Помощь проекту
Награды

Победитель конкурса ЗАРЯ-2011 в номинации Открытие года (лучший сайт-новичок года)

Наш опрос
Что бы вам в первую очередь хотелось увидеть в новой версии SpaceEngine?
Всего ответов: 19093
Статистика
Locations of visitors to this page


Сейчас на сайте:
Онлайн всего: 3
Гостей: 3
Пользователей: 0

Сегодня нас посетили:

Всего зарегистрированных пользователей: 3919
3605
313

Блог

Главная » 2011 » Июль » 30 » Детализация планет
15:50
Детализация планет
Экс­пе­ри­мен­ти­рую с уве­ли­че­ни­ем де­та­ли­за­ции ге­не­ри­ру­е­мых пла­не­тар­ных тек­стур. Рань­ше для каж­дой пла­не­ты ге­не­ри­ро­ва­лась не­боль­шая тек­стур­ка, все­го 5х8 пик­се­лей, со­дер­жа­щая цве­то­вую па­лит­ру: по од­ной оси цвет в за­ви­си­мо­сти от вы­со­ты/ши­ро­ты, по вто­рой - в за­ви­си­мо­сти от на­кло­на. Шей­дер ге­не­ра­то­ра про­це­дур­ных тек­стур ис­поль­зо­вал эту тек­стур­ку для опре­де­ле­ния цве­та пик­се­ля по­верх­но­сти пла­не­ты (т.е. цве­та пик­се­ля ге­не­ри­ру­е­мой тек­сту­ры). Для до­сти­же­ния боль­шой де­та­ли­за­ции не­об­хо­ди­мо су­ще­ствен­но уве­ли­чить чис­ло ок­тав раз­лич­ных шу­мо­вых функ­ций, а так­же на­пи­сать функ­ции для ге­не­ра­ции тек­стур раз­ных ма­те­ри­а­лов (на­при­мер, в вер­сии 0.94 мож­но уви­деть слои на скло­нах гор - это при­мер та­кой функ­ции).

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

Де­та­ли­за­ция по­верх­но­сти пла­нет око­ло од­но­го мет­ра на пик­сель (это зна­чит что бли­же 100 мет­ров от по­верх­но­сти за­мет­на её пик­се­ли­за­ция). Это огра­ни­че­ние движ­ка, обу­слов­лен­ное пре­де­лом точ­но­сти float. Даль­ше я пла­ни­рую устра­нить это огра­ни­че­ние и до­стичь де­та­ли­за­ции 0.1-1.0 см на пик­сель.


Просмотров: 8844 | Добавил: SpaceEngineer | Рейтинг: 4.6/9
Всего комментариев: 211 2 3 »
1 Montesuma  
супер....

2 Digit1990  
Нельзя ли добавить эффект осыпания?
Необходимо (ИМХО) сглаживать вершины (на атмосферных планетах).

С почином!

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

4 Андрей  
Фантастика!

5 Digit1990  
Почему не сделать заранее просчитанные планеты? Скажем штук этак 500?

6 Digit1990  
Почему-то когда я гляжу на звезды (с Земли) никаких крестиков не вижу? К чему бы это? Может мне показаться к окулисту?
smile

7 Digit1990  
Ландшафт формируют:

- горообразовательные процессы
- ветер, вода
- осыпание (гравитация)
- вулканы
- удары из космоса
- человек

8 SpaceEngineer  
Digit1990

>Почему не сделать заранее просчитанные планеты? Скажем штук этак 500?
С какой детализацией? С такой, при которой будет видна эрозия на горах? Тогда каждая планета займёт терабайт 20 smile

>Почему-то когда я гляжу на звезды (с Земли) никаких крестиков не вижу? К чему бы это? Может мне показаться к окулисту?
Посмотри не на звезду, а на электросварку издалека. Видишь лучи? Человек обычно видит 6-лучевую структуру с кучей вторичных лучиков. Зеркальный телескоп "видит" 4-лучевую дифракционную стркутуру, если вторичное зеркало поддерживается 4 опорами, или 6-лучевую, если опор 6. Этот эффект проявляется только при достаточно ярком источнике.

>Ландшафт формируют:
Это всё понятно. Попытаюсь ещё раз объяснить, почему сложно реализовать эрозию на процедурных планетах: http://spaceengine.org/blog/o_ehrozii_na_planetakh/2011-08-02-2

9 Digit1990  
не в растровой, а в векторной форме

10 SpaceEngineer  
А как вектора потом переводить в растр? Движок работает только с растром.

1-10 11-20 21-21
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]