1. 新建窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1. 新建窗口相关的知识,希望对你有一定的参考价值。

 1 // GLEW
 2 #define GLEW_STATIC
 3 #include <GL/glew.h>
 4 // GLFW
 5 #include <GLFW/glfw3.h>
 6 
 7 #include <iostream>
 8 
 9 // 按键回调
10 void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
11 {
12     if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) {
13         glfwSetWindowShouldClose(window, GL_TRUE);
14     }
15 }
16 
17 int main()
18 {
19     // 初始化GLFW
20     glfwInit();
21 
22     // 配置GLFW
23     glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);  // 主版本号
24     glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);  // 次版本号
25     glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);  // 核心模式
26     glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);  // 固定大小
27 
28     // 创建一个窗口对象
29     GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", nullptr, nullptr);
30     if (window == nullptr)
31     {
32         std::cout << "Failed to create GLFW window" << std::endl;
33         glfwTerminate();
34         return -1;
35     }
36     glfwMakeContextCurrent(window);
37 
38     glfwSetKeyCallback(window, key_callback);
39 
40     // 初始化GLEW
41     glewExperimental = GL_TRUE;
42     if (glewInit() != GLEW_OK)
43     {
44         std::cout << "Failed to initialize GLEW" << std::endl;
45         return -1;
46     }
47 
48     // 
49     int width, height;
50     glfwGetFramebufferSize(window, &width, &height);
51 
52     glViewport(0, 0, width, height);
53 
54     while (!glfwWindowShouldClose(window))
55     {
56         glfwPollEvents();
57 
58         glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
59         glClear(GL_COLOR_BUFFER_BIT);
60 
61         glfwSwapBuffers(window);
62     }
63 
64     // 释放资源
65     glfwTerminate();
66 
67     return 0;
68 }

 

以上是关于1. 新建窗口的主要内容,如果未能解决你的问题,请参考以下文章

VSCode创建自定义代码段自动新建Vue实例

VSCode创建自定义代码段自动新建Vue实例

GMSMarker 信息窗口内容(片段)未更新

sublime text3 增加代码片段(snipper)

vscode中设置vue代码片段

HTML代码片段