C++/OpenGL应用程序

图像应用程序大部分是 C++ 编写,OpenGL 调用实现与 3D 渲染相关任务将会使用一些扩展库: GLEW、GLM、GLFW、SOLL2 等。

GLFW 库包含 GLFWwindow 类,我们可以在其上进行 3D 场景绘制。OpenGL 也向我们提供了用于 GLSL 程序载入可编程着色阶段并对其进行编译的命令。最后 OpenGL 使用缓冲将 3D 模型和其他相关图像数据发送到管线中。

GLFWwindow 实例并为其设置背景颜色
初始化 GLFW
实例化 GLFWwindow
初始化 FLEW 
调用 init()
重复调用 display() 函数
glClearColor() //命令指定了清楚背景时用的颜色,(1.0, 0.0, 0.0, 1.0) R G B 不透明
glClear(GL_COLOR_BUFFER_BIT);		// 红色填充颜色缓冲区 
// 创建 GLFW 窗口, 参数为 宽,高,名称,全屏显示,资源共享
GLFWwindow* window = glfwCreateWindow(600, 600, "Chapter2 - 2.1", nullptr, nullptr);	
#include <GL/glew.h>
#include <GLFW/glfw3.h>


#include <iostream>


using namespace std;

void init(GLFWwindow* window)
{
   

}

void display(GLFWwindow * window, double currentTime)
{
   
	glClearColor(1.0, 0.0, 0.0, 1.0);	// RGB 透明
	glClear(GL_COLOR_BUFFER_BIT);		// 红色填充颜色缓冲区
}

int main()
{
   	
	if (!glfwInit()) {
    exit(EXIT_FAILURE); }		// 初始化
	glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);	// 主版本
	glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6);	// 小版本
	// 创建 GLFW 窗口, W, H, TileName, 全屏显示, 资源共享
	GLFWwindow* window = glfwCreateWindow(600, 600, "Chapter2 - 2.1", nullptr, nullptr);	
	glfwMakeContextCurrent(window);	// OpenGL 上下文与 GLFW 窗口关联

	if (glewInit() != GLEW_OK) {
    exit(EXIT_FAILURE); }	// 初始化
	glfwSwapInterval(1);	// 开启垂直同步

	init(window);

	// 简单的渲染循环
	while (!glfwWindowShouldClose(window)) {
   
		display(window, glfwGetTime());
		glfwSwapBuffers(window);
		glfwPollEvents();
	}

	glfwDestroyWindow(window);// 销毁窗口
	glfwTerminate();		  // 关闭窗口
	exit(EXIT_SUCCESS);
	return 0;
}

在这里插入图片描述

相关推荐

  1. XML 应用程序

    2024-01-08 00:26:02       6 阅读
  2. Qt设置应用程序字体

    2024-01-08 00:26:02       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 00:26:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 00:26:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 00:26:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 00:26:02       20 阅读

热门阅读

  1. Kafka 基本概念和术语

    2024-01-08 00:26:02       41 阅读
  2. Python 变量与命名规则

    2024-01-08 00:26:02       38 阅读
  3. 浮点数精度问题

    2024-01-08 00:26:02       38 阅读
  4. 机器学习的算法简单介绍-朴素贝叶斯算法

    2024-01-08 00:26:02       38 阅读
  5. 华为HCIA课堂笔记第七章 以太网交换基础

    2024-01-08 00:26:02       30 阅读
  6. 尚硅谷Vue项目实战硅谷甄选笔记——2024.01.02

    2024-01-08 00:26:02       39 阅读
  7. leetcode-字母异位词分组

    2024-01-08 00:26:02       37 阅读