деякий масив системної пам'яті.
Існують спеціальні операції копіювання пікселів для копіювання даних з буфера кадру в інші частини буфера кадру або в область пам'яті, виділену для текстур. Виконується однопрохідне реалізація операцій при передачі пікселя, а потім дані записуються в область пам'яті, виділену для текстур або назад в буфер кадру.
1.4.7 Збірка текстури
OpenGL-додатки можуть накладати зображення текстури на геометричні об'єкти для того, щоб зробити їх вигляд реалістичнішим. Якщо використовується декілька зображень текстури, то дуже розумно буде помістити їх в об'єкти текстури для спрощення перемикання між ними.
Деякі реалізації бібліотеки OpenGL можуть мати спеціальні ресурси для прискореного виконання операцій над текстурами. Це може бути реалізовано як спеціалізована, високопродуктивна область пам'яті, виділена для текстур. Якщо така пам'ять доступна, об'єкти текстури можуть бути впорядковані за пріоритетам для полегшення управління цим обмеженою і цінним ресурсом. h3> 1.4.8. Растеризация
Растеризация являє собою перетворення як геометричних, так і піксельних даних у фрагменти. Кожен квадратний фрагмент відповідає певному пікселю в буфері кадру. Штрихування ліній і багатокутників, ширина лінії, розмір точки, модель зафарбовування і обчислення покриття, необхідні для підтримки згладжування, враховуються як вершини, які з'єднуються в лінії, або як внутрішні пікселі, розраховані для закрашеного багатокутника. Значення кольору і глибини призначаються для кожного квадратного фрагмента.
1.4.9 Операції обробки фрагментів
Перш ніж значення фактично зберігаються в буфері кадру, виконується ряд операцій, в результаті чого фрагменти можуть бути змінені або навіть відкинуті. Всі ці операції можуть бути включені або відключені.
Першою операцією, з якою можна зіткнутися, є накладення текстур. Ця операція полягає в тому, що тексель (елемент текстури) генерується з пам'яті текстур для кожного фрагмента і застосовується до конкретного фрагменту. Після цього можуть застосовуватися обчислення туману, які супроводжуються тестом ножиць, альфа-тестом, тестом трафарету і тестом буфера глибини (тест буфера глибини представляє собою видалення невидимих ​​поверхонь). Невдале завершення включеного тесту може припинити тривалу обробку квадрата фрагмента. Потім можуть бути виконані операції змішування кольорів, псевдосмешіванія (Розмивання) кольорів для передачі півтонів, логічної обробки і маскування за допомогою бітової маски. Нарешті, повністю оброблений фрагмент виводиться у відповідний буфер, де він остаточно перетворюється на піксель і досягає свого кінцевого місця розташування.
2 Бібліотеки, пов'язані з OpenGL
2.1 Бібліотека OpenGL
Бібліотека OpenGL надає потужний, але примітивний набір команд візуалізації і всі зображення більш високого рівня мають бути створені з використанням саме цих команд. Крім цього OpenGL-програми повинні використовувати основні механізми системи управління вікнами. Існує кілька бібліотек, які дозволяють спростити рішення ваших завдань в області програмування. У число цих бібліотек входять наступні:
Бібліотека утиліт OpenGL (GLU - OpenGL Utility Library) містить кілька підпрограм, які використовують OpenGL-команди низького рівня для виконання таких завдання, як установка матриць для певного орієнтування і проектування перегляду, виконання тесселяції багатокутників (розбиття довільного багатокутника на опуклі багатокутники) і візуалізація поверхні. Ця бібліотека надається в якості складової частини кожної реалізації бібліотеки OpenGL. Складові бібліотекіGLU описуються в Довіднику з OpenGL {OpenGL Reference Manual). p> Для кожної віконної системи існує бібліотека, що розширює функціональні можливості даної віконної системи, щоб забезпечити підтримку візуалізації OpenGL. Для обчислювальних машин, які використовують оболонку X Window System, в якості доповнення до бібліотеки OpenGL надається Розширення бібліотеки OpenGL для оболонки X Window System (GLX - OpenGL Extension to the X Window System). Підпрограми GLX використовують префікс glX. Для операційних систем Microsoft Windows 95/98/NT інтерфейс операційної системи Windows до бібліотеки OpenGL забезпечується підпрограмами бібліотеки WGL. Всі підпрограми WGL використовують префікс wgl.
Для операційної системи OS/2 корпорації IBM використовуються PGL-інтерфейс Адміністратора уявлень (Presentation Manager) до бібліотеки OpenGL, і його підпрограми використовують префікс pgl. Для комп'ютерів фірми Apple інтерфейсом для графічних систем, що підтримують бібліотеку OpenGL, є AGL, і підпрограми AGL використовують префікс agl.
Всі ці бібліотеки розширення віконних систем більш докладно описуються в Додатку С. Крім цього, підпрограми GLX також описуються в Довіднику по OpenGL. p> Інструментарій утиліт бібліотеки OpenGL (GL...