如何在glfw中为OpenGL设置核心配置文件上下文?



我正在寻找一种在 c++ 中做这样的事情的方法 OpenGL GLSL 3.30 在 Ubuntu 14.10 中 台面 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

" 在主函数中,我们首先使用 glfwInit 初始化 GLFW,之后我们可以使用 glfwWindowHint 配置 GLFW。glfwWindowHint 的第一个参数告诉我们要配置的选项,我们可以从以 GLFW_ 为前缀的大型可能选项枚举中选择选项。第二个参数是一个整数,用于设置选项的值。所有可能的选项及其相应值的列表可以在GLFW的窗口处理文档中找到。如果您现在尝试运行该应用程序,并且它给出了许多未定义的引用错误,则意味着您没有成功链接 GLFW 库。

由于本网站的重点是OpenGL版本3.3,我们想告诉GLFW,3.3是我们要使用的OpenGL版本。这样,GLFW可以在创建OpenGL上下文时做出适当的安排。这可确保当用户没有正确的 OpenGL 版本时,GLFW 无法运行。我们将主要版本和次要版本都设置为 3。我们还告诉GLFW,我们希望显式使用核心配置文件。明确告诉GLFW我们想要使用核心配置文件意味着我们将可以访问OpenGL功能的较小子集(没有我们不再需要的向后兼容功能)。请注意,在 Mac OS X 上,您需要添加 glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);到您的初始化代码,使其正常工作。" 寄件人: https://learnopengl.com/Getting-started/Hello-Window

希望这有帮助。

最新更新