Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Розробка програмного модуля колірної корекції зображення з використанням засобів OpenGL

Реферат Розробка програмного модуля колірної корекції зображення з використанням засобів OpenGL





я формування фрагмента зображення.

2.1.4 Шейдерні мови

Вперше використані в системі RenderMan компанії Pixar, шейдери отримували все більшого поширення зі зниженням цін на комп'ютери. Основна перевага від використання шейдеров - їх гнучкість, спрощує і здешевлює цикл розробки програми, і при тому що підвищує складність і реалістичність візуалізіруемих сцен.

Шейдерні мови зазвичай містять спеціальні типи даних, такі як матриці, семплери, вектори, а також набір вбудованих змінних і констант для зручної інтеграції зі стандартною функціональністю 3D API. Оскільки комп'ютерна графіка має безліч сфер програми, для задоволення різних потреб ринку було створено велику кількість шейдерних мов.

GLSL (OpenGL Shading Language) - мова високого рівня для програмування шейдеров. Синтаксис мови базується на мові програмування ANSI C, однак, через його специфічної спрямованості, з нього були виключені багато можливостей, для спрощення мови і підвищення продуктивності. У мову включені додаткові функції і типи даних, наприклад для роботи з векторами і матрицями.

Основною перевагою GLSL перед іншими шейдерними язикмі реального часу є кроссплатформенность.


. 2 Кольорова корекція зображення за допомогою градієнтної карти


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

Приклад роботи кривих показаний на малюнку 2.1. Зазвичай можна працювати як з кривою кожного каналу по-окремо, так і з загальною кривої, яка буде рівномірно змінювати кожен колір.


Рисунок 2.1 - Приклад роботи кривих


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

Для кращого результату, ми будемо використовувати текстуру розміром 1x256, оскільки текстуру меншого розміру не дадуть достатньої якості. Перш ніж створити карту, користувач повинен провести всі колірні перетворення, при цьому він не повинен обмежуватися тільки інструментом кривих. Більшість графічних редакторів дозволяють зберегти перетворення в окремому файлі налаштувань (наприклад «.acv» файли для Adobe Photoshop).

Для створення безпосередньо карти перетворень, необхідно створити зображення розміром 1x256, і за допомогою інструменту градієнта, зробити плавний перехід від чорного кольору до білого (що відповідатиме чорному кольору на першому пикселе текстури і білому кольору на останньому пикселе ). Після чого до цієї текстурі застосовуються перетворення, які були збережені раніше в окремому файлі. Приклад вихідної карти перетворень, і вийшла після застосування до неї необхідної колірної корекції, показаний на малюнку 2.2.


Малюнок 2.2 - Приклад вихідної і отриманої карти перетворення


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

Схема роботи шейдера колірної корекції за допомогою градієнтної текстури представлена ??на малюнку 2.2:


Малюнок 2.2 - Схема роботи шейдера колірної корекції зображення за допомогою градієнтної текстури


. 3 Кольорова корекція за допомогою тривимірної текстури


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

Тривимірна текстура перетворення кольору дозволяє виключити всі недоліки колірної корекції за допомогою одновимірної текстури.

На малюнку 2.3 показано, як представлена ??тривимірна текстура для колірної корекції.

Малюнок 2.3 - Приклад тривимірної текстури


...


Назад | сторінка 5 з 25 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка програми з використанням OpenGL для динамічного зображення тривимі ...
  • Реферат на тему: Особливості корекції фізичного розвитку за допомогою занять фізичними вправ ...
  • Реферат на тему: Шляхи корекції та розвитку емоційно-вольової сфери дітей з порушенням інтел ...
  • Реферат на тему: Розробка програм перетворення форматів двійкових даних і сортувань в машинн ...
  • Реферат на тему: Побудова яркостной гістограми зображення зерен пилку, отриманих за допомого ...