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

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

  • Upload
    parry

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

Введение в компьютерную графику. URL: http://www.school30.spb.ru/cgsg/cgc/ E-mail: [email protected]. COMPUTER VISION распознавание образов. IMAGE PROCESSING обработка изображений. COMPUTER GRAPHICS машинная графика. План курса. Введение. API. HAL. Hardware. Растровая графика. Цвет. - PowerPoint PPT Presentation

Citation preview

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

1

IntroIntro

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

Computer Graphics Support Group

Введение в

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

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

E-mail: [email protected]

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

2

IntroIntro

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

Computer Graphics Support Group

COMPUTER VISION

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

IMAGE PROCESSING

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

COMPUTER GRAPHICS

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

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

3

IntroIntro

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

Computer Graphics Support Group

План курса

Введение

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

Цвет

API HAL Hardware

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

4

IntroIntro

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

Computer Graphics Support Group

План курса

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

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

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

5

IntroIntro

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

Computer Graphics Support Group

План курса

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

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

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

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

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

6

IntroIntro

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

Computer Graphics Support Group

План курса

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

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

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

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

Шум

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

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

7

IntroIntro

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

Computer Graphics Support Group

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

Vector vs. Raster

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

8

IntroIntro

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

Computer Graphics Support Group

Видеопамять

Видео память

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

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

H

W

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

9

IntroIntro

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

Computer Graphics Support Group

Видеопамять

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

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

Видеопамять

START ЭкранPITCH

PITCH

PITCH

W

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

10

IntroIntro

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

Computer Graphics Support Group

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

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

3

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

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

21

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

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

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

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: Введение в компьютерную графику

12

IntroIntro

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

Computer Graphics Support Group

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

APIapplication program interface

Программа

Driver

Graphics Hardware

HALhardware abstraction layer

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

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: Введение в компьютерную графику

14

IntroIntro

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

Computer Graphics Support Group

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

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

15

IntroIntro

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

Computer Graphics Support Group

Пример SVGAlib (Linux)

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

16

IntroIntro

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

Computer Graphics Support Group

Пример в WinAPI

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

17

IntroIntro

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

Computer Graphics Support Group

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

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

18

IntroIntro

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

Computer Graphics Support Group

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

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