c++ - 如何在 GLFW 3 中创建 OpenGL 1.2 上下文

标签 c++ opengl window glfw openglcontext

我想创建 OpenGL 1.2 上下文,但出现此错误:“无法打开 GLFW 窗口”。 当我创建 3.3 或 4.3 上下文时没有问题。如何创建 1.2 上下文?

glfwWindowHint(GLFW_SAMPLES, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 1);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

const GLFWvidmode * mode = glfwGetVideoMode(glfwGetPrimaryMonitor());
WindowWidth = mode->width;
WindowHeight = mode->height;
midWindowWidth = WindowWidth / 2;
midWindowHeight = WindowHeight / 2;



window = glfwCreateWindow(WindowWidth, WindowHeight, "Quadcopter Project", glfwGetPrimaryMonitor(), NULL);
if( window == NULL )
{
    fprintf( stderr, "Failed to open GLFW window. \n" );
    glfwTerminate();
    return -1;
}

最佳答案

OpenGL < 3.2 中没有配置文件。您不能创建 1.2 核心配置文件,因为没有这样的东西。

您也不能直接强制驱动程序创建 1.2 上下文。请求特定上下文版本的功能是在 3.0 中引入的。所以基本上,3.0 之前的一切都只是一些遗留上下文。您可以要求 1.2,但它可能会给您更高的(兼容性配置文件)上下文,具体取决于您尝试使用的平台和驱动程序。

关于c++ - 如何在 GLFW 3 中创建 OpenGL 1.2 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24723445/

相关文章:

c++ - 使用 glUniformMatrix4fv() 用新矩阵更新旧矩阵?

jquery - 如何在窗口调整大小时更改高度 div?

c# - 在XAML的窗口内显示页面

c++ - 似乎无法通过 ifstream 逐行读取 tmp 文件

c++ - Eclipse Linux 库存 "Hello World"- 应用程序无法运行

c++ - 没有指针的递归结构? (霍夫曼)

opengl - 在 OpenGL 中绘制对象 X 秒

c++ - 这个 C/C++ 表达式是什么意思

c++ - 如何检查当前在 OpenGL 中绑定(bind)了哪个帧缓冲区对象?

winapi - Win32 opengl 窗口创建