【Modern OpenGL】复习 Review

说明:跟着learnopengl的内容学习,不是纯翻译,只是自己整理记录。
强烈推荐原文,无论是内容还是排版。 原文链接
本文地址:http://blog.csdn.net/aganlengzi/article/details/50479568

复习 Review

祝贺你也祝贺我到了初识阶段(Getting started)的最后。我们不妨来回顾一下在这个阶段都学习到了什么。创建一个窗口(还记的GLFW吗),创建一个shader(我们主要使用到的是vertex shader和fragment shader),学会了通过缓冲区或者uniform变量把数据传输到shader程序中,学会了绘制对象,使用纹理,理解了向量和矩阵的基本操作和它们之间的操作。还学会了将上面的所有组合起来绘制一个三维场景并且利用转换和键盘鼠标输入对这个场景进行变换操作。

哇!这真是不少啊!当然上面说的这些内容也只是我们初步掌握了而已,在实际的使用中肯定还是需要大量的练习和理解。

术语 Glossary

这些术语用英文感觉更好理解也更准确。

OpenGL: a formal specification of a graphics API that defines the layout and output of each function.
GLEW: an extension loading library that loads and sets all OpenGL’s function pointers for us so we can use all (modern) OpenGL’s functions.
视口 Viewport: the window where we render to.
图形渲染管道 Graphics Pipeline: the entire process a vertex has to walk through before ending up as a pixel on your screen.
着色程序 Shader: a small program that runs on the graphics card. Several stages of the graphics pipeline can use user-made shaders to replace existing functionality.
顶点 Vertex: a collection of data that represent a single point.
标准化设备坐标系 Normalized Device Coordinates: the coordinate system your vertices end up in after clipping and perspective division is performed on clip coordinates. All vertex positions in NDC between -1.0 and 1.0 will not be discarded and end up visible.
VBO Vertex Buffer Object: a buffer object that allocates memory and stores all the vertex data for the graphics card to use.
VAO Vertex Array Object: stores buffer and vertex attribute state information.
EBO Element Buffer Object: a buffer object that stores indices for indexed drawing.
Uniform: a special type of GLSL variable that is global (each shader in a shader program can access this uniform variable) and only has to be set once.
纹理 Texture: a special type of image wrapped around objects, giving the illusion an object is extremely detailed.
纹理包裹 Texture Wrapping: defines the mode that specifies how OpenGL should sample textures when texture coordinates are outside the range: (0, 1).
纹理过滤 Texture Filtering: defines the mode that specifies how OpenGL should sample the texture when there are several texels (texture pixels) to choose from. This usually occurs when a texture is magnified(放大).
多级纹理映射 Mipmaps: stored smaller versions of a texture where the appropriate sized version is chosen based on the distance to the viewer.
SOIL: image loading library.
纹理单元 Texture Units: allows for multiple textures on a single object by binding multiple textures each to a different texture unit.
向量 Vector: a mathematical entity that defines directions and/or positions in any dimension.
矩阵 Matrix: a rectangular array of mathematical expressions.
GLM: a mathematics library tailored for OpenGL.
局部坐标系 Local Space: the space an object begins in. All coordinates relative to an object’s origin.
世界坐标系 World Space: all coordinates relative to a global origin.
视口坐标系 View Space: all coordinates as viewed from a camera’s perspective.
裁剪坐标系 Clip Space: all coordinates as viewed from the camera’s perspective but with projection applied. This is the space the vertex coordinates should end up in, as output of the vertex shader. OpenGL does the rest (clipping/perspective division).
屏幕坐标系 Screen Space: all coordinates as viewed from the screen. Coordinates range from 0 to screen width/height.
LookAt: a special type of view matrix that creates a coordinate system where all coordinates are rotated and translated in such a way that the user is looking at a given target from a given position.
欧拉角 Euler Angles: defined as yaw(偏向角), pitch(俯仰角) and roll(旋转角) that allow us to form any 3D direction vector from these 3 values

你可能感兴趣的:(三角形,OpenGL,shader,vertex,GLFW)