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



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

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

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

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