Студопедия — Короткі теоретичні відомості. OPENGL – це оптимізована, високопродуктивна графічна бібліотека функцій і типів даних для відображення дво- і тривимірної графіки
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Короткі теоретичні відомості. OPENGL – це оптимізована, високопродуктивна графічна бібліотека функцій і типів даних для відображення дво- і тривимірної графіки






OPENGL це оптимізована, високопродуктивна графічна бібліотека функцій і типів даних для відображення дво- і тривимірної графіки. OPENGL підтримують усі платформи і вона апаратно підтримана. Microsoft-реалізація OPENGL включає повний набір команд OPENGL, тобто глобальних функцій, що входять до ядра бібліотеки OPENGL32.LIB і що мають префікс gl (наприклад, glLineWidth). Ядро бібліотеки містить більше 300 команд. Можна підключити бібліотеку утиліт GLU32.LIB, які доповнюють основне ядро. Тут є функції керування текстурами, перетворенням координат, генерацією сфер, циліндрів і дисків, апроксимацій сплайнів кривих і поверхонь (NURBS — Non-Uniform Rational B-Spline), а також обробки помилок. Ще одна, додаткова, (auxiliary) бібліотека GLAUX.LIB дозволяє простим способом створювати Windows-вікна, зображати деякі SD-об’єкти, обробляти події введення і керувати фоновим процесом.

Моделлю або об'єктом в OPENGL називається структура в пам'яті, що конструюється з геометричних примітивів: точок, ліній і полігонів, які, у свою чергу, задаються своїми вершинами (vertices). З цих моделей OPENGL створює зображення в спеціально підготовленому вікні. Процес створення і демонстрації зображення називається передачею (rendering) зображення OPENGL. Кінцевим зображенням є безліч пікселів — найдрібніших видимих елементів екранної поверхні. Інформація про колір пікселів розміщена в пам'яті у вигляді бітових площин (bitplanes). Так називається область пам'яті, яка містить тільки один біт інформації про всі пікселі вікна. У сукупності площини складають буфер кадру (framebuffer), який містить інформацію, необхідну для того, щоб дисплей відобразив усі пікселі вікна OPENGL.

OPENGL працює за принципом кінцевого автомата, тобто автомата, який у кожен момент часу знаходиться в одному зі станів, що належать кінцевій безлічі допустимих значень.

Команди OPENGL зазнають однакового порядку обробки, проходячи через послідовність стадій, які називать конвеєром обробки OPENGL (processing or rendering pipeline) (рис. 3.1).

Рис. 3.1 Схема конвеєра OPENGL

Списки команд OPENGL (Display Lists)

Усі дані, що описують геометрію або окремі пікселі, можуть бути збережені в списках команд (display lists) для подальшого використання. Альтернатива — негайне використання (immediate mode). Якщо викликати список командою glCallList, збережені дані зі списку починають рухатися по конвеєру так само, як і в режимі негайного використання.

Дані про пікселі йдуть у конвеєрі OPENGL паралельним шляхом. Дані, що зберігаються в масивах системної пам'яті, розпаковуються з урахуванням набору можливих форматів, потім змінюється масштаб, зсуваються й обробляються так званою картою пікселів (pixel map). Результат записується або в пам'ять текстури, або посилається на наступний етап — растеризацію. Можлива зворотна операція зчитування пікселів. При цьому також виконуються операції: масштабування, зсув, перетворення, стиснення та пререміщення до системної пам'яті. Існують спеціальні операції копіювання даних з буфера кадру (framebuffer) до іншої його частини або до буфера текстури.

Підготовку контексту передачі OPENGL треба виконувати у заданому порядку дій:

· вибір стилю вікна;

· обробка повідомлення WM_ERASEBACKGROUND і відмова від стирання фону;

· вибір pixel-формату;

· створення контексту пристрою (НІС) і контексту передачі (HGLRC);

· специфічна обробка повідомлення WM_SIZE;

· обробка повідомлення WM_PAINT;

· звільнення контекстів при закритті вікна.

OPENGL використовує свої власні типи даних, які повинні відповідати аналогічним типам тієї платформи, на якій встановлена бібліотека. У Microsoft- реалізації відповідність типів задана у файлі заголовків GL.H так, як показано нижче. Ця таблиця знадобиться при аналізі прикладів та при розробці власного коду:

typedef unsigned int GLenum;

typedef unsigned char GLboolean;

typedef unsigned int GLbitfield;

typedef signed char GLbyte;

typedef short GLshort;

typedef int GLint;

typedef int GLsizei;

typedef unsigned char GLubyte;

typedef unsigned short GLushort;

typedef unsigned int GLuint;

typedef float GLfloat;

typedef float GLclampf;

typedef double GLdouble;

typedef double GLclampd;

typedef void GLvoid;







Дата добавления: 2015-10-19; просмотров: 507. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия