Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
184 / 24 / 4
Регистрация: 18.01.2011
Сообщений: 359

Несколько камер

23.12.2015, 10:19. Показов 2343. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Проблема следующая, как известно, принято сначала указывать камеру, например:
C++
1
2
3
4
5
6
7
8
9
            
                        glLoadIdentity();
            glViewport (0, 0, WidthMonitor, HightMonitor); 
            glMatrixMode(GL_PROJECTION);  //Запоминает основное состояние обзора
            glLoadIdentity();  //востанавливает основное состояние обзора
            gluPerspective(45,:)GLfloat) (WidthMonitor*1.2/HightMonitor),0.125,Perspectiv);
            glTranslatef(0, 0, -8.0); //чуть сдвинем камеру назад по z
                        glRotatef(-60, 1.0f, 0.0f, 0.0f );  //повернем на 60 градусов
            glMatrixMode(GL_MODELVIEW);
а затем отрисовывать всю сцену.
Мне же необходимо во время отрисовки переключаться с одной камеры на другую. с одного вида сцены на днругой.
Разумеется можно под каждую камеру отрисовывать сцену отдельно, но, считаю, что должен быть более адекватный способ. За ранее спасибо за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.12.2015, 10:19
Ответы с готовыми решениями:

Несколько веб-камер
Вопрос, как программно получать картинку с разных web-камер, подключенных к одному компьютеру? Предваряя вопрос, возникающий в...

ПО для IP камер
всем привет, установили в офисе ip-камеры hikvision ds-2cd2022-i (15 камер), теперь не могу найти удобное ПО на компьютер начальника...

синхронизация ip камер
здравствуйте. кто-нибудь знает про эту технологию синхронизации сетевых камер ? может название знаете или описание подробное где-то...

5
Программист велосипедист
 Аватар для hays
161 / 48 / 7
Регистрация: 23.11.2014
Сообщений: 313
25.12.2015, 04:36
Во первых командой glTranslatef(); вы трансформируете MVP а не камеру .
Во вторых что вам мешает использовать стеки со значениями MVP пишется вроде так glPushMatrix();
0
184 / 24 / 4
Регистрация: 18.01.2011
Сообщений: 359
25.12.2015, 09:24  [ТС]
Нет, glTranslatef(); перед glMatrixMode(GL_MODELVIEW); влияет на камеру. Стеки использую.
Раскрою суть проблемы. Я делаю отражение в воде. соотв-но принскрин экрана в положении камеры из воды. Соотв-но делаю так, сначала камеру ставлю как бы из воды смотрит, делаю отрисовку, а затем, устанавливаю камеру по умолчанию и снов аотрисовка. 1ю отрисовку загоняю в тексутру. Вобщем 2 отрисовки за кадр. не хорошо както. Можно ли....по другому?
0
Программист велосипедист
 Аватар для hays
161 / 48 / 7
Регистрация: 23.11.2014
Сообщений: 313
25.12.2015, 11:43
Лучший ответ Сообщение было отмечено Андрей2011 как решение

Решение

Если нужно два ракурса то тут минимум 2 переключение проекций так что это нормально .
1
184 / 24 / 4
Регистрация: 18.01.2011
Сообщений: 359
25.12.2015, 13:58  [ТС]
ок. спасибо.
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,377
Записей в блоге: 6
25.12.2015, 14:30
Лучший ответ Сообщение было отмечено Андрей2011 как решение

Решение

Цитата Сообщение от Андрей2011 Посмотреть сообщение
Можно ли....по другому?
Нет.
Как я понял, невозможно растеризовать за одни проход с нескольких точек обзора так как аппаратно на вход растеризатора с каждой вершины поступает жёстко зашитая структура:
C
1
2
3
4
5
gl_PerVertex { 
  vec4 gl_Position; 
  float gl_PointSize; 
  float gl_ClipDistance[]; 
}
Основываясь на этой структуре и на типе примитива растеризатор генерирует множество фрагментов.
В вашем же случае требуется 2 копии такой структуры с каждой вершины(или хотя бы 2 gl_Position) и 2 копии выходных буферов.
Вообщем, несмотря на то что современный GL уже давно может заполнять несколько буферов одновременно (MRT) именно непрограммируемость входных параметров растеризатора блокирует очевидную возможность рендера с нескольких точек обзора.

Хотя уже придумали некий обход этого ограничения. В частности для генерации стереоэффекта опять требуется обзор с нескольких позиций. Идею до конца не понял, так что врать не буду. Только понял что используют геометрический шейдер(GL33/DX11) для дублирования примитивов однако всё равно требуется некая магия для разделения результирующий буферов... вообщем будет время ещё поковыряю это направление. Или если кто до меня покажет все тонкости работы однопроходного рендера с нескольких позиций буду безмерно благодарен и счастлив
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.12.2015, 14:30
Помогаю со студенческими работами здесь

Коммутация камер
Не разобралась куда писать, поэтому пишу в эту тему: Есть 5 видеокамер, с возможностью подключения по usb. Возможно ли поставить...

Wi fi для IP камер
Добрый день.История такая...Объект-крупный элеватор,областного масштаба.На нем находятся три самых высоких здания высотой 80,60 и 40...

Изображение с 4 камер
добрый вечер ребят. На новом пк с Win7 установил 4 web камеры и одновременно работают только 3, хотя на другом пк работали все 4. Я...

Переключение камер
Проблема в том, что когда создаю public Camera cam1 и уже в unity выбираю нужную мне камеру она просто не выбирается и нечего не происходит.

Беспроводная сеть ip камер
Здравствуйте друзья, проконсультируйте пожалуйста. Стоит задача, по созданию беспроводной сети ip камер в количестве 13 штук, здания на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru