一:OpenGL和OpenGL ES简介
1.OpenGL:全称是(Open Graphics Library)一个开放的图形库,提供了跨平台,跨语言的图形程序接口。
2.OpenGL应用领域:视频、图像、图片处理;2D/3D游戏引擎开发;科学可视化;医学软件的开发;CAD(计算机辅助技术);虚拟实境(AR VR);人工智能等等
3.OpenGL ES:(OpenGL for Embedded Systems)是OpenGL的子集,专为手机、PAD和游戏主机等嵌入式设备设计的,是一个在移动平台上能够支持OpenGL最基本功能的精简规范。
4.使用OpenGL ES的原因
GPU(Graphics Processing Unit)图形处理器,显卡处理器,它是显卡的“心脏”,专为执行复杂的数学和几何计算而设计的,这些计算是图形渲染必须的。
因为CPU和GPU不能直接通信,会导致数据饥饿的问题,为了解决这个问题,运用到了OpenGL ES,实际上是开辟了一块儿缓冲区,可以直接把数据放到这个缓冲区,不需要数据传递,解决数据饥饿的问题。
二:着色器语言
(一 基本名词解释)
1.图元:图形软件包中描述图形元素的函数,即组成图像的基本单元。
2.OpenGL渲染管线
渲染流水线:显示芯片内部处理图形信号互相独立的并行处理单元!其实就是一系列有序的处理阶段的序列,用于把应用中的数据转化到OpenGL生成一个最终的图像的过程。
3.GLSL
GLSL(GL Shading Language)GL着色器语言,专门为图形开发设计的编程语言。
4.可编程管线的编程阶段
光栅化:将输入图元的数学描述转换为与屏幕位置对应的像素片元(其实就是把矢量图形转成像素点的过程)如下图:把圆形转成像素点的过程就是光栅化。
5.<