Название: [РЕШЕНО] OpenGl для космоса Отправлено: deMax от Январь 22, 2014, 15:49 Как нарисовать космос в OpenGl?
Размер объектов от наземной антенны или спутника связи до галактик отличается в огромное число раз, естественно напрямую космос не нарисовать. Хотелось бы сделать через слои, в начале рисую звезды в масштабе 1.0f = 100...00км, потом солнечную систему в масштабе 1.0f=1000км, потом мелкие объекты в масштабе 1.0f=1 метр. p.s. Где взять каталог звезд, например до 7ой величины и skybox для галактик? p.s.s. Про программы celestia и stellarium с открытыми исходниками знаю. Есть еще space engine без исходников с фантастической графикой и вымышленными звездами в местах недоступных нашим телескопам. Название: Re: OpenGl для космоса Отправлено: Igors от Январь 22, 2014, 17:03 Резвый старт, сразу каталог звезд :) А между тем отрисовать даже звезды в виде случайно разбросанных точек - не так уж просто. Что будет если наблюдатель/камера "вертит головой"? Т.е. откуда возьмутся случайные но воспроизводимые позиции точек?
Ну а там "стожары" всякие - нужно хорошо знать розовый шум. Название: Re: OpenGl для космоса Отправлено: Serr500 от Январь 22, 2014, 17:13 http://www.usno.navy.mil/USNO/astrometry/optical-IR-prod/ucac (http://www.usno.navy.mil/USNO/astrometry/optical-IR-prod/ucac)
Название: Re: OpenGl для космоса Отправлено: deMax от Январь 23, 2014, 08:32 Резвый старт, сразу каталог звезд :) А между тем отрисовать даже звезды в виде случайно разбросанных точек - не так уж просто. Что будет если наблюдатель/камера "вертит головой"? Т.е. откуда возьмутся случайные но воспроизводимые позиции точек? Мне нужны реальные данные, а не процедурная фантазия. Для стожаров нужен очень узкий угол обзора(или зум) у меня его не будет, галактику можно скайбоксом отрисовать.Ну а там "стожары" всякие - нужно хорошо знать розовый шум. Меня про возможность слоев больше вопрос интересует. Название: Re: OpenGl для космоса Отправлено: кып от Январь 24, 2014, 13:57 , потом солнечную систему в масштабе 1.0f=1000км, Какие масштабы???Попробуйте принять размер Земли за 1 пиксел, нет даже за 1/100 пиксела, и посчитайте на каком расстоянии нужно будет нарисовать Солнце, ну и его размер. Название: Re: OpenGl для космоса Отправлено: Igors от Январь 24, 2014, 14:52 Мне нужны реальные данные, а не процедурная фантазия. Конечно если это требование заказчика, то и обсуждать нечего. А иначе фантазия куда приятнее - творческая работа вместо долбления каталогов. Если говорить о реальных данных, то какие там "километры"? Звезды/планеты меряются в телесных углах. Меня про возможность слоев больше вопрос интересует. Ну и в чем проблема? Берете по QPixmap (или QImage) на каждый слой, спокойно рисуете (можно параллельно), на выходе комбинируетеНазвание: Re: OpenGl для космоса Отправлено: Vamireh от Январь 24, 2014, 22:57 http://habrahabr.ru/post/150541/ (http://habrahabr.ru/post/150541/)
тут немножко написано о том, как "нарисовать космос" Название: Re: OpenGl для космоса Отправлено: deMax от Февраль 13, 2014, 11:16 Vamireh, спасибо. У меня установлен space engine - очень крутая программа, респект автору (жалко что не очень стабильна, но зато очень красивая). Может и в игру когда перерастет.
Цитировать тут немножко написано о том, как "нарисовать космос" Цитировать Да и сам рендеринг происходит слоями, так как никакой точности z-буфера не хватит для учёта размеров вселенной. Это все что там написанно(ну еще про координаты чуть). И как в OpenGL реализовать слои?Может очищать zbuffer перед рисованием следующего слоя? Попробуйте принять размер Земли за 1 пиксел, нет даже за 1/100 пиксела, и посчитайте на каком расстоянии нужно будет нарисовать Солнце, ну и его размер. В OpenGL нет пикселей, есть условные единицы.p.s. решение - нужно использовать слои. Название: Re: OpenGl для космоса Отправлено: vulko от Март 06, 2014, 16:06 Vamireh, спасибо. У меня установлен space engine - очень крутая программа, респект автору (жалко что не очень стабильна, но зато очень красивая). Может и в игру когда перерастет. Цитировать тут немножко написано о том, как "нарисовать космос" Цитировать Да и сам рендеринг происходит слоями, так как никакой точности z-буфера не хватит для учёта размеров вселенной. Это все что там написанно(ну еще про координаты чуть). И как в OpenGL реализовать слои?Может очищать zbuffer перед рисованием следующего слоя? Попробуйте принять размер Земли за 1 пиксел, нет даже за 1/100 пиксела, и посчитайте на каком расстоянии нужно будет нарисовать Солнце, ну и его размер. В OpenGL нет пикселей, есть условные единицы.p.s. решение - нужно использовать слои. нахрена слои в opengl'е? он вам и звезды и не только нарисует сам, главное создать сцену. Название: Re: OpenGl для космоса Отправлено: deMax от Апрель 21, 2014, 09:56 нахрена слои в opengl'е? он вам и звезды и не только нарисует сам, главное создать сцену. Это не я про слои придумал - так сделанно в space engine. Вы себе представляете масштабы космоса? opengl его не способен напрямую отобразить.Название: Re: OpenGl для космоса Отправлено: vulko от Апрель 21, 2014, 12:44 нахрена слои в opengl'е? он вам и звезды и не только нарисует сам, главное создать сцену. Это не я про слои придумал - так сделанно в space engine. Вы себе представляете масштабы космоса? opengl его не способен напрямую отобразить.opengl способен отрисовывать часть 3х мерного пространства. можно задать точку камеры, точку куда смотрит камера и пару плоскостей ограничивающих полученную пирамиду. Получается усеченная пирамида пространства, которую будет отображать opengl. |