Студопедия Главная Случайная страница Обратная связь

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

Короткі теоретичні відомості. 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; просмотров: 520. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

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