LearnOpenGL§
Hello Window§
Hello Triangle§
说实话,有点上强度了,不过读好几遍代码终于搞懂了。
编译着色器和链接部分比葫芦画瓢就行。
VAO,VBO,EBO,的理解就十分重要了。
教程本来就是翻译的刚开始有点看不懂,复制一些代码让GPT解释了一下才勉强理解了它们的概念。
简单来讲,你每一次让GPU绘制的任务都应该由VAO,VBO,EBO组合,当然EBO可以不需要。
组合的时候就照抄给的代码就行。VAO存储的是你对该任务的各种配置,VBO就啥都不管仅仅存储顶点的数据就行了,EBO存到就是你任务里的每个个体都是由VBO的那几个顶点组成的。
刚开始要给它们绑定到一块,代表它们是一家人了,之后调用这个任务时,就只找它们家长VAO就行了。
对于绑定的代码部分也可以通俗理解成,我们有一个小屋,刚开始人们都不在屋里,所以要把人们叫过来,到一个屋子里就是一家人了。
绑定0意味着,让这个家庭的某个职位的成员滚蛋。
![]()
![]()
Shaders§
这一节难度较低,开始教了一部分`GLSL`的用法,接下来展示了如何让程序调用函数来与着色器交互。
之后就更简单了,封装一个着色器类便于使用,毕竟着色器编译链接部分很板。
![]()
![]()
![]()
Textures§
代码实际运行效果不是下方图片哦。
我自己改了一部分代码,教程的图片好难看(⊙﹏⊙),还是我的流萤好看。
![]()
Transformations§
这一节讲了不少线性代数的知识。
有一说一,我不是很喜欢,但没办法还得学。
作业我没怎么看,之后用到再翻找吧。。。
![]()
Coordinate Systems§
这一个个系数矩阵有点迷糊呀,当然我是指具体实现方面。
它们各自的功能还是很好理解的。
\[V_{clip} = M_{projection} \cdot M_{view} \cdot M_{model} \cdot V_{local}\]![]()
![]()
![]()