Client (客户端):存储在CPU存储器中的,并且在应用程序中执行,或者在主系统内存的驱动程序中执行。驱动程序会将渲染命令和数组组合起来,发送给服务器执行!
Server(服务器): 在PC或Mac电脑上,服务器指的其实就是图形加速卡上的硬件和内存(显卡,显存)。
OpenGL是一种client-server(client-server)类型的系统。我们编写的程序就是一个client。而我们的计算机图形硬件制造商提供的OpenG的实现就是server。在一些OpenGL的实现里(比如一些和X Window System相关的应用),client和server可能会在不同的机器上运行。中间用网络连接。在这样的情况下,client能够发起OpenGL命令,然后转换成窗体系统特定的协议,再发送给server,终于在server上运行OpenGL进行图像显示。
注意,顶点数组保存在你的应用程序(系统内存),它在客户端。且处在服务端的OpenGL访问它们。这就是为什么拥有顶点数组这些特殊命令的原因,使用glEnableClientState()与glDisableClientState()而不是glEnable()与glDisable()。