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



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

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

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

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

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

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

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

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