美文网首页OpenGL程序员计算机杂谈
从0开始的OpenGL学习(十)-基础知识复习

从0开始的OpenGL学习(十)-基础知识复习

作者: 闪电的蓝熊猫 | 来源:发表于2017-10-22 09:41 被阅读454次

    本文主要对之前学过的一些东西进行总结,梳理其中的知识点,加深记忆。

    通过之前的学习,现在你应该学会了创建一个使用OpenGL的窗口,实现着色器,将顶点数据传递给着色器,使用纹理,理解向量和矩阵的作用,创建一个3D场景并在其中自由漫步。

    基于我们已经学到的东西,我们可以做更多的研究。比如,我们理解了观察矩阵生成的原理,那是否可以尝试封装一个类似lookAt的函数来验证我们的原理呢?这些都是很有趣的事,笔者觉得兴奋极了。不过,先得梳理一下知识才行。

    知识点

    OpenGL:一套图形API规范,由不同的厂商实现内容。
    GLAD:一个用于获取OpenGL函数地址的三方库。
    视口(viewport):我们渲染的窗口。
    图形管线(Graphics Pipeline):一个顶点想要被绘制到屏幕上需要走的流程。
    着色器(Shader):一小段运行在图形卡(显卡)上的程序。图形管线中的某些阶段可以用自定义的着色器去替代原有的着色器。
    顶点(vertex):代表一个点的数据集。
    顶点缓存对象(VBO, Vertex Buffer Object):用于分配内存,保存顶点数据给图形卡使用的一种缓存对象。
    顶点数组对象(VAO, Vertex Array Object):保存缓存以及顶点属性状态信息。
    元素缓存对象(EBO, Element Buffer Object):保存顶点索引的一种缓存对象。
    Uniform:GLSL的一种特殊类型,可以由程序访问,也可以由着色器访问,是程序和着色器的一种“沟通”渠道。
    纹理(Texture):贴在物体表面的图片,用于模拟物体的细节。
    纹理环绕(Texture Wrapping):告诉OpenGL在指定的纹理坐标超出(0,1)范围时如何采样。
    纹理过滤(Texture Filtering):指明有多个纹素可以使用的时候如何进行采样。通常发生在纹理被放大的时候。
    Mipmaps:一系列不同尺寸的小图片,随着物体距离观察者远近情况取用。
    stb_image:图片加载3方库。
    纹理单元(Texture Units):允许多个纹理作用在同一个物体上。
    向量(Vector):定义在三维空间中的点或者方向。
    矩阵(Matrix):矩形数组的一种表示方式。
    GLM:OpenGL的一个数学库
    局部空间(Local Space):物体一开始存在的控件。所有的坐标都相对于物体的原点。
    世界空间(World Space):所有坐标都相对于一个共同的原点。
    观察空间(View Space):所有的坐标都从摄像机的视角观察。
    裁剪空间(Clip Space):所有的坐标都从摄像机的视角观察,但是投影已经应用。这个空间是顶点着色器输出的阶段,OpenGL会处理剩下的事情。
    屏幕空间(Screen Space):所有的坐标都基于屏幕的原点。坐标范围从0到屏幕的宽高。
    LookAt:一个特殊的矩阵,将物体转换到观察空间。
    欧拉角(Euler Angles):pitch(绕x轴),yaw(绕y轴),roll(绕z轴)旋转的三个量。

    下一篇
    目录
    上一篇

    相关文章

      网友评论

        本文标题:从0开始的OpenGL学习(十)-基础知识复习

        本文链接:https://www.haomeiwen.com/subject/jacguxtx.html