
- •1 Основные понятия компьютерной графики
- •2 Краткая история развития компьютерной графики
- •3 Графический интерфейс пользователя gui
- •4 Область применения компьютерной графики
- •5 Основные понятия растровой графики
- •6 Структура файла растровой графики
- •7 Методы создания растровых изображений (цифровые-аналоговые)
- •8 Цветовые модели используемые в компьютерной графики
- •9 Цветовая модель rgb
- •10 Цветовая модель hsl
- •11. Цветовая модель cmyk
- •12. Глубина цвета
- •13. Форматы файлов растровой графики
- •14. Методы сжатия растровых данных без потерь
- •15. Методы сжатия растровых данных с потерями
- •16. Алгоритмы растровой графики
- •17. Основные понятия векторной графики
- •18. Кривы Безье 2-го и 3-го порядка
- •19. Nurbs – кривые
- •20. Формат записи векторной графики PostScript
- •21. Формат svg
- •22. Афинные преобразования на плоскости
- •23. Форматы файлов векторной графики
- •24. Основные понятия 3d компьютерной графики
- •25. Геометрическое моделирование
- •26. Построение кривых поверхностей
- •27. Полигональные сетки
- •28. Афинные преобразования в пространстве
- •29. Основные понятия рендеринга
- •31. Ортогональные проекции
- •32. Перспективная проекция
- •33. Методы создания элементов сцены
- •34. Текстурирование
- •35. Трассировка лучей
- •37. OpenGl
- •38. DirectX
- •40. Flash api
35. Трассировка лучей
Трассировка лучей — один из методов геометрической оптики — исследование оптических систем путем отслеживания взаимодействия отдельных лучей с поверхностями. В узком смысле — технология построения изображения трехмерных моделей в компьютерных программах, при которых отслеживается обратная траектория распространения луча (от экрана к источнику).
Достоинства
-возможность рендеринга гладких объектов без интерполяции их полигональными поверхностями (например, треугольниками)
-вычислительная сложность метода слабо зависит от сложности сцены
-высокая алгоритмическая распараллеливаемость вычислений - можно параллельно и независимо трассировать два и более лучей, разделять участки (зоны экрана) для трассирования на разных узлах кластера и т.д.
Недостатки
Серьезным недостатком метода обратного трассирования является производительность. Метод растеризации и сканирования строк использует когерентность данных, чтобы распределить вычисления между пикселями. В то время как метод трассирования лучей каждый раз начинает процесс определения цвета пикселя заново, рассматривая каждый луч наблюдения в отдельности. Впрочем, это разделение влечет появление некоторых других преимуществ, таких как возможность трассировать больше лучей чем предполагалось для устранения контурных неровностей в определенных местах модели. Также это регулирует отражение лучей и эффекты преломления, и в целом - степень фотореалистичности изображения.
Основные элементы систем трассировки лучей
1) Глобальное освещение - ряд алгоритмов предназначенных для добавления более реалистичных изображений 3D сцены. Учитывает не только прямое освещение, но и отражение освещения от других элементов сцены.
2) Искаженное отражение. Если поверхность не является идеальным отражателем, то свет искажается.
3) Каустика - эффект освещения внутри среды. Особенно проявляется когда среда подвижная, например, вода.
4) Освещение от рассеющего объекта, например, неба. Позволяет создавать мягкие тени.
5) Глубина резкости - эффект выделения объекта на определенном фокусном расстоянии (в фокусе), а все остальное размыто.
Трассировка лучей в пакетах 3D моделирования
RenderMan & MentalRay - 3D Max, Maya
Pov-Ray - Blender
37. OpenGl
OpenGL (Open Graphics Library — открытая графическая библиотека) — спецификация, определяющая независимый от языка программирования кросс-платформенный программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.
Включает более 250-ти функций для рисования сложных трёхмерных сцен из простых примитивов. Используется при создании видео-игр, САПР, виртуальной реальности, визуализации в научных исследованиях. На платформе Windows конкурирует с DirectX.
Эффективные реализации OpenGL существуют для Windows, Unix платформ , PlayStation 3 и Mac OS. Эти реализации обычно предоставляются изготовителями видеоадаптеров и активно используют возможности последних. Существуют также чисто программные реализации спецификации OpenGL, одной из которых является библиотека Mesa. Из лицензионных соображений Mesa является «неофициальной» реализацией OpenGL, хотя полностью с ней совместима на уровне кода.
Спецификация OpenGL пересматривается Консорциумом ARB (Architecture Review Board), который был сформирован в 1992 году. Консорциум состоит из компаний, заинтересованных в создании широко распространённого и доступного API. Согласно официальному сайту OpenGL, членами ARB с решающим голосом на ноябрь 2004 года являются производители профессиональных графических аппаратных средств SGI, 3Dlabs, Matrox и Evans & Sutherland (военные приложения), производители потребительских графических аппаратных средств ATI и NVIDIA, производитель процессоров Intel, и изготовители компьютеров и компьютерного оборудования IBM, Apple, Dell, Hewlett-Packard и Sun Microsystems, а также один из лидеров компьютерной игровой индустрии id Software. Microsoft, один из основоположников Консорциума, покинула его в марте 2003 года. Помимо постоянных членов, каждый год приглашается большое количество других компаний, становящихся частью OpenGL ARB в течение одного года. Такое большое число компаний, вовлеченных в разнообразный круг интересов, позволило OpenGL стать прикладным интерфейсом широкого назначения с большим количеством возможностей.