English Новый сайт

Расширенный поиск

[ Новые сообщения · Пользователи · Правила ]
Страница 4 из 4«1234
Форум » SpaceEngine » Обратная связь и предложения » Повышение реалистичности процедурных планет (Повышение реалистичности процедурных планет)
Повышение реалистичности процедурных планет
NuclearCHEДата: Воскресенье, 18.11.2012, 08:02 | Сообщение # 46
Первооткрыватель
Группа: Пользователи
Российская Федерация
Сообщений: 435
Награды: 0
Статус: Offline
Quote (SpaceEngineer)
Палнеты так и работают. Только сегменты (ноды) не 2000х2000 км, а в виде дерева с разными лодами, от 6 нодов на всю планету (как грани куба) до сверхдетальных нодов размером 300*300 метров. при этом разренение каждого нода одинаковое - 256*256 пикселей, а лод выбирается в зависимости от расстояния.

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


Config: Gigabyte GTX 770 (2048 MB/256 bit) , Intel Core i5 2400 3,1GHz, 8Gb DDR3, W10 x64
mindstalkerДата: Воскресенье, 18.11.2012, 14:57 | Сообщение # 47
Космический пилот
Группа: Команда SE
Российская Федерация
Сообщений: 96
Награды: 0
Статус: Offline
Quote (alexxbumer1)
Если я не ошибаюсь mindstalker, приводит пример проги Wilbur?


Нет, это я по быстрому в 3ds Max'е набросал...

Quote (NuclearCHE)
То-есть пока планета в кеше, но мы очень далеко от неё( на другом конце системы например) она куб?


Если я правильно понимаю технологию, то когда мы очень далеко, планета - спрайт (плоский квадрат ;).

Кэшируется не геометрия а текстура. И вот этих текстур верхнего уровня - шесть (на самом низком лоде). Они накладываются на грани "раздутого" до сферы куба.



Детали см. здесь


Windows 7 x64; Core i5-2500K (3.3 Ghz); 8Gb RAM; Radeon HD 6950 2Gb
alexxbumer1Дата: Воскресенье, 18.11.2012, 15:30 | Сообщение # 48
Нет аватара
Наблюдатель
Группа: Пользователи
Казахстан
Сообщений: 13
Награды: 0
Статус: Offline
Я это понимаю. Хотел предложить другое, просто выразился коряво в 1 ночи))) разделить генерацию на 2 этапа, сейчас она идет процедурно, как я понимаю. При приближении идет генерация планеты лодов и т.п.. Так оставить на 1 этапе. А уже при посадке создать 2 этап генерации. Болиие глобальный расчет с атмосферой и всем остальным. Что бы движек не перенапригался, а работал на планету по которой ходишь. Атмосферные эффекты сильно загрузят движок в такой глобальной системе как сейчас. А хочется планету во всей красе ощутить. Пусть даже не так быстро грузиться и выгружаться при взлете все будет. Высадился на планету идет ее генерация с водой, физикой атмосферой химией. Не отдельной процедурой движка, а полностью движком на 90% 10% на расчет движения в солнечной системе тел. Я не знаю как это называется на языке программистов))) Когда часть программы выгружается а часть загружается. Вот в чем мое предложение.
SpaceEngineerДата: Воскресенье, 18.11.2012, 16:21 | Сообщение # 49
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5542
Награды: 54
Статус: Offline
Quote (mindstalker)
То-есть пока планета в кеше, но мы очень далеко от неё( на другом конце системы например) она куб? Если я правильно понимаю технологию, то когда мы очень далеко, планета - спрайт (плоский квадрат ;). Кэшируется не геометрия а текстура. И вот этих текстур верхнего уровня - шесть (на самом низком лоде). Они накладываются на грани "раздутого" до сферы куба.

Не куб и не спрайт, а шарик с одной текстурой 256*128, если подлететь ближе - шарик с 6 текстурами, ещё ближе - каждая рекурсивно делится на 4.

Quote (alexxbumer1)
Не отдельной процедурой движка, а полностью движком на 90% 10% на расчет движения в солнечной системе тел. Я не знаю как это называется на языке программистов))) Когда часть программы выгружается а часть загружается. Вот в чем мое предложение.

Всё равно не поятно. Зачем что-то выгружать, SE и так генерирует, обсчитывает и рендерит только то что непосредственно видно или влияет на видимые объекты.


mindstalkerДата: Понедельник, 19.11.2012, 18:42 | Сообщение # 50
Космический пилот
Группа: Команда SE
Российская Федерация
Сообщений: 96
Награды: 0
Статус: Offline
Quote (SpaceEngineer)
Не куб и не спрайт, а шарик с одной текстурой 256*128, если подлететь ближе - шарик с 6 текстурами, ещё ближе - каждая рекурсивно делится на 4.


Так ведь с другого конца системы на месте планеты видна лишь звездочка (если не использовать экстремально маленький FOV). Я и предположил, что эта звездочка отрисовывается как спрайт biggrin
Или даже на таком расстоянии генерируется геометрия планеты?




И вопрос про повышение реалистичности:
А что мешает реализовать процедурную детализацию для планет с заданными вручную текстурами?

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

Или есть какие-то подводные камни?




Нашел объяснение проблем в теме про SpaceEngine на gamedev.ru.



Windows 7 x64; Core i5-2500K (3.3 Ghz); 8Gb RAM; Radeon HD 6950 2Gb

Сообщение отредактировал mindstalker - Понедельник, 19.11.2012, 20:40
SpaceEngineerДата: Вторник, 20.11.2012, 12:49 | Сообщение # 51
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5542
Награды: 54
Статус: Offline
Quote (mindstalker)
Так ведь с другого конца системы на месте планеты видна лишь звездочка (если не использовать экстремально маленький FOV). Я и предположил, что эта звездочка отрисовывается как спрайт Или даже на таком расстоянии генерируется геометрия планеты?

Да, звёздочка-спрайт.

Quote (mindstalker)
И вопрос про повышение реалистичности: А что мешает реализовать процедурную детализацию для планет с заданными вручную текстурами? Как я понимаю, достаточно на тех нодах, для которых нет заданной вручную текстуры/карты высот, запустить алгоритм процедурной генерации текстур/карт высот поверхности, считая ноды уровнем выше (для которых текстуры есть) предыдущей итерацией (т.е. не считать первые несколько октав шума, а остальные накладывать на существующую текстуру). Или есть какие-то подводные камни?

Мешает то, что нет никаких итераций. Генератор создаёт текстуру любого уровня сразу со всеми октавами шумов. Чтобы сделать последовательную генерацию, используя верхние уровни как основу, нужно сильно переделывать генератор. А для реальных планет нужна как-то генерировать цветовую текстуру, учитываю цвета последнего уровня с реальными текстурами.


Форум » SpaceEngine » Обратная связь и предложения » Повышение реалистичности процедурных планет (Повышение реалистичности процедурных планет)
Страница 4 из 4«1234
Поиск:

>