OpenGL学习笔记(LearnOpenGL)第一部分-环境配置与基础知识
来源:http://www.tudoupe.com时间:2022-03-04
前言:
博主在开始学习opengl前学习了games101图形学基础的前十节(渲染管线部分)以及games202的前两节(基础部分),此笔记由games202的第二节展开,后续内容来自learnOpenGL(原本想读蓝宝书,感觉蓝宝书的环境gltools和sb7有点麻烦,发现learnOpenGL更好上手)
一些学习资源:
LearnOpenGL CN
GLFW: Main Page
OpenGL:
一组用于在CPU上调用GPU的图形API。工作类似于画一张油画:
1.放置物体:模型选择、模型放置。使用VBO(vertex buffer object)存储模型放在GPU中。
使用OpenGL完成对物体的摆放移动等。
2.放置画架:放置相机(set camera进行视图变换)、创建framebuffer
3.添加画布:指定了一个framebuffer后可以用于渲染多张图,渲染一次相当于用一张画布。
4.绘画:进行shading,使用着色器着色。对顶点着色返回值、在片段着色器中进行插值,需要自行完成顶点和片段着色器,其余功能封装好可使用。
OpenGL的着色语言GLSL
vertex+fragment着色的着色语言
Render Equation(visibility用于处理环境关照,实时渲染中考虑)
环境配置
环境配置确实折腾了我一阵,非常感谢这位博主的分享。
VS2017+OpenGL环境的配置(完结篇)_BLUEHEART-CSDN博客_vs配置opengl
网上搜索了许多教程,因为懒得下载cmake,然后用了上面这个博主的方法,成功配置了glut和glfw。
第一个窗口
GLFW配置
下面的代码初始化glfw并告诉glfw使用OpenGL的版本为3.3,使用核心模式。
在上面的代码启用glad后,设置视口,由于随着窗口大小的变化,视口大小也应随之变化,设计回调函数使每次同步变化。其中glViewport方法用于设置渲染窗口的尺寸大小。设计的这种回调函数有广泛应用,如处理输入变化错误信息等。
如果想要每次调整窗口大小时都可以调用此函数来对渲染窗口的大小进行更新,需要使用下面的语句:
glfwSetFramebufferSizeCallback(window,framebuffer_size_callback);
一些其他的函数:
glfwWindowShouldClose:检查GLFW是否被要求推出
glfwPollEvents:检查有没有触发什么事件
glfwSwapBuffers:交换颜色缓冲(双缓冲的技术:前缓冲保存最终输出的图像,后缓冲绘制,交换前后即呈现图像)
glfwTerminate():终止glfw
glfwGetKey(window,GLFW_KEY_ESCAPE)表示检查ESC键的状态,如果被摁下,则有
glfwGetKey(window,GLFW_KEY_ESCAPE)==GLFW_PRESS
未被摁下的画会返回GLFE_RELEASE
glClearColor(0.1f,0.2f,0.3f,1.0f)四个参数分别表示的是红 绿 蓝 透明度。
glClear(GL_COLOR_BUFFER_BIT) 先后调用这两个函数可以实现清除颜色缓冲后将颜色缓冲调整为上面函数设置的颜色。
glClear()可以接受一个缓冲位(Buffer Bit)有 COLOR DEPTH SETNCIL
在下一节中将继续学习
上一篇:Vue - 去掉控制台 Download the Vue Devtools extension for a better
下一篇:在petalinux下提示:Failed to menu config project component....
相关新闻
- 2023-05-06 微pe怎么初始化U盘(微pe怎么恢复初
- 2023-05-06 Xp系统boot 进入pe(boot manager 怎么进入
- 2023-05-06 win pe修复bcdboot(pe修复系统)
- 2023-05-06 win7更新失败 pe(win7更新失败还原更
- 2023-05-06 u盘装了pe读取不了(u盘能进pe读取不
- 2023-05-06 u盘pe 发热(u盘发热烫手)
- 2023-05-06 u盘pe下看不到硬盘(u盘启动pe看不到
- 2023-05-06 pe盘 ntfs(u盘ntfs格式)
- 2023-05-06 sony笔记本进入pe模式(联想笔记本怎
- 2023-05-06 pe启动盘进不去(pe启动盘进不去系统
|
|
|
|
|
|
|
|
|
|