OpenGL中的glEnableClientState和glDisableClientState是什么意思?到目前为止,我发现这些函数是用来启用或禁用一些客户端能力。
好吧,这里的客户端或服务器到底是什么?我在PC上运行我的OpenGL程序,所以这是指什么?我们为什么需要禁用某些能力?还有更令人着迷的是与某种数组相关的事情?
整个画面对我来说非常模糊。
好吧,这里的客户端或服务器到底是什么?我在PC上运行我的OpenGL程序,所以这是指什么?我们为什么需要禁用某些能力?还有更令人着迷的是与某种数组相关的事情?
整个画面对我来说非常模糊。
原始术语来自X11符号表示法,其中服务器是实际的图形显示系统:
和
glEnableClientState
和 glDisableClientState
设置客户端部分的状态。顶点数组曾经位于客户端进程内存中,因此使用顶点数组进行绘制是客户端本地处理过程。
今天我们有缓冲区对象,将数据放置在服务器内存中,使得顶点数组的整个客户端术语变得不直观。像我们处理帧缓冲对象和纹理一样,通过常规的glEnable
/glDisable
函数丢弃客户端状态并启用/禁用顶点数组会更有意义。
gl[En/Dis]ableVertexAttribArray
,因此客户端状态函数也已经被弃用了。所以,语义冲突在将来不再是那么大的问题了。 - Christian Rau