OpenGL Pipeline

OpenGL

Open Graphic Library,定义了一个跨编程语言、跨平台编程的专业图形程序接口。可用于二维或三维图像的处理和渲染,是一个功能强大、调用方便的底层图形库。

OpenGL ES(OpenGL for Embeddled Systems),针对手机、Pad等嵌入式设备而设计的,是OpenGL的一个子集,在移动平台上能够支持OpenGL最基本功能的精要规范。

相关概念

  • primitives:图元。包含顶点、边、三角形,组成图像的基本单位。
  • texture: 纹理即“纹路”,每个物体表面上不同的样子,譬如说木头的木纹状。
  • map: 贴图是图,最简单的形式是ps之类的软件做出来的一张图,这些图在3D中用来贴到物体的表面,用来表现物体的“纹理”。
    UV Map(),Diffuse Map(漫反射贴图),Specular Map(),Normal Map(法线贴图) 和 Gloss Map()
    通常使用中纹理、贴图没有严格区分。统称纹理贴图,或者直接称为贴图,一般是一张图片。
  • materials:材质主要是用来表现物体对光的交互(反射、折射等)性质的。譬如金属对光的反射和毛毯对光的反射性质完全不一样,那么对3D程序来说,这样的差别就通过材质这个属性来计算出不同的颜色。
  • mesh:网格组件。通俗的讲,Mesh是指模型的网格,3D模型是由多边形拼接而成,而多边形实际上是由多个三角形拼接而成的。所以一个3D模型的表面其实是由多个彼此相连的三角面构成。三维空间中,构成这些三角形的点和边的集合就是Mesh。
  • VS: Vertex Shader,顶点着色器
  • GS: Geometry Shader,几何着色器
  • FS: Fragment Shader,段着色器
  • FBO: Framebuffer Object,帧缓冲对象
  • Pipeline:渲染管线。一系列有序的处理阶段的序列,用于把应用中的数据转化到OpenGL生成一个最终的图像的一个过程。
  • rasterize: 光栅化,将几何数据经过一系列变换后最终转换为像素,从而呈现在显示设备上的过程。

    引用自:https://blog.csdn.net/u010356727/article/details/50594401

  • RenderPass:渲染通道,
  • obj文件:常见的模型文件。

    v:顶点;vn: ; vt: ; f: 面;

为什么要使用OpenGL ES

引用自:https://blog.csdn.net/github_34402358/article/details/79440763

OpenGL Pipeline(渲染管线)

参考:
[1] https://stanford.edu/class/ee267/lectures/lecture2.pdf
[2] https://stanford.edu/class/ee267/lectures/lecture3.pdf
[3] https://stanford.edu/class/ee267/lectures/lecture4.pdf
[4] https://stanford.edu/class/ee267/notes/ee267_notes_graphicspipeline.pdf
[5] https://www.opengl.org/img/uploads/pipeline/pipeline_003.pdf
[6] http://web.cse.ohio-state.edu/~shen.94/781/Site/Slides_files/pipeline.pdf
[7] https://www.jianshu.com/p/456c961164d9

------------- The End -------------