视频渲染
libSDL
1.libSDL,他可以为开发者提供面向libSDL的API编程,libSDL内部会解决多个平台的OpenGL上下文环境以及窗口管理问题,开发者只需要交叉编译到各自的平台上就可以做到只写一份代码即可运行在多个平台。其中FFmpeg中的ffplay这一工具就是基于libSDL进行开发的。
OpenGL ES
几何图元:包括点,线,三角形,均是通过顶点来指定的。模型:根据几何图元绘制的物体。渲染:计算机根据模型创建的过程。最终渲染过程结束后,人眼所看到的图像就是由屏幕上所有的像素点可以组成的一个大的一维数组,每4个Byte即表示一个像素点的RGBA数据,而在显卡中,这些像素点可以组成帧缓冲区的形式,帧缓冲区保存了图形硬件为了控制屏幕上所有像素的颜色和强度所需要的全部信息。
1.指定几何对象
就是绘制几何图元,glDrawArrays,第一个参数是mode
2.顶点处理
根据模型视图和投影矩阵进行的变换来改变顶点的位置,根据纹理坐标与纹理矩阵来改变纹理坐标的位置,如果涉及到三维的渲染,那么这里还需要处理光照计算和法线变换。这里的输出是以gl_Position来表示具体的顶点位置的,如果以点绘制几何图元,那么输出应该是gl_PointSize.
3.图元组装
顶点处理之后,模型的顶点和纹理坐标已经确定好了,在这个阶段,顶点将会根据应用程序送往图元的规则,将纹理组装成图元
4.栅格化操作
由图元装配好的图元数据,将会被分解成更小的单元并对应于帧缓冲区的各个像素。这些单元称为片元,一个片元可能包含窗口的颜色,纹理坐标等。片元的属性