Єдина Країна!

Головне меню

Наша кнопка

Українські уроки про ІТ

Друзі

Підтримка української армії


Головна Інший матеріал - Комп'ютерна графіка Знайомство з засобами графічного програмування.

Знайомство з засобами графічного програмування.
Написав BOTEMM   
Четвер, 09 квітня 2015 00:00
Переглядів: 6302

Використання OpenGL для розробки програм з 3D графікою. Особливості.


Автор: Писанка Юрій Валентинович

Науковий керівник: Усата Олена Юрівна

3D та 2D графіка надзвичайно актуальна у сучасному світі, за допомогою неї створюють майже усі ігри, мультфільми, відображають наукові дані, моделюють різні ситуації. Наприклад, для встановлення винуватця ДТП моделюють цю пригоду і потім оцінюють дії кожного з водіїв.

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

 

Для створення ефектів відео теж використовують 3D та 2D, наприклад, такі програми як PinnacleStudio, Photoshop. За допомогою графіки створюються графічні інтерфейси та усі візуальні елементи. Без комп’ютерної графіки електронний світ залишився б на рівні консолі, хоча і вона реалізована за допомогою тієї ж самої графіки.

Мета даної статті полягає у розгляді найпоширеніших засобів для розробки програм з використанням комп’ютерної графіки, та виявлені особливостей використання OpenGL.

Лідером серед засобів програмування графіки, виділяють такі дві конкуруючі бібліотеки: OpenGL та DirectX.

DirectX – це набір API функцій, розроблених для простого і ефективного вирішення завдань, пов'язаних з ігровим і відео програмуванням під Microsoft Windows. Найширше використовується при написанні комп'ютерних ігор пакет засобів розробки DirectX під Microsoft Windows, що безкоштовно доступний на сайті Microsoft. Незважаючи на те, що зараз DirectX включений в стандартний набір ПЗ Windows, свіжі версії часто поставляються разом з іграми. Це пов'язано з регулярним оновленням API, і версія, включена в ОС Windows часто є не останньою. Найсвіжішою версією є DirectX 11.

(Джерело 1)

OpenGL – (англ. Open Graphics Library –  відкрита графічна бібліотека) –  специфікація, що визначає незалежний від мови програмування крос-платформовий програмний інтерфейс (API) для написання додатків, що використовують 2D та 3D комп'ютерну графіку. Цей інтерфейс містить понад 250 функцій, які можуть використовуватися для малювання складних тривимірних сцен з простих примітивів. Широко застосовується індустрією комп'ютерних ігор і віртуальної реальності, у графічних інтерфейсах (Compiz, Clutter), при візуалізації наукових даних, в системах автоматизованого проектування тощо.

(Джерело 1)

Наш вибір OpenGL зумовлений тим, що за допомогою саме цього засобу можна писати програми для різних операційних систем, на відміну від DirectX.

Для розробки програми на OpenGL, потрібно налаштувати наш компілятор, і операційну систему, для цього ми маємо скачати набір файлів з офіційного сайту OpenGL – https://www.opengl.org.

Робота з цією бібліотекою полягає у декілька етапів.

  1. Налаштування операційної системи для роботи з бібліотекою (встановлення).
  2. Налаштування середовища для розробки.
  3. Програмування вікна та ініціалізація.
  4. Призначення функції, в якій відбуватиметься малювання.
  5. Призначення функцій для обробки подій.
  6. Створення таймеру.
  7. Створення областей перегляду.
  8. Опис графічних об’єктів (програма).
  9. Програмування події для завершення виконання програми.

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

Головна бібліотека (“glut.h”) має реалізований засіб для створення вікна, як в звичайному режимі, так і в повноекранному та ігровому.

Для подальшої роботи потрібно обов’язково встановити колірну модель. Функція, що відповідає за встановлення колірної моделі і подвійну буферизацію – це glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB).

Зазвичай в уроках по OpenGL описують тільки створення стандартного вікна. Але бібліотека дає більше можливостей для цього.

Розглянемо основні способи роботи:

 

Спосіб 1. Ініціалізація звичайного вікна виглядає так:

Команда вказує розмір з яким потрібно створити вікно - glutInitWindowSize(600,600);

Команда створює вікно зі заданою назвою - glutCreateWindow("Svit");

Вікно можна зробити повно екранним за допомогою команди - glutFullScreen().

 

Спосіб 2. Створення програми в ігровому режимі.

Програма створюється одразу повно екранною.

Тут особливістю є те, що режим несумісний з звичайним режимом, тобто код по створенню звичайного вікна не пишемо, заміть нього використовуємо такі команди:

Команда вказує параметри для створення - glutGameModeString("1280x768:16");

Команда створює “вікно” - glutEnterGameMode();

Це означає, що програма буде створена з розширенням 1280x768, і глибиною кольору 16.

Стандартні параметри які можуть бути використані:

800x600:16

1024x600:16

1024x768:16

1280x600:16

1280x720:16

1280x768:16

1366x768:16

800x600:32

1024x600:32

1024x768:32

1280x600:32

1280x720:32

1280x768:32

1366x768:32

Для анімації використовують функцію - glutTimerFunc(33, on_timer, 0);

Вона запускається в головній функції, та запускає нашу власну функцію, яка повинна виглядати так:

void on_timer(int value)

{

Наша власна функція в якій мітиться код малювання.

Draw();

Запустити функцію з затримкою в 33 секунди.

glutTimerFunc(33, on_timer, 0);

}

Як бачите функція запускає сама себе, де 33 - це час на скільки запуск потрібно призупинити, це означає що програма не припинить роботу доки ми самі не прорахуємо зупинку цієї функції.

На практиці програма діє наступним чином. Закривши вікно воно закривається, але програма продовжує працювати.

Для запуску програм, OpenGL має бути встановленим на комп’ютері.

Особливістю є те, що можна і не встановлювати OpenGl на комп’ютері користувача програми, для цього в релізі програмного продукту попередньо ми маємо помістити в папку з відкомпільованим файлом такі файли як: glaux.dll, glut.dll, glut32.dll.

 

Висновок:

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

 

Джерела:

1. http://uk.wikipedia.org/


( 6 Проголосувало )
Коментарі
Добавити новий
Залишити коментар
Ім`я:
e-mail:
 
Тема:
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Введіть цей настирливий код
Русская редакция: www.freedom-ru.net & www.joobb.ru

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Підписка

Хто онлайн?

Немає
На даний момент 11 гостей на сайті

Український рейтинг
TOP.TOPUA.NET