状态机

1、对象内部保存着一系列描述其状态的参数
2、对象的状态改变依赖于对外提供的接口
3、对象的行为依赖于其内部状态参数

图-1

举例:音乐播放器
sound: 音量状态
speex: 播放倍速状态
record: 是否记录播放曲目

图形状态机

OpenGL的API设计体系,本质上就是一个状态机;所有操作都是由API来对某个对象设置状态,最后执行渲染
举例:
若当下状态设置为绘制三角形,那么绘制时就会把顶点+索引的组合识别为三角形的描述;
若当下状态设置为绘制直线,那么绘制时就会把顶点+索引的组合识别为直线的描述

图形状态机直线路径如下:

图-2

绑定-Bind

OpenGL中,任何对象(例如VBO/VAO),用户只能获取其内部分配的ID号
用户如果要对其进行操作,则必须先绑定当前操作对象ID,那么后面的API执行结果就应用到该对象上
VBO操作如下:

图-3