OpenGL新建一个窗口

(一)链接库配置

 注意glad,glfw库的链接问题。

库的链接与配置


(二)代码实现

1.main.cpp

#include"glad/glad.h"
#include"GLFW/glfw3.h"
#include<iostream>
int main(void)
{
	GLFWwindow* window;
	if (!glfwInit()) return -1;
	glfwInitHint(GLFW_VERSION_MAJOR, 3);
	glfwInitHint(GLFW_VERSION_MINOR, 3);
	glfwInitHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

	window = glfwCreateWindow(480, 480, "hello", NULL, NULL);
	if (!window)
	{
		std::cout << "error" << std::endl;
		glfwTerminate();
		return -1;
	}
	glfwMakeContextCurrent(window);

	while (glfwWindowShouldClose(window))
	{
		glfwSwapBuffers(window);
		glfwPollEvents();
	}
    glfwTerminate();
	return 0;
}

2.运行结果- 


(三)说明

(1)伪代码

新建窗口      判断:glfw是否初始化

初始化提示(对openGL使用进行说明)

初始化窗口   判断:是否生成了窗口

渲染循环      主要完成 清除当前缓冲,渲染绘制,交换前后缓冲区,处理回调事件

 (2)没有clear?

一般清除和解绑对于引擎来说是低效且没必要的。【1】OPENGL的逻辑是选择缓冲区和着色器进行渲染,所以思考的主要的是:完成一件事,需要如何分工给对象任务。而不是对象本身。【2】一个缓冲区被第二次绑定 就相当于 被重新选择 4->7 而没有必要 4->0->7

但这只是相对而言,有些情境下clear和解绑操作就必须处理。

(3) 代码是清晰的,语言是模糊的。所以代码要尽量简洁,追求表现力。


                      如有错误,请多多指正!谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘敬_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值