Russian Qt Forum
Ноябрь 23, 2024, 07:13
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
2D и 3D графика
>
[РЕШЕНО] OpenGl для космоса
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [РЕШЕНО] OpenGl для космоса (Прочитано 7691 раз)
deMax
Хакер
Offline
Сообщений: 600
[РЕШЕНО] OpenGl для космоса
«
:
Январь 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 без исходников с фантастической графикой и вымышленными звездами в местах недоступных нашим телескопам.
«
Последнее редактирование: Февраль 20, 2014, 10:10 от deMax
»
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: OpenGl для космоса
«
Ответ #1 :
Январь 22, 2014, 17:03 »
Резвый старт, сразу каталог звезд
А между тем отрисовать даже звезды в виде случайно разбросанных точек - не так уж просто. Что будет если наблюдатель/камера "вертит головой"? Т.е. откуда возьмутся случайные но воспроизводимые позиции точек?
Ну а там "стожары" всякие - нужно хорошо знать розовый шум.
Записан
Serr500
Гость
Re: OpenGl для космоса
«
Ответ #2 :
Январь 22, 2014, 17:13 »
http://www.usno.navy.mil/USNO/astrometry/optical-IR-prod/ucac
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: OpenGl для космоса
«
Ответ #3 :
Январь 23, 2014, 08:32 »
Цитата: Igors от Январь 22, 2014, 17:03
Резвый старт, сразу каталог звезд
А между тем отрисовать даже звезды в виде случайно разбросанных точек - не так уж просто. Что будет если наблюдатель/камера "вертит головой"? Т.е. откуда возьмутся случайные но воспроизводимые позиции точек?
Ну а там "стожары" всякие - нужно хорошо знать розовый шум.
Мне нужны реальные данные, а не процедурная фантазия. Для стожаров нужен очень узкий угол обзора(или зум) у меня его не будет, галактику можно скайбоксом отрисовать.
Меня про возможность слоев больше вопрос интересует.
Записан
кып
Гость
Re: OpenGl для космоса
«
Ответ #4 :
Январь 24, 2014, 13:57 »
Цитата: deMax от Январь 22, 2014, 15:49
, потом солнечную систему в масштабе 1.0f=1000км,
Какие масштабы???
Попробуйте принять размер Земли за 1 пиксел, нет даже за 1/100 пиксела, и посчитайте на каком расстоянии нужно будет нарисовать Солнце, ну и его размер.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: OpenGl для космоса
«
Ответ #5 :
Январь 24, 2014, 14:52 »
Цитата: deMax от Январь 23, 2014, 08:32
Мне нужны реальные данные, а не процедурная фантазия.
Конечно если это требование заказчика, то и обсуждать нечего. А иначе фантазия куда приятнее - творческая работа вместо долбления каталогов. Если говорить о реальных данных, то какие там "километры"? Звезды/планеты меряются в телесных углах.
Цитата: deMax от Январь 23, 2014, 08:32
Меня про возможность слоев больше вопрос интересует.
Ну и в чем проблема? Берете по QPixmap (или QImage) на каждый слой, спокойно рисуете (можно параллельно), на выходе комбинируете
Записан
Vamireh
Гость
Re: OpenGl для космоса
«
Ответ #6 :
Январь 24, 2014, 22:57 »
http://habrahabr.ru/post/150541/
тут немножко написано о том, как "нарисовать космос"
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: OpenGl для космоса
«
Ответ #7 :
Февраль 13, 2014, 11:16 »
Vamireh
, спасибо. У меня установлен space engine - очень крутая программа, респект автору (жалко что не очень стабильна, но зато очень красивая). Может и в игру когда перерастет.
Цитировать
тут
немножко
написано о том, как "нарисовать космос"
Цитировать
Да и сам рендеринг происходит слоями, так как никакой точности z-буфера не хватит для учёта размеров вселенной.
Это все что там написанно(ну еще про координаты чуть). И как в OpenGL реализовать слои?
Может очищать zbuffer перед рисованием следующего слоя?
Цитата: кып от Январь 24, 2014, 13:57
Попробуйте принять размер Земли за 1 пиксел, нет даже за 1/100 пиксела, и посчитайте на каком расстоянии нужно будет нарисовать Солнце, ну и его размер.
В OpenGL нет пикселей, есть условные единицы.
p.s. решение - нужно использовать слои.
«
Последнее редактирование: Февраль 20, 2014, 10:09 от deMax
»
Записан
vulko
Гость
Re: OpenGl для космоса
«
Ответ #8 :
Март 06, 2014, 16:06 »
Цитата: deMax от Февраль 13, 2014, 11:16
Vamireh
, спасибо. У меня установлен space engine - очень крутая программа, респект автору (жалко что не очень стабильна, но зато очень красивая). Может и в игру когда перерастет.
Цитировать
тут
немножко
написано о том, как "нарисовать космос"
Цитировать
Да и сам рендеринг происходит слоями, так как никакой точности z-буфера не хватит для учёта размеров вселенной.
Это все что там написанно(ну еще про координаты чуть). И как в OpenGL реализовать слои?
Может очищать zbuffer перед рисованием следующего слоя?
Цитата: кып от Январь 24, 2014, 13:57
Попробуйте принять размер Земли за 1 пиксел, нет даже за 1/100 пиксела, и посчитайте на каком расстоянии нужно будет нарисовать Солнце, ну и его размер.
В OpenGL нет пикселей, есть условные единицы.
p.s. решение - нужно использовать слои.
нахрена слои в opengl'е? он вам и звезды и не только нарисует сам, главное создать сцену.
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: OpenGl для космоса
«
Ответ #9 :
Апрель 21, 2014, 09:56 »
Цитата: vulko от Март 06, 2014, 16:06
нахрена слои в opengl'е? он вам и звезды и не только нарисует сам, главное создать сцену.
Это не я про слои придумал - так сделанно в space engine. Вы себе представляете масштабы космоса? opengl его не способен напрямую отобразить.
Записан
vulko
Гость
Re: OpenGl для космоса
«
Ответ #10 :
Апрель 21, 2014, 12:44 »
Цитата: deMax от Апрель 21, 2014, 09:56
Цитата: vulko от Март 06, 2014, 16:06
нахрена слои в opengl'е? он вам и звезды и не только нарисует сам, главное создать сцену.
Это не я про слои придумал - так сделанно в space engine. Вы себе представляете масштабы космоса? opengl его не способен напрямую отобразить.
opengl способен отрисовывать часть 3х мерного пространства. можно задать точку камеры, точку куда смотрит камера и пару плоскостей ограничивающих полученную пирамиду. Получается усеченная пирамида пространства, которую будет отображать opengl.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...