З чого почати вивчати OpenGL

З чого почати вивчати OpenGL

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

Що таке OpenGL

Для використання OpenGL, звичайно, необхідно мати бібліотеку для лінківки (gl.lib, glu.lib) та заголовні файли. Вони входять у Visual Studio, але їх не важко знайти в Інтернеті.

Які можливості надасть OpenGL?

Якими знаннями необхідно мати?

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

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

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

З чого почати?

Почати вивчення я порадив би з гарної книги, при цьому постійно практикуючись. Українською мовою не так багато добрих книг, бо більшість із них уже застаріла. Я б порадивнаступну книгу: "OpenGL. Посібник із програмування". При початковому навчанні книга може бути досить складною. Паралельно з нею можна вивчати статті з прикладами http://nehe.gamedev.net (переклад статей українською http://pmg.org.ru/nehe).

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

Про застарілі та сучасні методи та розширення

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

На майбутнє