GPU vs. CPU 681 млн. транзисторов Тактовая частота 575Mhz * 768MB 1.8 Ghz памяти DDR4 ~650 млн. транзисторов Тактовая частота ~700Mhz 1GB 1.1 Ghz памяти.

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



Advertisements
Похожие презентации
GPU vs. CPU 302 млн. транзисторов Тактовая частота 550Mhz 1GB 850x2 MHz памяти 380 млн. транзисторов Тактовая частота 650Mhz 1GB 775x2 MHz памяти Тактовая.
Advertisements

Графический конвейер Преобразования геометрии Александр Шубин.
Освещение и текстурирование в OpenGL Астана 2004 Лекция 10.
Вычисления Общего Назначения на Графическом Ускорителе.
OpenGL и аппаратные ускорители графики Астана 2004 Лекция 8.
Графический 3D-конвейер Определение состояния объектов (Situation modeling) Определение соответствующих текущему состоянию геометрических моделей (Geometry.
Программирование графических процессоров Безгодов Алексей Алексеевич НИИ НКТ, СПбГУ ИТМО.
OpenGL API Алексей Игнатенко (MSU Graphics & Media Lab) Алексей Игнатенко (MSU Graphics & Media Lab)
Фильтрация текстур. Пиксельные операции. Астана 2004 Лекция 11.
Министерство образования и науки Российской Федерации АКАДЕМИЯ МАРКЕТИНГА И СОЦИАЛЬНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Факультет ПО и ВТ Презентация по дисциплине:
Видеоадаптеры современных компьютеров. Актуальность Студенты специальности знакомятся с принципами устройства компьютера в курсе Информатики, где.
Текстуры. Композиты Лекция 11 Алексей Игнатенко. На прошлой лекции Удаление невидимых поверхностей Удаление нелицевых граней Алгоритм художника Двоичное.
Аффинные преобразования Графический конвейер Астана. Лекция 7.
Использование функционального представления (FRep) для компьютерной анимации и интерактивных сред.
Microsoft TechDays Виталий Дильмухаметов Oogway software.
Растеризация Текстуры Композиты. На лекции 4-е задание Задача растеризации Текстурирование Определение Текстурные отображения для сферы, тора, цилиндра.
ТРЕХМЕРНАЯ ГРАФИКА Компьютерная графика. Геометрические примитивы.
Библиотека для работы с конечными множествами, использующая графический процессор в качестве основного вычислительного устройства Новосибирский Государственный.
Библиотека для работы с конечными множествами, использующая графический процессор в качестве основного вычислительного устройства Новосибирский Государственный.
Компьютерная графика. Технологии 3D графики. DirectX, OpenGL, Glide, PhysX.
Транксрипт:

GPU vs. CPU 681 млн. транзисторов Тактовая частота 575Mhz * 768MB 1.8 Ghz памяти DDR4 ~650 млн. транзисторов Тактовая частота ~700Mhz 1GB 1.1 Ghz памяти DDR4 Тактовая частота 2.66Ghz 581 млн. транзисторов (quad core) G80 (NV50) R600 Intel QX6700 * ALU работают на 1350Mhz

GPU vs. CPU (3 года назад) 120 млн. транзисторов Тактовая частота 500Mhz 128MB 500MHz памяти 107 млн. транзисторов Тактовая частота 325Mhz 128MB 310MHz памяти Тактовая частота 1.6Ghz – 3.06Ghz 42 млн. Транзисторов (core) NV30 R300

Полигональное представление объектов Для каждой вершины заданы: Координаты вершины Нормаль Координаты текстуры И много чего еще... Объект задан набором вершин, которые объединены в плоские грани, чаще всего – треугольные.

Общая архитектура системы CPU Chipset GPU GPU RAM CPU RAM 6.4 GB/s 8 GB/s6.4 GB/s 35 GB/s для GeForce 6600 ~80 GB/s для GeForce 8800 По материалам книги GPU Gems 2

Классический графический конвейер float4x4 modelview,projection; float4 lights[8]; float4 diffuse,specular,ambient; float4 position; float3 normal; float2 tex0,tex1,… T&L Rasterization Pixel Ops Texture2D tex0; Texture2D tex1; + Режим смешения текстур Режимы растровых операций x,y,z,w,…x,y,z,u0,v0, u1,v1,… x,y,z,RGBA Сборка примитивов Буфер кадра

Программируемый графический конвейер float4x4 m0,m1,…mN; float4 v0,v1,…,vM; Texture2D tex1, tex2 + программа обработки вершин float4 position (attr0) float4 attr1; float4 attr2; float3 attr3; T&L Rasterization Pixel Ops Texture2D tex0; Texture2D tex1; + программа обработки фрагментов Режимы растровых операций x,y,z,w,…x,y,z,w, c0,c1, c2,c3,… x,y,z,RGBA Сборка примитивов

Программируемый графический конвейер (DX10) float4 position (attr0) float4 attr1; float4 attr2; float3 attr3; T&L Rasterization Pixel Ops Texture2D tex0,tex1; + программа обработки фрагментов Режимы растровых операций x,y,z,w,… x,y,z,w, c0,c1, c2,c3,… x,y,z,RGBA float4x4 m0,m1,…mN; float4 v0,v1,…,vM; Texture2D tex1, tex2 + программа обработки вершин Геометрический шейдер x,y,z,w, c0,c1, c2,c3,… Видеопамять Запись потока Сборка примитивов

Вершинная программа (шейдер) T&L dp4 r0.x, v0, m0[0] dp4 r0.y, v0, m0[1] dp4 r0.z, v0, m0[2] dp4 r0.w, v0, m0[3] mov oD0, c[4] ; Output color mov oPos, r0 ; Output vertex Вершинная программа - программа, на вход которой поступают однородные координаты x,y,z и w вершины и некоторый набор дополнительных атрибутов attr 1,attr 2,.., attr K. Результатом работы вершинной программы являются однородные координаты x,y,z,w и некоторый набор значений c 0,c 1,…,c N.

Пиксельная программа (шейдер) Пиксельная программа (пиксельный шейдер, fragment program) - программа, на вход которой поступают координаты x,y,z и некоторый набор интерполированных по примитиву значений c 0,c 1,…,c N для обрабатываемого пиксела. Результатом работы пиксельной программы является цвет в формате RGBA и, возможно, измененная координата z. c 0, c 1, c 2,… Rasterization ps.1.0 // DX8 Version. tex t0 // n-map. texm3x3pad t1, t0_bx2 texm3x3pad t2, t0_bx2 v0_bx2 texm3x3tex t3, t0_bx2 dp3_sat r0, t3_bx2, c 0, c 1, c 2,…

Язык описания шейдеров Язык описания шейдеров определяет допустимый набор передаваемых параметров (сколько атрибутов может быть у вершины, сколько величин может интерполироваться вдоль примитива) и набор доступных операций для некоторого абстрактного графического процессора GL_ARB_vertex_program & GL_ARB_fragment_program GL_NV_texture_shader Direct3D Pixel & Vertex shaders 1.0 (DX8); 2.0, 3.0 (DX9); 4.0 (DX10) Nvidia Cg Microsoft HLSL OpenGL Shading Language (GLSL)

Шейдерные модели

Архитектура GeForce 8800 По материалам сайта iXBT

Возможности вершинных программ 3.0 Instancing Один поток вершин может порождать несколько объектов 32 временных регистра float4 Инструкции динамического ветвления Условные переходы и циклы Возможность обращения к текстурам Фактически, доступ к массивам float4 512 статических инструкций динамических инструкций

Возможности фрагментных программ 3.0 Instancing Один поток вершин может порождать несколько объектов Несколько render target Результаты могут быть записаны в 4 float4 Инструкции динамического ветвления Условные переходы и циклы Обращение к атрибутам вершины по индексу Удобно в циклах

Преобразование нормалей Уравнение плоскости Преобразуем координаты при помощи матрицы M

Bump-mapping На поверхности задается система координат Компоненты текстуры RGB задают нормаль в связанной с поверхностью системе координат Для расчета освещения направления на источник освещения и направление на наблюдателя преобразуются в связанную с поверхностью систему координат n t b Для расчета отражения вектор нормали преобразуется в систему координат наблюдателя. Затем рассчитывается отражения (sphere map или cube map)

Bump-mapping На поверхности задается система координат n t b

Литература