OpenGL Графические библиотеки 2D –GAPI –GDI –XWindow –GTK –QT 3D –DirectX –OpenGL.

Презентация:



Advertisements
Похожие презентации
OpenGL Лекция 3. Построение тени Проективные тени Объемные тени Карты теней Мягкие тени.
Advertisements

Фильтрация текстур. Пиксельные операции. Астана 2004 Лекция 11.
Оптимизация графического движка на библиотеке OpenGL.
Графический конвейер Преобразования геометрии Александр Шубин.
GPU vs. CPU 681 млн. транзисторов Тактовая частота 575Mhz * 768MB 1.8 Ghz памяти DDR4 ~650 млн. транзисторов Тактовая частота ~700Mhz 1GB 1.1 Ghz памяти.
Компьютерная графика Александр Бобков Семинар 8 Тени. Отложенный рендеринг.
GPU vs. CPU 302 млн. транзисторов Тактовая частота 550Mhz 1GB 850x2 MHz памяти 380 млн. транзисторов Тактовая частота 650Mhz 1GB 775x2 MHz памяти Тактовая.
Компьютерная графика Александр Бобков Семинар 2 Преобразование вершин.
Intro Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 1 Введение в компьютерную графику URL:
Астана ( )Компьютерная графика (лекция 6) ВВЕДЕНИЕ В OPENGL Лекция 6.
OpenGL API Алексей Игнатенко (MSU Graphics & Media Lab) Алексей Игнатенко (MSU Graphics & Media Lab)
Лекция 1 ( ). Основные возможности OpenGL Набор базовых примитивов: точки, линии, многоугольники и т.п. Видовые и координатные преобразования.
Безгодов Алексей Алексеевич, к.т.н., НИУ итмо. Системы виртуальной реальности?
Viz3D Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 1 Визуализация в 3D URL:
Безгодов Алексей Алексеевич, к.т.н., НИУ ИТМО. Виртуальная реальность Созданный техническими средствами мир, передаваемый человеку через его ощущения:
Текстуры. Композиты Лекция 11 Алексей Игнатенко. На прошлой лекции Удаление невидимых поверхностей Удаление нелицевых граней Алгоритм художника Двоичное.
Освещение и текстурирование в OpenGL Астана 2004 Лекция 10.
Графический 3D-конвейер Определение состояния объектов (Situation modeling) Определение соответствующих текущему состоянию геометрических моделей (Geometry.
Мягкие тени используя иерархическую мин-макс карту теней Kirill Dmitriev Yury Uralsky.
OpenGL. Графический конвейер. Геометрические преобразования.
Транксрипт:

OpenGL

Графические библиотеки 2D –GAPI –GDI –XWindow –GTK –QT 3D –DirectX –OpenGL

OpenGL Идеология –Редкие версии –Расширения Коллективное создание Кроссплатформенность Чисто программная реализация Mesa

OpenGL Дополнительные библиотеки –GLUT –GLEW

Устройство OpenGL Буфера –Кадра –Трафарета –Глубины Матрицы и стеки матриц –Матрица модели –Матрица проектирования Примитивы

Конвеер обработки OpenGL

OpenGL Примитивы -GL_POINTS -GL_LINES -GL_LINE_STRIP -GL_LINE_LOOP -GL_TRIANGLES -GL_TRIANGLE_STRIP -GL_TRIANGLE_FAN -GL_QUADS -GL_QUAD_STRIP -GL_POLYGON -Дисплейные списки -Дистанцибельность клиент-сервер )

-Дисплейные списки -Дистанцибельность -клиент-сервер -излишняя информация – массивы вершин

Пример Ну тут пример…

Идеология сборки сцены Примитивы лопатятся и и в случае прохождения выбранных тестов (stensil, deapth) направляются в какие-то из буферов (color, death, stensil) там с ними происходит какое-нибудь действие. А если мы попали в буфер цвета то происходит оцветнение

Оцветнение Раскраска с использованием цветовой модели –Освещение –Смешивание –Текстурирование mid-mapping Точное Линейное

Цветовая модель

Как сделать быстро LOD – Level of details Стандартные оптимизации - не выводить то что точно не видно –Не выводить то что за спиной –Использовать портальные техники Stencil buffer –PVS – что такое? Кто помнит?

Как сделать красиво Фокусировка Отражение –2 вывода на каждый кадр –сферическое наложение Тени –Fake –Shadow Mapping –Shadow Volume

Fake Ну… добавить в сцену еще черных треугольников

Shadow Volumes (Stensil shadows) Общая идея алгоритма –Строим shadow volume – трехмерную границу света и тени –Рисуем сцену в Z-Buffer –Выводим в трафарет передние грани shadow volume и инкрементируем его если Z-тест прошел –Выводим в трафарет задние грани shadow volume и декрементируем его если Z-тест прошел –Там где в трафарете значение > начального – тень есть

Pros and cons + –Попиксельная точность - –Слабая расширяемость (высокий fillrate) LOD –Volume сильно негладкий –Очень сложно делать мягкие тени

Shadow Mapping Общая идея алгоритма –Выводим картинку один раз смотря из источника света –Строим карту глубин в специальной текстуре А. –Выводим сцену от камеры и если пиксель дальше от источника, чем то что в текстуре А, то он затенен

Что нужно от OpenGL OpenGL 1.4 –ARB_depth_texture –ARB_shadow

Проблемы –Алиасинг глубины Лечится аппаратно –Проективный алиасинг –Перспективный алиасинг на близкие к камере точки может приходится очень мало текселей

как забороть? теневые карты плоскостей –Храним не глубину, а уравнение всей плоскости в shadow map Вывернуть сцену обратным преобразованием

ШЕЙДЕРЫ!!! Ура товарищи! Будут шейдеры.

Ссылки Book_rus.pdfhttp://ac.cs.nstu.ru/docs/OpenGL/OpenGL_Red Book_rus.pdf /2002/paperit/timo_ahokas.pdfhttp:// /2002/paperit/timo_ahokas.pdf