Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2011, 23:16   #1
Karp_13
Всё знать хотяка!
Пользователь
 
Аватар для Karp_13
 
Регистрация: 21.04.2009
Сообщений: 67
Радость Освещение в OpenGL - как добиться релистичности, нужен мануал.

Разобрался как в 3D реализован свет в зародыше - три типа: линейный, точечный и прожектор. Куча настроек как для света, так и для материала, который будет под этим светом греться.

Так вот вопрос(ы):
Может кто ткнуть меня носом в хороший мануал по создании реалистичного освещения сцены? Как добиться приблизительной реалистичности сцены на основе предоставляемых примитивных источников света и следом идущего парада настроек? И как выглядит путь через терни к звёздам в области создания изумительноуникальноофигительного освещения тру 3D движка?

Заранее спасибо за сэкономленное время.
Я вредный и нервный, но бдобр.
Karp_13 вне форума Ответить с цитированием
Старый 24.10.2011, 07:05   #2
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Забейте на фиксированный конвеер устаревшего освещения. Лучше сразу к шейдерам высокого уровня
Начинать разрабатывать шейдеры лучше всего в Render Monkey.
Тут есть пример:
http://www.dtf.ru/articles/read.php?id=38592
An1ka вне форума Ответить с цитированием
Старый 24.10.2011, 21:47   #3
Karp_13
Всё знать хотяка!
Пользователь
 
Аватар для Karp_13
 
Регистрация: 21.04.2009
Сообщений: 67
По умолчанию

Шпасиб, буду копаться.))

А тогда моно вопрос более глобального характера?

Если я вдруг наивно, но в тельняшке, задался целью создать собственный тру движок(по минимуму используя сторонние библиотеки) уровня последнего Фаллаута - в какую сторону копать?

Мои познания в 3D, для примера, пока это(я щас заплачу): попробовал два бесплатных движка; с нуля(используя только инструмент "зажечь пиксель" и модуль math.h) написал тормознутый вивер stl файлов(ну так то он не плохо вращает модели из 5000 треугольников... думаю вся беда в том, что я не использовал тогда много поточность... всё рисует один несчастный поток... ну мы не об этом); и вот щас медленно сшиваю по швам свой игровой движок на OpenGL в Dev-Cpp уровня "ХА, да я те энгри бёрдс за два дня напишу!".

Просто хочется увидеть всю глобальность проблемы. Был бы рад тычкам моей рожи в какие нибудь полезные статьи дя таких чайников как я. =3
Я вредный и нервный, но бдобр.
Karp_13 вне форума Ответить с цитированием
Старый 27.10.2011, 10:00   #4
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Karp_13 Посмотреть сообщение
Если я вдруг наивно, но в тельняшке, задался целью создать собственный тру движок(по минимуму используя сторонние библиотеки) уровня последнего Фаллаута - в какую сторону копать?
Во все
Цитата:
Сообщение от Karp_13 Посмотреть сообщение
ну так то он не плохо вращает модели из 5000 треугольников..
Это не много.
Цитата:
Сообщение от Karp_13 Посмотреть сообщение
Мои познания в 3D, для примера, пока это(я щас заплачу): попробовал два бесплатных движка;
Лучше прочитайте книгу, например, "OpenGL суперкнига"
Цитата:
Сообщение от Karp_13 Посмотреть сообщение
думаю вся беда в том, что я не использовал тогда много поточность... всё рисует один несчастный поток...
Рисование и так будет только в одном потоке, это беда устаревшей архитектуры компьютера, которая представляет GPU как единое устройство.
An1ka вне форума Ответить с цитированием
Старый 29.10.2011, 00:29   #5
Karp_13
Всё знать хотяка!
Пользователь
 
Аватар для Karp_13
 
Регистрация: 21.04.2009
Сообщений: 67
Радость

Цитата:
Это не много.
Щас перепроверил число треугольников в самой трушной модельке - 244615 штук. На моём компе(средненький комп, точно сразу щас конфиг не скажу) данную модель залитую краской(и освещённую светом) вращает за 0.3 секунды(3 кадра в секунду в общем). Каркасную модель из 5966 вращает практически не лагая; залитую краской - уже начинает немного тормозить. Ну это так, к слову, немного оправдать моего ребёнка.)
На досуге попробую сделать аналог проги на основе OpenGL, просмотрю как будет вращать там.)

Цитата:
Рисование и так будет только в одном потоке, это беда устаревшей архитектуры компьютера, которая представляет GPU как единое устройство.
Я скорее имел ввиду просчёт положения каждой точки делать в разных потоках. Как грубый пример, разделить просчёт 244615 треугольников (их проекций, освещения и тп) на три-четыре дополнительных потока(их оптимальное количество надо будет подбирать индивидуально для каждой модели) и скидывать в основной только уже готовые координаты пикселей(отрезков), которые нужно зажечь определённым цветом(у меня же щас, если память не подводит, каждый треугольник сначала просчитывается, потом заливается краской, потом рисуется на экране и всё это в одном цикле).
(ну и к слову, плюс добавить алгоритм упрощения модели. рисовать все 244615 треугольников сразу, когда модель, например, за километр от камеры нет смысла.)
... в общем, мысли в слух..)

Ладно, вроде меня тут взяли под крыло в одной кустарной компании, будут немного просвещать на досуге. Разве что работать придётся с DirectX.

Спасибо за овтеты. ещё вернусь.)
Я вредный и нервный, но бдобр.

Последний раз редактировалось Karp_13; 29.10.2011 в 00:39.
Karp_13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OpenGL - освещение Артэс Общие вопросы C/C++ 0 12.10.2011 20:46
Параллельное скачивание или как добиться скачивания сразу двух файлов fezilk25 Работа с сетью в Delphi 5 07.02.2011 22:22
как сделать такое освещение(opengl) ? NiCola999 Общие вопросы C/C++ 3 20.11.2010 15:02
Как добиться, чтобы хук был постоянно включен? пауэрлифтинг Win Api 2 25.01.2010 22:34
OpenGL, освещение loozer Мультимедиа в Delphi 3 17.12.2008 19:09