100 likes | 427 Views
Графический 3D-конвейер и синтез изображений. Шейдеры. Базовые программные средства 3D-графики DirectX и OpenGL. Графический 3D-конвейер. Определение состояния объектов ( Situation modeling) Определение соответствующих текущему состоянию геометрических моделей ( Geometry generation)
E N D
Графический 3D-конвейер и синтез изображений. Шейдеры.Базовые программные средства 3D-графикиDirectX и OpenGL.
Графический 3D-конвейер • Определение состояния объектов (Situation modeling) • Определение соответствующих текущему состоянию геометрических моделей (Geometry generation) • Разбиение геометрических моделей на примитивы (Tesselation) • Привязка текстур и освещения (Texture and light definition) • Видовые геометрические преобразования (Projection) • Отбрасывание невидимых примитивов (Culling) • Установка примитивов (Setup) • Закраска примитивов (Fill) • Финальная обработка (Post processing)
Шейдеры • Вершинный шейдер (Vertex Shader) • Пиксельный шейдер (Pixel Shader)
Вершинный шейдер Изменение выражения лица вершинными шейдерами
Пиксельный шейдер Раскраска кожи динозавра при помощи пиксельных шейдеров
Ещё о шейдерах • В Direct3D 11 появился новый тип шейдера - вычислительный шейдер (Compute Shader). • Пример шейдера • ps_2_0 • def c1, 1, 0, 0, 0 • dcl t0.xy • dcl t1.xyz • dcl_2d s0 • texld r0, t0, s0 • dp3 r0.w, t1, c0 • mul r0.xyz, r0, r0.w • mov r0.w, c1.x • mov oC0, r0 • Язык шейдеров HLSL (High Level Shader Language)
DirectX • DirectX Graphics • DirectDraw • Direct3D (D3D) • DirectInput • DirectPlay • DirectSound • DirectMusic • DirectShow • DirectSetup • DirectX Media Objects • Direct2D
Direct3D и OpenGL Приложение Direct3D или OpenGL Работа с текстурами Работа с освещением Работа с шейдерами Видеокарта
DirectX vs OpenGL • К сожалению на проекторе не будет видно разницы в прорисовке картинок той или иной библиотеки, поэтому просто скриншот из современной игры: