Russian Qt Forum
Ноябрь 23, 2024, 19:35
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
2D и 3D графика
>
Тени в OpenGL
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Тени в OpenGL (Прочитано 12476 раз)
SOL
Гость
Тени в OpenGL
«
:
Ноябрь 01, 2010, 22:37 »
Здравствуйте. Необходимо создать тени в OpenGL. Сцена - горы с одним направленным источником (солнцем). К сожалению, в весь механизм шейдеров и OpenGL въезжать нет времени.
При попытке создания теней пробовал 2 статьи с gamedev.ru:
http://www.gamedev.ru/code/articles/?id=4177
http://www.gamedev.ru/code/articles/ShadowMapGLSL
Но к ни одна не подошла по той причине, что компилятор не находит какие-либо gl-овские функции или константы.
Не могли бы вы дать ссылку на урок, подходящий для Qt? Или скинуть сорцы простенького примера?
Записан
xop
Гость
Re: Тени в OpenGL
«
Ответ #1 :
Ноябрь 02, 2010, 12:45 »
Насчет функций - поможет glew.
Насчет собственно теней - разочарую, но разбираться с шейдерами _придется_.
Кстати, из статей вторая более актуальна.
UPD. Чтобы проще было начинать разбираться - советую попробовать поставить RenderMonkey и поковырять хотя бы чуть-чуть шейдеры там. Я например в проекте практически все прототипы делал именно в там, а потом уже переносил в движок.
«
Последнее редактирование: Ноябрь 02, 2010, 12:49 от xop
»
Записан
SOL
Гость
Re: Тени в OpenGL
«
Ответ #2 :
Ноябрь 02, 2010, 14:41 »
Благодарю, но сэмпла бы какого-нить подкинуть
- был бы вообще рад!
Записан
SABROG
Гость
Re: Тени в OpenGL
«
Ответ #3 :
Ноябрь 02, 2010, 18:20 »
В Qt есть интересный класс
QGLShaderProgram
, может найдешь какие-нибудь коды в инете.
Записан
xop
Гость
Re: Тени в OpenGL
«
Ответ #4 :
Ноябрь 03, 2010, 10:07 »
Тут кстати еще такой вопрос - под какое железо это предполагается? Если нужна поддержка интеловских карточек, то скорее всего придется изголяться с Cg и компиляцией в arb-шейдеры, или вообще на директ переползать. Если интеловские карточки не нужны, то все сильно проще.
Записан
SOL
Гость
Re: Тени в OpenGL
«
Ответ #5 :
Ноябрь 03, 2010, 12:20 »
С желехом вроде всё ОК, GeForse8600 GTM
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Тени в OpenGL
«
Ответ #6 :
Ноябрь 03, 2010, 13:22 »
xop
, если нетрудно расскажите (в общих чертах) что такое bitmap тень в OpenGL. Для software это текстура (каждая точка float) которая бросается пирамидой от источника. Если расстояние до источника больше значения текстуры - точка в тени. Всегда есть параметр gap (зазор) который пользователю надо подбирать. А как оно в OpenGL? Спасибо
Записан
xop
Гость
Re: Тени в OpenGL
«
Ответ #7 :
Ноябрь 03, 2010, 13:24 »
А, ну тогда берете вторую статью, которую нашли, качаете последнюю GLEW - и вперед, разбираться с shadow map
Записан
xop
Гость
Re: Тени в OpenGL
«
Ответ #8 :
Ноябрь 03, 2010, 13:32 »
Igors
, если shadow map (он сейчас самый распространенный) - то фактически тот же принцип. Рендерим сцену из позиции источника света в текстуру глубины (она обычно 24-битная, как и обычный z-буфер), потом рендерим основную сцену, читая текстуры в шейдере и рассчитывая освещенность. Ну а дальше борьба с артефактами - за счет depth bias/slope (аналог вашего gap наверное), применения искажения перспективы (PSM, LiSPSM, TSM, ...) и/или каскадного подхода для увеличения эффективности использования текстурного места (актуально для глобальных источников света типа солнца на больших пространствах), ну там много всего очень на самом деле. "Devil is in the detail"
Записан
SOL
Гость
Re: Тени в OpenGL
«
Ответ #9 :
Ноябрь 03, 2010, 14:20 »
В Общем ясно, на Qt пока решил забить, буду делать через MFC.
Записан
xop
Гость
Re: Тени в OpenGL
«
Ответ #10 :
Ноябрь 03, 2010, 14:27 »
SOL
, фигасе поворот событий o_O В связи с чем вдруг так? Кстати, с OpenGL работа и там и там почти не отличается, в Qt даже попроще будет.
Записан
SOL
Гость
Re: Тени в OpenGL
«
Ответ #11 :
Ноябрь 03, 2010, 14:38 »
Ну, просто под MFC нашел экзампл рабочий, его проще переделать под мои нужды в отведенные сроки.
Кстати, он из второй статьи
Записан
xop
Гость
Re: Тени в OpenGL
«
Ответ #12 :
Ноябрь 03, 2010, 18:05 »
Кстати, неплохая серия туториалов по современному OpenGL:
http://code.google.com/p/gl33lessons/w/list
Правда пока в разработке, но уже есть интересный материал для начинающих.
Записан
SOL
Гость
Re: Тени в OpenGL
«
Ответ #13 :
Ноябрь 03, 2010, 22:32 »
За последнюю ссылку отдельное спасибо! Всё круто!
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...