Перейти к содержимому


Свернуть чат Чат Открыть чат во всплывающем окне

Folgen : (2 дней назад) Спс.
GranMinigun : (2 дней назад) Готово. Добро пожаловать на форум, механоид.
GranMinigun : (2 дней назад) Указать, кого именно активировать, например.
Гость : (2 дней назад) Активируйте акк. Хз, нужно что-либо указывать дополнительно для этого в чате, или админы сами всех подряд активируют, кто в очереди на активацию?
GranMinigun : (неделю назад) https://forums.unrea...sed-on-gis-data
Yakim (Watco... : (неделю назад) Аа да? Ну окей)
GranMinigun : (неделю назад) А это даже не обсуждается!
Yakim (Watco... : (неделю назад) А кто сказал что мы пьянели?)
GranMinigun : (неделю назад) Ну что, товарищи, протрезвели?
Yakim (Watco... : (2 недель назад) сяп)
Гость : (2 недель назад) Егорыч на праздники с каникул вернулся. За это тост! Всем маны!
lz : (3 недель назад) Наоборот.
Гость : (3 недель назад) Позвольте уточнить, для будущего наркомана прошлое это будущее или наоборот?
lz : (3 недель назад) Как ты его поймаешь, когда он знает, где ты его будешь ловить?
GranMinigun : (3 недель назад) Ловите наркомана из будущего!
PA3UJIb : (3 недель назад) С новым 2018 годом! А то старый-то 2018 мы и не видели даже
Yakim (Watco... : (3 недель назад) С наступающим)
Yakim (Watco... : (3 недель назад) гы
lz : (3 недель назад) Посоны, с наступающим всех!
Yakim (Watco... : (3 недель назад) +
lz : (3 недель назад) Много капитанства.
lz : (3 недель назад) +
Yakim (Watco... : (3 недель назад) ну такое
Gaantro : (3 недель назад) Описывает принцип работы.
Gaantro : (3 недель назад) Антиграв*
Gaantro : (3 недель назад) Система Grable в Star Citizen (Антигуа) : https://youtu.be/2VkzHbJiCAo
Yakim (Watco... : (3 недель назад) Ага :lol:
lz : (3 недель назад) Чё там у нас? Пошла жара? Главное, чтобы не такое генерилось https://youtu.be/RvAwB7ogkik
Moh : (3 недель назад) Мне, да привет? Ну привет )
Гость : (3 недель назад) И с Новым годом.
Гость : (3 недель назад) Шучу. От Крогота.
Гость : (3 недель назад) От Гостя.
Гость : (3 недель назад) Увидите моха передайте ему привет.
Yakim (Watco... : (3 недель назад) :lol: :P
lz : (3 недель назад) Лан, чё ты, нормально же общались, это нарицательное)
Yakim (Watco... : (4 недель назад) Еще и "Мехах" с маленькой буквы, бесстыжий :D
GranMinigun : (4 недель назад) Был.
lz : (4 недель назад) В мехах был такой рейтинг? Не помню уже.
lz : (4 недель назад) Опасный Яким)
Yakim (Watco... : (4 недель назад) За "маханойдов" и двор, стреляю в упор :D
GranMinigun : (4 недель назад) Я не это имел в виду!
Yakim (Watco... : (4 недель назад) :lol:
lz : (4 недель назад) За механойдов наверное.
lz : (4 недель назад) Всё, рубанул.
lz : (4 недель назад) Ща мы их.

Фотография
- - - - -

[LoadGL.h] - самозагружающиеся расширения OpenGL

OpenGL C++ gl.h

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 07 Декабрь 2014 - 01:06

Весь OpenGL (gl, glu) вплоть до версии 4.5 включительно - в одном файле:

 

LoadGL.h

 

LoadGL.h - замена стандартных хеадеров gl.h+glext.h+glu.h (подключать их нельзя при использовании LoadGL.h). Содержит указатели на API-функции OpenGL, которые самоинициализируются без каких-либо дополнительных действий со стороны пользователя. При первом вызове указателя функции-расширения автоматически происходит поиск точки входа соответствующей функции с помощью стандартной процедуры wglGetProcAddress (библиотека WinGDI.h). Если точка входа найдена, указатель перенаправляется на неё, после чего происходит вызов этой функции. Таким образом каждый последующий вызов происходит уже напрямую.

 

Нужно отметить, что rendering context должен быть создан перед тем, как будет вызвана любая из функций OpenGL. В приложении должна быть исключена возможность вызова функций OpenGL до создания (wglCreateContext) и после уничтожения (wglDeleteContext) контекста рендера, при котором инициализировались функции OpenGL.

 

Указатели на функции различаются для rendering context'ов с разными форматами пикселя, поэтому если функция была впервые вызвана при определённом rendering context'е, её уже нельзя вызывать для rendering context'ов с другими форматами пикселя. А из-за того, что указатели объявлены глобально и инициализируются единожды, то Ваше приложение будет ограничено лишь одним rendering context'ом или несколькими одинаковыми.

Скрытый текст

 

Для использования функционала OpenGL API нужно лишь кинуть файл LoadGL.h в папку с проектом и прописать инклюд:

#include "LoadGL.h"

После этого Вашему приложению станут доступны все ОпенГЛевские константы и функции кроме glX. Вот справочники:

gl v1.0-v2.1

glu v1.0-v1.4

gl v2.0-v2.1

gl v3.0-v3.3

gl v4.0-v4.5 (API)







Темы с аналогичным тегами OpenGL, C++, gl.h

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных