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

Мерцание звёзд на небе

Страницы: 1 2 Следующая »
#0
18:46, 30 дек. 2010

Здравствуйте, вот задумался о создании ночного звёздного неба. Но пока понятия не имею как это сделать, даже алгоритма не могу придумать. Я так понимаю нужно взять чёрный skydome, текстуру звёзд, как-то рандумно раставить, а мерцание.... хм загадка. Ведь на каждую звезду источник света не поставишь - это затратно. Кто-нибудь делал подобное? Можете подсказать алгоритм, статейки или ещё что-нибудь полезное по этой теме.
Спасибо за внимание.


#1
18:52, 30 дек. 2010

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

#2
18:55, 30 дек. 2010

http://graphics.ucsd.edu/~henrik/papers/nightsky/
там PDF статья

еще http://www.stellarium.org/
там с исходниками + реальные траектории космических объектов.

ну и хороший каталог звёзд с кординатами:
http://cdsarc.u-strasbg.fr/viz-bin/Cat?V/50

#3
18:56, 30 дек. 2010

Хм, что мешает написать шейдер, который меняет яркость текстуры функцией вида F(u,v,t) , где u, v - текстурные координаты, t - время?

#4
19:05, 30 дек. 2010

Мерцание звёзд - это эффект прохождения света через атмосферу неоднородной плотности, чем плотнее, грязнее и т.д., тем больше мерцают.
Я делал просто - изменял яркость по синусу, расстоянию и угловым координатам (что бы все звёзды не в одной фазе мерцали), с большой скоростью изменял яркость от 50% до 100%. Зависит от Visual Magnitude звезды и положения наблюдателя над поверхностью земли.
Честно мало кто заметит как правильно мерцает звезда. Глаз ловит только изменение яркости.

#5
19:09, 30 дек. 2010

да сделай ты скайдом с редкой текстурой звёзд отшарпленной и блюмом его..... блюмом!!!

#6
19:49, 30 дек. 2010

Спасибо за Ваши ответы, постараюсь максимально разобрать каждый из предложенных вариантов, возникнут вопросы отпишусь, ещё раз благодарю.

#7
20:48, 30 дек. 2010

Если звёзды генерируются шумом перлина, то для мерцания достаточно слегка трясти скайбокс. Звёзды будут попадать мимо пикселей и их цвет будет сильно отличаться, отсюда и мерцание.

#8
0:40, 31 дек. 2010

HandriX
> и блюмом его..... блюмом!!!

Должно быть ты имел ввиду Blur, но всеравно xD, ибо СМЕШНО

#9
0:48, 31 дек. 2010

OpenDX
> Должно быть ты имел ввиду Blur, но всеравно xD, ибо СМЕШНО

что имел ввиду, то и сказал...

#10
8:22, 31 дек. 2010

Странно, никогда не замечал что звезды мерцают.
Да и в Сталкере не видел, и в Кризисе тоже не видел.
Вопрос - нафига такое делать?

#11
8:53, 31 дек. 2010

Делал мерцающее небо в 2D игре так:

Отрисовываем текстуру с обычными немерцающими звездами.
Поверх отрисовываем черную (цвета неба) текстуру медлено скролящуюся по небу, и имеющую рваную маску в альфаканале с резкими границами. Маска перекрывает звезды, заставляя их мерцать. Юзал такое как в DD так и в D3D выглядит хорошо.

#12
9:03, 31 дек. 2010

Megabyte-Ceercop
+1

#13
13:03, 31 дек. 2010

Megabyte-Ceercop
> Поверх отрисовываем черную (цвета неба) текстуру медлено скролящуюся по небу, и
> имеющую рваную маску в альфаканале с резкими границами.
А, собственно, зачем резкую? Можно и плавный шум, варьирующийся от "чёрного, но почти прозрачного" до "совсем прозрачного".

#14
13:43, 31 дек. 2010

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

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

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