Войти
ПрограммированиеФорумГрафика

Атмосфера: вид из космоса и с поверхности (7 стр)

Страницы: 16 7 8 912 Следующая »
#90
1:20, 2 окт. 2009

Возможно не совсем в тему и немного поздно, но касательно используемого тифа в PrecomputedAtmosphericScattering.zip. IrfanView действительно просто смотрелка и хотя совсем не плохая, с Альфа-каналом у него всегда были проблемы. Я для подобных целей использую Imagine, а для редактирования PhotoImpact или GIMP (что гораздо лучше). А в итоге нет смысла с этим тифом воевать, в сети полно готовых PNG изображений с Альфа-каналом, плюс ещё к этому и Bump изображения можно скачать.


#91
2:24, 2 окт. 2009

to Chertov

так как откомпилировать С-шные исходники у меня нет возможности, закачал архив http://narod.ru/disk/12437336000/Earth%20Render.rar.html, но exe-шник не запускается. Идёт сообщение о некорректно настроенном приложении.

#92
11:36, 1 мар. 2010

Наконец-то руки дошли сделать брунетоновскую атмосферу ( http://www-evasion.imag.fr/Membres/Eric.Bruneton/ ). Пришлось изрядно повозиться... Ещё раз убеждаюсь в той истине, что понимать чужой код сложнее, чем написать свой собственный. Теперь бы ещё сделать лайт шафты (тени от гор в атмосфере), тем более что они нужны так же для теней от затмений и кольц. Кто делал, отзовитесь! И ещё: кто знает, где взять параметры для атмосфер других планет (Марс, Венера, Титан)?

scr00072 | Атмосфера: вид из космоса и с поверхности
scr00074 | Атмосфера: вид из космоса и с поверхности
scr00075 | Атмосфера: вид из космоса и с поверхности
scr00076 | Атмосфера: вид из космоса и с поверхности
scr00077 | Атмосфера: вид из космоса и с поверхности
scr00078 | Атмосфера: вид из космоса и с поверхности
#93
21:00, 1 мар. 2010

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

#94
21:32, 1 мар. 2010

Как я понял, у него данные для лайтшафтов рендерятся в одну текстуру, т.е. если сделать в горе сковзую дырку, шафты от неё будут неправильными, или вообще не будут. А мне как раз нужен случай со множеством теней, которые пересекает луч зрения. Например тени от колец планеты. Правильный подход - рассчитывать скаттеринг для каждого пересечения луча зрения с границей теневого объёма, и суммировать те области, куда попадают прямые солнечные лучи... Но это боюсь уже будет не риал-тайм.

#95
21:33, 1 мар. 2010

Интересно.
2 вопроса -
-Ландшафт самозатеняющийся? Если да, то как это сделано?
-На что рисуется атмосфера? Должна быть какая-то подложка за планетой, или с альфой перед? С той частью, что на ландшафте - понятно, а на небе к чему шейдер применять?

#96
0:06, 2 мар. 2010

Artlav
> -Ландшафт самозатеняющийся? Если да, то как это сделано?

Не, ландшафт без теней, это просто нормали. Для теней думал юзать аналог параллакс маппинга - трассировка луча в пиксельном шейдере от пикселя к солнцу, но встаёт проблема, как учесть соседние патчи ландшафта. В принципе раз для лайтшафтов нужны стенсильные объёмы, их же можно юзать и для теней. Вот стенсильные тени не дружат с полупрозрачными объектами вроде облаков и колец:(

> -На что рисуется атмосфера? Должна быть какая-то подложка за планетой, или с
> альфой перед? С той частью, что на ландшафте - понятно, а на небе к чему шейдер
> применять?

На ландшафте эффект атмосферы в самом пиксельном шейдере ландшафта. 4 вызова функций, относящихся к атмосфере - 1 для ослабления и покраснения света Солнца, второй для скайлайта (освещение земли небом), третий для поглощения света на пути от пикселя к камере, четвёртый - скаттеринг на пути от пикселя к камере. В итоге получается 7 обращений к предрассчитанным текстурам - очень быстро.

Небо - это прозрачная сфера вокруг планеты, радиусом радиус планеты плюс высота атмосферы. Лицевые грани - внутрь, поэтому при взгляде с поверхности получается небо, а из космоса - каёмка вокруг планеты. В принципе можно оптимизировать, в космосе делать веер из полигонов, как в посте 79, на земле -  скайдом, но т.к. атмосфера полностью в пиксельном шейдере, ей пофиг на полигоны. В шейдере неба только обращение к фукнкции скаттеринга, но есть одна тонкость, очень важная для меня - это поглощение, т.е. ослабление света объектов, что за атмосферой. Проблема в том, что оно избирательное, т.е. RGB, просто в альфу его не засунуть - Солнце на закате темнеет и краснеет, а не просто темнеет. Как с этим быть, не знаю... Было бы идеально, если бы было три альфа канала - AR, AG, AB:) А так наверное придётся рендерить небо непрозрачным, но передавать в шейдер текстуру с отрендеренным фоном, тогда можно будет результирующий цвет считать как цвет из текстуры умножить на поглощение плюс скаттеринг. Или вообще делать всю атмосферу постпроцессингом. У меня подозрение, что Брунетон так и делал, тем более в статье описывается на алгоритм, похожий на deferred lighting. Отсюда эта странная штука в демке - просто квад на весь экран и шейдер, похожий на трассировщик лучей.

#97
5:17, 14 мар. 2010

Neptune, это супер!
На 4 скрине (там где закат) чуть не подавился! Дисней мульты хуже рендерит)))

