我是OpenGL的新手,并且一直使用GLFW和GLEW来创建和显示OpenGL上下文。以下代码段显示了如何创建窗口并将其用于OpenGL。
GLFWwindow* window;
if (!glfwInit())
{
return -1;
}
window = glfwCreateWindow(1280, 720, "Hello OpenGL", NULL, NULL);
if (!window)
{
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
GLenum err = glewInit();
if (err != GLEW_OK)
{
glfwTerminate();
return -1;
}
glewInit
如何能够获取窗口/上下文并使用它进行初始化而无需自己传递任何其他参数?
我只能想象当我们调用glfwMakeContextCurrent
函数时,它以某种方式将上下文存储在我的进程中的某个地方以供以后使用,但是没有文档显示这一点。
答案 0 :(得分:3)
当前的OpenGL上下文是各种各样的全局(或更多点,thread_local
)“变量”。所有OpenGL函数都会对当前线程中处于活动状态的任何上下文起作用。
这包括GLEW制作的OpenGL调用。