●本帖教程
○教材程序 2.1
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <iostream>
using namespace std;
void init(GLFWwindow* window) {}
void display(GLFWwindow* window, double correntTime) {
glClearColor(1.0, 0.0, 1, 0);
glClear(GL_COLOR_BUFFER_BIT);//清除颜色缓冲区
}
int main(void) {
if (!glfwInit()) { exit(EXIT_FAILURE); }
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);//指定机器必须与OenGL版本号4.3兼容(主版本号4)
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);//次版本号3
#pragma execution_character_set("utf-8")//设置执行汉字字符集
GLFWwindow* window = glfwCreateWindow(600, 600, "嗨!踉跄前行", NULL, NULL);//负责创建GLFW窗口
glfwMakeContextCurrent(window);//调用OpenGL上下文关联
if (glewInit() != GLEW_OK) { exit(EXIT_FAILURE); }
glfwSwapInterval(1);//用来开启垂直同步(Vsync)--GLFW窗口默认是双缓冲的
init(window);
while (!glfwWindowShouldClose(window)){
display(window, glfwGetTime());//调用display()方法
glfwSwapBuffers(window);//调用方法以绘制屏幕
glfwPollEvents();//调用方法处理窗口相关事件
}
glfwDestroyWindow(window);//销毁窗口
glfwTerminate();//终止运行
exit(EXIT_SUCCESS);
}
○前面说过本教材是扫描版,这代码可是一个字母一个字母敲出来的,摘选教材中每个语句的说明附在后面作为注释,回过头来再看也就方便了。和上面博客一样改了窗口标题,重新设置了字符集
#pragma execution_character_set("utf-8")//设置执行汉字字符集
GLFWwindow* window = glfwCreateWindow(600, 600, "嗨!踉跄前行", NULL, NULL);//负责创建GLFW窗口
○运行时出现了点状况,前面的头文件引用include<>还有先后顺序问题,编译虽然顺利通过,运行时会报错。
○运行结果
20221205_110347
○
今天就到这