Работа с WGL-расширениями

Поскольку эти расширения специфичны только для Windows, то проверка их поддержки непосредственно введенной ранее функцией isExtensionSupported не возможна, поскольку используемая там строка не содержит расширений платформы Windows. Поэтому нужно получить строку со всеми поддерживаемыми расширениями, специфичными для Windows. Для этого сначала следует стандартным образом проверить поддержку расширения WGLARBextensions, и в случае его поддержки ПОЛУЧИТЬ указатель на функцию wglGetExtensionsStringARB.if ( isExtensionSupported ( «WGL_ARB_extensions» ) )wglGetExtensionsStringARB = (PFtWGLGETEXTENSIONSSTRINGARBPROC)getProcAddress ( «wglGetExtensionsStringARB» ); В результате мы получаем указатель на функцию, возвращающую список всех WGL-расширений для заданного контекста устройства (device context) в том же формате, в котором возвращается список всех платформонезависимых расширений: const char * exts = wglGetExtensionsStringARB ( wglGetCurrentDC () ); Тогда для проверки какого-либо из WGL-расширений достаточно установить, встречается ли название расширения в полученной строке. Если да, то можно с помощью функции wgiGetProcAddress получить адреса всех вводимых этим расширением функций.

Категория: Понятие расширений OpenGL, их основные типы и особенности работы с ними под Windows и Linux

Таги: , ,

Приветствие!

Наш сайт создан для любителей и профессионалов, для тех кому не безинтересна система под названием Linux. На нашем сайте вы найдете статьи от установки до программирования на Linux'e, отзывы о системе, советы и поддержка начинающим пользователям. Для новичком, доступен раздел "Запускаем Linux", в котором рассказывается все от "упаковки", до первого включения системы.

Архивный календарь

Июль 2010
Пн Вт Ср Чт Пт Сб Вс
« Фев    
 1234
567891011
12131415161718
19202122232425
262728293031  


Статистика