外包网站开发安全吗,ui设计用的软件有哪些,wordpress ajax 提交,西安搬家公司哪家服务好还实惠提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、OpenGL第一个程序 前言
本文介绍了OpenGL入门的第一个程序#xff0c;有详细的注释#xff0c;便于大家理解其中的逻辑。 一、OpenGL第一个程序
#inclu… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一、OpenGL第一个程序 前言
本文介绍了OpenGL入门的第一个程序有详细的注释便于大家理解其中的逻辑。 一、OpenGL第一个程序
#include GL/glew.h
#include GLFW/glfw3.h
#include iostream
using namespace std;void init(GLFWwindow* window) { }void display(GLFWwindow* window, double currentTime)
{//! 指定清除背景时用的颜色glClearColor(0.0, 0.0, 1.0, 1.0);glClear(GL_COLOR_BUFFER_BIT);
}int main(void)
{//! GLFW初始化if (!glfwInit()){exit(EXIT_FAILURE); }//! 指定计算机必须与OpenGL4.3兼容glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);//! 创建GLFW窗口和相关的OpenGL上下文//! 指定了窗口的宽和高单位为像素窗口的标题后两个参数为允许全屏显示和资源共享GLFWwindow* window glfwCreateWindow(600, 600, Chapter 2 - program 1, NULL, NULL);//! 创建GLFW窗口不会自动将它与当前的OpenGL上下文关联起来因此需要调用以下函数glfwMakeContextCurrent(window);//! GLEW初始化if (glewInit() ! GLEW_OK) { exit(EXIT_FAILURE);}//! 开启垂直同步因为GLFW窗口默认是双缓冲的//! 双缓冲有2个颜色缓冲区一个用于显示一个用于渲染。渲染整个帧后将交换缓冲区缓冲用于减少不良的视觉伪影/*开启垂直同步, 如果它设定为60Hz60FPS那么我们就有60FPS。我们可以通过在glfwSwapInterval方法中设置高于1的数字来降低这个速率如果设置为2将得到30FPS。0关闭垂直同步; 160FPS; 230FPS。*/glfwSwapInterval(1);init(window);//! 当GLFW探测到应该关闭窗口的事件比如点击x按钮循环会终止while (!glfwWindowShouldClose(window)){//! 传入当前时间保证动画在不同计算机以相同速度播放display(window, glfwGetTime());//! 开启垂直同步交换缓冲区。/*因为电脑绘图是一个个像素逐一画的需要时间如果单一缓冲我们可能会看到具体绘画过程会造成屏幕闪烁等问题而我们用户不需要具体看到你绘制的过程所以为了解决这个问题这里用了双缓冲技术用两个内存区域来保存数据分为前缓冲区和后缓冲区前缓冲区用于展示屏幕上的内容而后缓冲区就用来绘制然后每一帧开始的时候将两个缓冲区交换这样后缓冲区又可以画新的内容。*/glfwSwapBuffers(window);//! 处理窗口相关事件比如按键glfwPollEvents();}//! 销毁窗口终止运行glfwDestroyWindow(window);glfwTerminate();exit(EXIT_SUCCESS);
}