OpenGL

OpenGL常见术语

2020-07-02  本文已影响0人  只写Bug程序猿

1.图形API简介

2.状态机

2.1 OpenGL上下文Context
2.2状态机概念 特点

状态机是理论上的一种机器,状态机描述了,一个对象在其声明周期内所经历的各种状态,状态间的转变,发生转变的动因,条件及转变中所执行的活动,或者说状态机是一种行为,说明对象在其生命周期中响应事件所经历的状态序列以及对那些状态事件的响应, 有一下特点

类推到OpenGL

3.渲染

将图形/图像数据转换成2D空间图像的操作叫做渲染(Rendering)

4.顶点数组(VertexArray) 和顶点缓冲区(VertexBuffer)

OpenGL中图像是有图元组成的,OpenGL ES中有三种类型的图元: 点, 线,三角形,

顶点是绘制图形时,他的顶点位置数据,这个数据可以直接存储在数组中,
更高效的做法就是提前分类一块显存,将顶点数据预先传入GPU的显存中去,这个提前分配的显存就叫做顶点缓冲区(VertexBuffer)

5.着色器(Shader)

常见着色器:

  1. 顶点着色器(VertexShader)
  2. 片段着色器(FragmentShader)/像素着色器(PixelShader) OpenGLDX中的不不同叫法⽽而已
  3. ⼏何着⾊器 (GeometryShader)
  4. 曲⾯细分着⾊器(TessellationShader)

OpenGLES 3.0 中只支持顶点着色器和片段着色器.几何着色器和曲面细分着色器不让操作,也没有权限进行自定义操作

5.1着色器渲染流程
  1. 顶点着色器对传入的顶点数据进行运算
  2. 通过图元装配,将顶点转换为图元,(此阶段判断顶点是一条直线还是三角形)
  3. 进行光栅化并转化成栅格化数据
  4. 栅格化数据传入片元着色器中进行运算,片元着色器对栅格化数据中每个像素点进行运算并决定像素的颜色


    着色器渲染流程
5.2 顶点着色器
5.2 片元着色器FragmentShader

6.光栅化Rasterization

纹理

可以理解为图片,渲染图形时,需要在顶点围成的区域填充图片,使场景更加逼真,这里使用的图片就是纹理

渲染上屏/交换缓冲区(SwapBuffer)

上一篇下一篇

猜你喜欢

热点阅读