diff --git a/docs/01 Getting started/10 Review.md b/docs/01 Getting started/10 Review.md index c5b519f..294ad1e 100644 --- a/docs/01 Getting started/10 Review.md +++ b/docs/01 Getting started/10 Review.md @@ -6,35 +6,35 @@ 翻译 | Meow J 校对 | Geequlim -恭喜您完成了本章的学习,至此为止你应该能够创建一个窗口,创建并且编译着色器,通过缓冲对象或者uniform发送顶点数据,绘制物体,使用纹理,理解向量和矩阵,并且可以综合上述知识创建一个3D场景并可以通过摄像机来移动. +恭喜您完成了本章的学习,至此为止你应该能够创建一个窗口,创建并且编译着色器,通过缓冲对象或者uniform发送顶点数据,绘制物体,使用纹理,理解向量和矩阵,并且可以综合上述知识创建一个3D场景并可以通过摄像机来移动。 -这些就是我们在前几章学习的内容,尝试在教程的基础上进行改动程序,或者实验你自己的想法并解决问题. 一旦你认为你真正熟悉了我们讨论的所有的东西,你就可以进行[下一节](http://learnopengl-cn.readthedocs.org/zh/latest/02%20Lighting/01%20Colors/)的学习. +最后这几章我们学了太多的东西了。你可以尝试在教程的基础上改动程序,或者实验一下,有一点自己的想法并解决问题。一旦你认为你真正熟悉了我们讨论的所有的东西,你就可以进行[下一节](../02 Lighting/01 Colors.md)的学习。 ## 词汇表 -- **OpenGL**: 一个定义了函数布局和输出的图形API的正式规范. -- **GLEW**: 一个拓展加载库用来为我们加载并设定所有OpenGL函数指针从而让我们能够使用所有(现代)OpenGL函数. -- **视口(Viewport)**: 我们需要渲染的窗口. -- **图形管道(Graphics Pipeline)**: 一个顶点在呈现为像素之前通过的过程. -- **着色器(Shader)**: 一个运行在显卡上的小型程序.很多阶段的图形管道都可以使用自定义的着色器来代替原来的功能. -- **标准化设备坐标(Normalized Device Coordinates)**: 顶点在通过在剪裁坐标系中剪裁与透视划分后最终呈现在的坐标系. 所有位置在NDC下-1.0到1.0的顶点将不会被丢弃并且可见. -- **顶点缓冲对象(Vertex Buffer Object)**: 一个调用显存并存储所有顶点数据供显卡使用的缓冲对象. -- **顶点数组对象(Vertex Array Object)**: 存储缓冲区和顶点属性状态. -- **元素缓冲对象(Element Buffer Object)**: 一个存储索引供索引化绘制使用的缓冲对象. -- **Uniform**: 一个特殊类型的GLSL变量.它是全局的(在一个着色器程序中每一个着色器都能够访问uniform变量)并且只能被设定一次. -- **纹理(Texture)**: 一种缠绕物体的特殊类型图片,给物体精细的视觉效果. -- **纹理缠绕(Texture Wrapping)**: 定义了一种当纹理顶点超出范围(0,1)时指定OpenGL如何采样纹理的模式 -- **纹理过滤(Texture Filtering)**: 定义了一种当有多种纹素选择时指定OpenGL如何采样纹理的模式. 这通常在纹理被放大情况下发生. -- **多级渐远纹理(Mipmaps)**: 被存储的材质一些的缩小版本,根据距观察者的距离会使用材质的合适大小. -- **SOIL**: 图像加载库 -- **纹理单元(Texture Units)**: 通过绑定纹理到不同纹理单元从而允许多个纹理在同一对象上渲染. -- **向量(Vector)**: 一个定义了在空间中方向和/或位置数学实体. -- **矩阵(Matrix)**: 一个矩形阵列的数学表达式. -- **GLM**: 一个为OpenGL打造的数学库. -- **局部空间(Local Space)**: 一个对象的初始空间. 所有的坐标都是相对于对象的原点的. -- **世界空间(World Space)**: 所有的坐标都相对于全局原点. -- **观察空间(View Space)**: 所有的坐标都是从摄像机的视角观察的. -- **裁剪空间(Clip Space)**: 所有的坐标都是从摄像机视角观察的,但是该空间应用了投影.这个空间应该是一个顶点坐标最终的空间,作为顶点着色器的输出. OpenGL负责处理剩下的事情(裁剪/透视划分). -- **屏幕空间(Screen Space)**: 所有的坐标都由屏幕视角来观察. 坐标的范围是从0到屏幕的宽/高. -- **LookAt矩阵**: 一种特殊类型的观察矩阵,它创建了一个坐标系,其中所有坐标都根据从一个位置正在观察目标的用户旋转或者平移. -- **欧拉角(Euler Angles)**: 被定义为偏航角(yaw),俯仰角(pitch),和滚动角(roll)从而允许我们通过这三个值构造任何3D方向. \ No newline at end of file +- **OpenGL**: 一个定义了函数布局和输出的图形API的正式规范。 +- **GLEW**: 一个拓展加载库,用来为我们加载并设定所有OpenGL函数指针从而让我们能够使用所有(现代)OpenGL函数。 +- **视口(Viewport)**: 我们需要渲染的窗口。 +- **图形管线(Graphics Pipeline)**: 一个顶点在呈现为像素之前通过的过程。 +- **着色器(Shader)**: 一个运行在显卡上的小型程序。很多阶段的图形管道都可以使用自定义的着色器来代替原来的功能。 +- **标准化设备坐标(Normalized Device Coordinates)**: 顶点在通过在剪裁坐标系中剪裁与透视划分后最终呈现在的坐标系。所有位置在NDC下-1.0到1.0的顶点将不会被丢弃并且可见。 +- **顶点缓冲对象(Vertex Buffer Object)**: 一个调用显存并存储所有顶点数据供显卡使用的缓冲对象。 +- **顶点数组对象(Vertex Array Object)**: 存储缓冲区和顶点属性状态。 +- **索引缓冲对象(Element Buffer Object)**: 一个存储索引供索引化绘制使用的缓冲对象。 +- **Uniform**: 一个特殊类型的GLSL变量。它是全局的(在一个着色器程序中每一个着色器都能够访问uniform变量)并且只能被设定一次。 +- **纹理(Texture)**: 一种缠绕物体的特殊类型图片,给物体精细的视觉效果。 +- **纹理缠绕(Texture Wrapping)**: 定义了一种当纹理顶点超出范围(0, 1)时指定OpenGL如何采样纹理的模式。 +- **纹理过滤(Texture Filtering)**: 定义了一种当有多种纹素选择时指定OpenGL如何采样纹理的模式。这通常在纹理被放大情况下发生。 +- **多级渐远纹理(Mipmaps)**: 被存储的材质一些的缩小版本,根据距观察者的距离会使用材质的合适大小。 +- **SOIL**: 图像加载库。 +- **纹理单元(Texture Units)**: 通过绑定纹理到不同纹理单元从而允许多个纹理在同一对象上渲染。 +- **向量(Vector)**: 一个定义了在空间中方向和/或位置数学实体。 +- **矩阵(Matrix)**: 一个矩形阵列的数学表达式。 +- **GLM**: 一个为OpenGL打造的数学库。 +- **局部空间(Local Space)**: 一个对象的初始空间。所有的坐标都是相对于对象的原点的。 +- **世界空间(World Space)**: 所有的坐标都相对于全局原点。 +- **观察空间(View Space)**: 所有的坐标都是从摄像机的视角观察的。 +- **裁剪空间(Clip Space)**: 所有的坐标都是从摄像机视角观察的,但是该空间应用了投影。这个空间应该是一个顶点坐标最终的空间,作为顶点着色器的输出。OpenGL负责处理剩下的事情(裁剪/透视划分)。 +- **屏幕空间(Screen Space)**: 所有的坐标都由屏幕视角来观察。坐标的范围是从0到屏幕的宽/高。 +- **LookAt矩阵**: 一种特殊类型的观察矩阵,它创建了一个坐标系,其中所有坐标都根据从一个位置正在观察目标的用户旋转或者平移。 +- **欧拉角(Euler Angles)**: 被定义为偏航角(yaw),俯仰角(pitch),和滚动角(roll)从而允许我们通过这三个值构造任何3D方向。 \ No newline at end of file