OpenGL : Extensions
Автор: Александр Веселов
Вы вероятно уже знаете что такое расширения OpenGL.
Если это не так, то можете ознакомится с ними прочитав эту статью.
Обычно код инициализации расширения выглядит примерно так:
bool Init_GL_ARB_multitexture() { // Проверяем наличие расширения if( !IsExtEnable( "GL_ARB_multitexture")) return false; // Получить адрес функции и присвоить его глобальному указателю glActiveTextureARB = ( PFNGLACTIVETEXTUREARBPROC) wglGetProcAddress( "glActiveTextureARB"); glClientActiveTextureARB = ( PFNGLCLIENTACTIVETEXTUREARBPROC) wglGetProcAddress( "glClientActiveTextureARB"); glMultiTexCoord2fARB = ( PFNGLMULTITEXCOORD2FARBPROC) wglGetProcAddress( "glMultiTexCoord2fARB"); return true; }
Однако очень быстро надоедает прописывать 'магические комбинации букв', такие как (PFNGLACTIVETEXTUREARBPROC).
Также не очень приятно писать дважды имя нужной функции.
Хочу рассказать вам о том как я сейчас избавляюсь от этих неудобств:
Начнем с (PFNGLWHATIWANTARBPROC):