18
1 Intro Intro Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group Введение в компьютерную графику URL: http://www.school30.spb.ru/cgsg/cgc/ E-mail: [email protected]

20110919 computer graphics_galinsky_lecture01_intro

Embed Size (px)

Citation preview

Page 1: 20110919 computer graphics_galinsky_lecture01_intro

1

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Введение вкомпьютерную графику

URL: http://www.school30.spb.ru/cgsg/cgc/

E-mail: [email protected]

Page 2: 20110919 computer graphics_galinsky_lecture01_intro

2

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

COMPUTER VISION

распознавание образов

IMAGE PROCESSING

обработка изображений

COMPUTER GRAPHICS

машинная графика

Page 3: 20110919 computer graphics_galinsky_lecture01_intro

3

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

План курса

Введение

Растровая графика

Цвет

API HAL Hardware

Page 4: 20110919 computer graphics_galinsky_lecture01_intro

4

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

План курса

Математика для КГ

Кривые и поверхности

Page 5: 20110919 computer graphics_galinsky_lecture01_intro

5

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

План курса

Визуализация

Удаление невидимых линий и поверхностей

Освещение и тонирование

Текстурирование

Page 6: 20110919 computer graphics_galinsky_lecture01_intro

6

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

План курса

Алгоритм трассировки лучей

Базовый алгоритм

Модели освещения

Методы оптимизации

Шум

Распределенная трассировка лучей

Page 7: 20110919 computer graphics_galinsky_lecture01_intro

7

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Аппаратные аспекты

Vector vs. Raster

Page 8: 20110919 computer graphics_galinsky_lecture01_intro

8

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Видеопамять

Видео память

Размер строки в байтах (pitch)

Внеэкранная память

H

W

Page 9: 20110919 computer graphics_galinsky_lecture01_intro

9

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Видеопамять

Адресация точек:

Стартовый адрес + Y * Pitch + X

Видеопамять

START ЭкранPITCH

PITCH

PITCH

W

Page 10: 20110919 computer graphics_galinsky_lecture01_intro

10

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Цвет: палитра

Стандартная палитра VGA

3

Палитра: таблица соответствия цветов

Точки (пиксели) на экране

21

Номера цветов в видеопамяти

Видеопамять ЦАП видеокарты (DAC)

Page 11: 20110919 computer graphics_galinsky_lecture01_intro

11

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Цвет: True Color

Точки (пиксели) на экране

0,255,255 0,255,00,0,255

Триады RGB цветов в видеопамяти

TrueColor: 24/32 бита (8r 8g 8b)

RGB -

HiColor: 15/16 бит (5r 5g 5b / 5r 6g 5b)015

RGB

Page 12: 20110919 computer graphics_galinsky_lecture01_intro

12

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Структура библиотек

APIapplication program interface

Программа

Driver

Graphics Hardware

HALhardware abstraction layer

Page 13: 20110919 computer graphics_galinsky_lecture01_intro

13

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Структура библиотек

• Функции рисования линейных объектов (и точек)– Line(x1,y1,x2,y2) MoveTo(x,y) LineTo(x,y) SetPixel(x,y,c)

• Функции рисования площадных объектов– Rectangle(x1,y1,x2,y2) Circle(x,y,r) Polygon(points,n)

• Функции вывода текста– DrawText(x,y,string)

• Функции задания атрибутов рисования– цвета и формы «перьев» для линейных объектов, шаблоны

«кистей» для площадных, параметры вывода шрифтов (текста), код логической операции при выводе (REPLACE, OR, AND, XOR);

– управление областями отсечения

• Функции задания преобразований системы координат• Функции управления буферизацией

– создание, копирование, уничтожение буферов изображений (bitmaps)

Page 14: 20110919 computer graphics_galinsky_lecture01_intro

14

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Пример в DOS (прямая запись в память)

Page 15: 20110919 computer graphics_galinsky_lecture01_intro

15

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Пример SVGAlib (Linux)

Page 16: 20110919 computer graphics_galinsky_lecture01_intro

16

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Пример в WinAPI

Page 17: 20110919 computer graphics_galinsky_lecture01_intro

17

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

Пример под GLUT и OpenGL

Page 18: 20110919 computer graphics_galinsky_lecture01_intro

18

IntroIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

• Упражнение– Необходимо написать программу-заготовку с

использованием любого удобного графического интерфейса (библиотеки или непосредственного рисования на «низком» уровне) для последующих работ по реализации алгоритмов компьютерной графики. Главное требование – наличие функции рисования отдельного «пикселя» с «экранной» точностью (каждая физическая точка экрана задается цветом отдельного «пикселя»)