Как инициализировать GLAD в Gtk+ C++
Мне нужно добавить в приложении на Gtk+ окошко, в котором будет отображаться OpenGL - код. Уже разобрался с тем, что нужно использовать core-profile стиль с шейдерами прочим делом. Но проблема в том, что шейдеры не запускаются, если не инициализирован GLAD. Я разобрался как инициализировать его с помощью GLFW
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
GLFWwindow* window = glfwCreateWindow(400, 400, "Window", NULL, NULL);
if (window == NULL)
{
std::cout << "Failed to create GLFW window" << std::endl;
glfwTerminate();
return;
}
glfwMakeContextCurrent(window);
glfwSetFramebufferSizeCallback(window, NULL);
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
{
std::cout << "Failed to initialize GLAD" << std::endl;
return;
}
Однако в таком случае создается ненужное мне GLFW-окошко, что видно на скриншоте ниже. Как можно обойтись без GLFW, чтобы инициализировать GLAD? Если его не инициализировать, то он сходу ругается на функции типа glGenBuffers или glCreateShader
Ответы (1 шт):
Понял, что это мне все было не нужно. Поставил GLEW и все заработало. В нем для того, чтобы включить возможность работы с core-profile нужно лишь выполнить следующие:
glewExperimental = true;
glewInit();