Привет, я скачал исходники из онлайн-генератора, но не вижу там функции gladLoadGL ().
Вы указали рад генерировать загрузчик или нет? Если вы указали, что он не должен создавать свой собственный загрузчик, вместо этого создается функция gladLoadGLLoader
, в которую вы передаете процедуру загрузчика.
Да, я это сделал, и он все еще генерировался без этой функции.
Интересно. Какую версию рада вы используете? Из основной ветки, из какого-то релиза или из веб-версии? А на каком языке?
Web. Просто зашел на веб-страницу, настроил загрузчик и сгенерировал.
В верхней части файлов glad.h и glad.c есть комментарий, который выглядит примерно так:
OpenGL loader generated by glad 0.1.13a0 on Wed Mar 15 14:00:02 2017.
Language/Generator: C/C++
Specification: gl
APIs: gl=3.3
Profile: core
Extensions:
Loader: True
Local files: False
Omit khrplatform: False
Commandline:
--profile="core" --api="gl=3.3" --generator="c" --spec="gl" --extensions=""
Online:
http://glad.dav1d.de/#profile=core&language=c&specification=gl&loader=on&api=gl%3D3.3
Не могли бы вы опубликовать пример того, как выглядит ваш?
Загрузчик OpenGL ES сгенерирован glad 0.1.13a0 в среду, 15 марта, 09:49:44 2017.
Language/Generator: C/C++
Specification: gl
APIs: gles2=2.0
Profile: compatibility
В качестве примечания - я создал для ES2.0-3.0
Я не использовал glad для GLES, но, глядя на сгенерированный glad.h, я вижу функцию с определением GLAPI int gladLoadGLES2Loader(GLADloadproc)
. Я предполагаю, что это эквивалент GLES для функции, которую вы ищете. Однако нет функции для загрузки с помощью встроенного загрузчика, и, похоже, он не учитывает переключение для нее в веб-генераторе. Не знаю, ожидается ли это или ошибка, но это довольно странно.
gladLoadGL
существует только для GL API, такой функции нет для GLES. Как правильно указал @Shimmen , вам нужно использовать int gladLoadGLES2Loader(GLADloadproc)
и предоставить свой собственный загрузчик, если вы используете GLFW, это будет glfwGetProcAddress
и для SDL SDL_GL_GetProcAddress
.
Не существует gladLoadGLES
поскольку нет простого способа его реализовать (мне нужно было бы загрузить GLES.dll / поэтому для EGL <1.5 и получить откуда-то eglGetProcAddress
). Однако я планирую добавить встроенный загрузчик для всех поддерживаемых API.