Несколько месяцев назад я выкладывал исходничок этой атмосферы, который смог скомпилить. Получалось там просто синяя атмосфера и текстура под ней. На границе космос/атмосфера были белые точки, насколько я помню, сказали что это из-за того что шейдер обрабатывает лишь один квад.
Ландшафт писал отдельно... без высоты, просто текстуру натягивал на куски сферы, которые делил по мере приближения к камере.
http://www.youtube.com/watch?v=-42pnu0Mi84
Уперся в то, что не могу соединить эту атмосферу и свою планету... даже без карты высот было бы уже классно.
Все вершины планеты храню в VBO... если не трудно, подскажите, пожалуйста, как это свести.
Ковырялся в исходниках, но так и не догнал как оно рисует атмосферу... там вызывался шейдер для 4-угольника вроде бы. Как ему подсовывать свою геометрию и текстуры не понял.
Пытался вместо него рисовать буфферы VBO моей планеты... не получилось. Т.к. красота - не основная цель пришлось на это забить...

Исходники атомсферы, которые мне удалось скомпилить (собирал их под VS2008 + либы нвидии) могу выложить снова, а также свой код генерировалки планеты, хоть он довольно страшный, если чего получится наведу порядок. Хотел замутить маленький опенсорсный "шаблон" красивой Земли на основе этой атмосферы, своей сетки и насовских текстур, но в кучу все собрать не получилось.

Нужна эта штука для визуализации научных расчетов, поэтому особой красоты не требовалось, но хотелось покрасивее)
Если есть время и желание прошу помочь.

#98
10:50, 23 июня 2010

Насчёт Брюнетона. Что с этим файлом "earth.tiff"? Приложение крашиться при попытке его загрузить. Никто не сталкивался с этой проблемой? Могу проект скинуть, если что.

#99
0:51, 3 июля 2010

Капец, никто не может запустить демку:) Скачайте бинарники libtiff с официального сайта, поместите их в папку студии, и всё сразу скомпилится! И загружаться будет без проблем!

#100
9:22, 3 июля 2010

Я смог, после того как пост написал скачал libtiff и всё получилось.)

Кому надо могу скинуть проект, если что.

#101
6:35, 20 июля 2010

Как зделать подобное на Delphi+OpenGL а ещё лучше на GLScene ?

#102
9:53, 20 июля 2010

ajp
Так же как и на C/C++. Просто портируй код для создания текстур и фреймбуферов, а также создания шейдеров и получения их uniform"ов необходимых для расчёта.
А шейдеры можешь взять теже. В чём трудности?

#103
10:34, 20 июля 2010

someone
Просто надеялся кто-то уже реализовал, а то спортированием туго.

#104
11:02, 20 июля 2010

ajp
Хороший повод перейти на C/C++.

Страницы: 16 7 8 912 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.