![](https://img-blog.csdnimg.cn/20210917191935910.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
OpenGL自学笔记
文章平均质量分 80
自学OpenGL的笔记,如有错误,请指出
给贝拉嘉晚饭
喜欢游戏开发,计算机图形的菜狗
展开
-
冯氏光照模型
冯氏光照模型原创 2022-03-19 11:42:46 · 1667 阅读 · 0 评论 -
在OpenGL中创建一个着色器程序(Shader Program)
在维基百科中,shader是这样定义的“计算机图形学领域中,着色器(shader)是一种计算机程序,原本用于进行图像的浓淡处理(计算图像中的光照、亮度、颜色等)”。Shader是一种计算机程序,只不过是在GPU上运行的程序,因此它像其他编程语言一样也需要写入源代码,编译,链接,最终变成可执行程序。所以如果我们想在OpenGL中完成写一个着色器程序,就需要调用OpenGL的API来完成上述步骤:创建着色器对象,输入源码,编译(Compile)着色器对象,把着色器对象添加至着色器程序中,链接(Link)着色原创 2022-03-04 17:50:20 · 1596 阅读 · 0 评论 -
OpenGL中设置顶点属性(Vertex Attribute)
我们首先明确一点,顶点(Vertex)不单单指位置,它还包含纹理位置,法线等属性。顶点的位置坐标仅仅是顶点的一个属性。在中OpenGL中的顶点缓冲区(Vertex Buffer)我们已经探究了如何利用顶点缓冲区向GPU传递数据用来绘制图形,但GPU并不知道这些数据代表什么,如何利用这些数据。它只知道这些是数据,因此我们需要设置顶点属性,告诉GPU “嗨,这一部分数据代表顶点的位置信息,那一块数据是纹理坐标...”。而OpenGL给我们提供了具有这样功能的API——glVertexAttribPointe原创 2022-02-25 21:59:04 · 2161 阅读 · 0 评论 -
OpenGL中的顶点缓冲区(Vertex Buffer)
Vertex buffer即顶点缓冲区。从字面意思来看,这个词就是指储存是顶点数据的缓冲区,本质还是一个缓冲区(buffer),是占一定字节的内存。就像在C++中我们用声明并赋值一个int类型,在内存中开辟4个字节空间来储存数据,这是在CPU上进行的。而Vertex buffer是OpenGL在GPU中开辟空间储存数据。当我们运行程序绘制图形时,显卡会从缓存(buffer)中读取顶点数据,进行绘制。今天我们来看一下如何用OpenGL来创建顶点缓存区(vertex buffer)。我个人感觉这个过程和编程原创 2022-02-23 20:34:48 · 3671 阅读 · 1 评论 -
LearnOpenGL-入门-Hello, Window
参考学习:https://learnopengl-cn.github.io/01%20Getting%20started/03%20Hello%20Window/OpenGL入门:目标:创建一个窗口,按下按键可以改变颜色,退出窗口流程:首先调用glfwInit()函数初始化GLFW。初始化完成后使用glfwWindowHint()为接下来要创建的窗口设置好属性(hint为暗示的意思),这些属性将在设置后保持不变。(这一步实际上是对glfwCrea原创 2021-09-17 19:13:37 · 161 阅读 · 0 评论