Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在GLFW下创建OpenGL核心概要文件_C_Opengl_Glfw - Fatal编程技术网

C 在GLFW下创建OpenGL核心概要文件

C 在GLFW下创建OpenGL核心概要文件,c,opengl,glfw,C,Opengl,Glfw,如何使用GLFW和OpenGL创建核心概要文件?我目前正在运行Mesa 10.0.2,它应该在核心配置文件中支持OpenGL 3.3,在非核心配置文件中支持OpenGL 3.0 目前这就是我正在努力做的 glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 4); glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3); glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 3); glfwOp

如何使用GLFW和OpenGL创建核心概要文件?我目前正在运行Mesa 10.0.2,它应该在核心配置文件中支持OpenGL 3.3,在非核心配置文件中支持OpenGL 3.0

目前这就是我正在努力做的

glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 4);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

// Create context
if( !glfwOpenWindow( 1024, 768, 0,0,0,0, 32,0, GLFW_WINDOW ) )
{
    fprintf( stderr, "Failed to create context\n" );
    glfwTerminate();
    return -1;
}

正如genpfault和Brett Hale指出的,我发现这在很大程度上是GLFW版本的问题。一旦我将有问题的代码移植到GLFW3,问题就消失了。我还更新了GLM库的更新版本。对于那些使用opengl-tutorial.org的用户,我建议将其作为一种练习,使用更新的库重写代码,因为此时提供的库非常旧。

我认为您发布的代码中的glfwOpenWindow调用在您的系统上返回false?为什么不使用GLFW3?顺便说一句,如果你在创建上下文时遇到困难,你通常会从降低像素格式的复杂性开始。这意味着消除多/超采样,并使用16位或24位深度缓冲区,分别使用4x和32位深度缓冲区。所有的GL窗口系统API GLFW都是分层的,它们提供了一个模式匹配系统,用于寻找合适的像素格式;您所请求的参数越苛刻,GLFW就越不可能找到工作像素格式。您也可以考虑迁移到。