GLX包含了下面的内容:
1、X Window System application中的OpenGL API扩展
2、X 协议的扩展, 上图中的除了原有的Xpackets,新扩展一种GLX Packets。使客户端(the OpenGL application)发送 3D 渲染命令给 X server (the software responsible for the display)。 我的理解是,原有的X 协议不变基础上添加新的GLX扩展,因此,原有的用户事件输入处理流程是不变的。
3、X server的功能扩展,使之可以接收渲染命令。 (如果无硬件加速的OpenGL类库则使用 Mesa 类库)。
如果X Window System application和X server运行在同一台机器上,并且3D加速的图形卡及驱动能够支持,可以使用DRI(Direct Rendering Infrastructure)直接访问图形硬件设备。
直接的3D图形渲染和间接的3D图形渲染。如下图所示: