如何在 glfw 中为 OpenGL 设置核心配置文件上下文?
How to set core profile context for OpenGL in glfw?
我正在寻找一种在 C++ 中做这样的事情的方法OpenGL GLSL 3.30 in Ubuntu 14.10 mesa 10.1.3
查看此代码片段(参见 https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/1.2.hello_window_clear/hello_window_clear.cpp)以了解其余代码:
int main()
{
// glfw: initialize and configure
// ------------------------------
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
#ifdef __APPLE__
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // uncomment this statement to fix compilation on OS X
#endif
" 在 main 函数中我们首先使用 glfwInit 初始化 GLFW,之后我们可以使用 glfwWindowHint 配置 GLFW。glfwWindowHint 的第一个参数告诉我们我们要配置什么选项,我们可以在哪里 select 选项来自以 GLFW_ 为前缀的大量可能选项。第二个参数是一个整数,用于设置我们选项的值。可以在 GLFW 的 window 处理文档中找到所有可能选项及其对应值的列表。如果你现在尝试 运行 应用程序,它给出了很多未定义的引用错误,这意味着你没有成功 link GLFW 库。
由于本网站的重点是 OpenGL 版本 3.3,我们想告诉 GLFW,3.3 是我们想要使用的 OpenGL 版本。这样 GLFW 就可以在创建 OpenGL 上下文时做出适当的安排。这确保当用户没有正确的 OpenGL 版本时,GLFW 无法 运行。我们将主要版本和次要版本都设置为 3。我们还告诉 GLFW 我们要明确使用 core-profile。明确告诉 GLFW 我们想要使用 core-profile 意味着我们将可以访问更小的 OpenGL 功能子集(没有我们不再需要的 backwards-compatible 功能)。请注意,在 Mac OS X 上,您需要添加 glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);到您的初始化代码以使其工作。 " 来自:https://learnopengl.com/Getting-started/Hello-Window
希望对您有所帮助。
我正在寻找一种在 C++ 中做这样的事情的方法OpenGL GLSL 3.30 in Ubuntu 14.10 mesa 10.1.3
查看此代码片段(参见 https://learnopengl.com/code_viewer_gh.php?code=src/1.getting_started/1.2.hello_window_clear/hello_window_clear.cpp)以了解其余代码:
int main()
{
// glfw: initialize and configure
// ------------------------------
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
#ifdef __APPLE__
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // uncomment this statement to fix compilation on OS X
#endif
" 在 main 函数中我们首先使用 glfwInit 初始化 GLFW,之后我们可以使用 glfwWindowHint 配置 GLFW。glfwWindowHint 的第一个参数告诉我们我们要配置什么选项,我们可以在哪里 select 选项来自以 GLFW_ 为前缀的大量可能选项。第二个参数是一个整数,用于设置我们选项的值。可以在 GLFW 的 window 处理文档中找到所有可能选项及其对应值的列表。如果你现在尝试 运行 应用程序,它给出了很多未定义的引用错误,这意味着你没有成功 link GLFW 库。
由于本网站的重点是 OpenGL 版本 3.3,我们想告诉 GLFW,3.3 是我们想要使用的 OpenGL 版本。这样 GLFW 就可以在创建 OpenGL 上下文时做出适当的安排。这确保当用户没有正确的 OpenGL 版本时,GLFW 无法 运行。我们将主要版本和次要版本都设置为 3。我们还告诉 GLFW 我们要明确使用 core-profile。明确告诉 GLFW 我们想要使用 core-profile 意味着我们将可以访问更小的 OpenGL 功能子集(没有我们不再需要的 backwards-compatible 功能)。请注意,在 Mac OS X 上,您需要添加 glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);到您的初始化代码以使其工作。 " 来自:https://learnopengl.com/Getting-started/Hello-Window
希望对您有所帮助。