Що таке GLEW і як він працює?


15

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


  • Що таке GLEW?

На сторінці розробника GLEW написано:

Бібліотека WGL-розширень OpenGL (GLEW) - це міжплатформна бібліотека завантаження розширень C / C ++ . GLEW забезпечує ефективні механізми виконання часу для визначення, які розширення OpenGL підтримуються на цільовій платформі.


  • Але що таке бібліотека завантаження розширень?

У вікі OpenGL йдеться

Бібліотека завантаження OpenGL - це бібліотека, яка завантажує покажчики на функції OpenGL під час виконання, ядро, а також розширення .


  • Що означає завантажувати покажчики на функції OpenGL ?

  • Що таке розширення ?

  • Що означає " ядро, а також розширення "?

Відповіді:


20

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

Що означає розширення?

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

Що означає завантажувати покажчики на функції OpenGL?

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

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

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

Що означає "ядро, а також розширення"?

Це означає, що вона забезпечує функції OpenGL, а також розширення OpenGL.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.