openGL ES中的glEnableClientState 和 glDisableClientState
2013-06-09 11:20
519 查看
函数原型:
void glEnableClientState (int array);
void glDisableClientState (int array) ;
函数功能:
可以控制管道(pipeline)开关
函数参数:
array ---- 可以控制的管道(pipeline)开关可以有:GL_COLOR_ARRAY (颜色) ,GL_NORMAL_ARRAY (法线), GL_TEXTURE_COORD_ARRAY (材质), GL_VERTEX_ARRAY(顶点),GL_POINT_SIZE_ARRAY_OES等
描述:
大部分图形系统都可以比作工厂中的装配线(Assemble line)或者称为管道(Pipeline)。前一道的输出作为下道工序的输入。主CPU发出一个绘图指令,然后可能由硬件部件完成坐标变换,裁剪,添加颜色或是材质,最后在屏幕上显示出来。
OpenGL ES 1.x 的工序是固定的,称为Fix-Function Pipeline,可以想象一个带有很多控制开关的机器,尽管加工的工序是固定的,但是可以通过打开或关闭开关来设置参数或者打开关闭某些功能。
OpenGL ES 2.0 允许提供编程来控制一些重要的工序,一些“繁琐”的工序比如栅格化等仍然是固定的。
下图显示了OpenGL ES 1.x 固定管道的结构图:
管道“工序”大致可以分为 Transformation Stage 和 Rasterization Stage两大步。
OpenGL ES 支持的基本图形为 点Point, 线Line, 和三角形Triangle ,其它所有复制图形都是通过这几种基本几何图形组合而成。
在发出绘图指令后,会对顶点(Vertices)数组进行指定的坐标变换或光照处理。
顶点处理完成后,通过Rasterizer 来生成像素信息,称为”Fragments“ 。
对于Fragment 在经过Texture Processing, Color Sum ,Fog 等处理并将最终处理结果存放在内存中(称为FrameBuffer)。
OpenGL 2.0可以通过编程来修改蓝色的步骤,称为Programmable Shader.
以上管道中工序可以通过设置来打开或关闭某些功能(比如无需雾化Fog处理),并可以为某个工序设置参数,比如设置Vertext Array。
void glEnableClientState (int array);
void glDisableClientState (int array) ;
函数功能:
可以控制管道(pipeline)开关
函数参数:
array ---- 可以控制的管道(pipeline)开关可以有:GL_COLOR_ARRAY (颜色) ,GL_NORMAL_ARRAY (法线), GL_TEXTURE_COORD_ARRAY (材质), GL_VERTEX_ARRAY(顶点),GL_POINT_SIZE_ARRAY_OES等
描述:
大部分图形系统都可以比作工厂中的装配线(Assemble line)或者称为管道(Pipeline)。前一道的输出作为下道工序的输入。主CPU发出一个绘图指令,然后可能由硬件部件完成坐标变换,裁剪,添加颜色或是材质,最后在屏幕上显示出来。
OpenGL ES 1.x 的工序是固定的,称为Fix-Function Pipeline,可以想象一个带有很多控制开关的机器,尽管加工的工序是固定的,但是可以通过打开或关闭开关来设置参数或者打开关闭某些功能。
OpenGL ES 2.0 允许提供编程来控制一些重要的工序,一些“繁琐”的工序比如栅格化等仍然是固定的。
下图显示了OpenGL ES 1.x 固定管道的结构图:
管道“工序”大致可以分为 Transformation Stage 和 Rasterization Stage两大步。
OpenGL ES 支持的基本图形为 点Point, 线Line, 和三角形Triangle ,其它所有复制图形都是通过这几种基本几何图形组合而成。
在发出绘图指令后,会对顶点(Vertices)数组进行指定的坐标变换或光照处理。
顶点处理完成后,通过Rasterizer 来生成像素信息,称为”Fragments“ 。
对于Fragment 在经过Texture Processing, Color Sum ,Fog 等处理并将最终处理结果存放在内存中(称为FrameBuffer)。
OpenGL 2.0可以通过编程来修改蓝色的步骤,称为Programmable Shader.
以上管道中工序可以通过设置来打开或关闭某些功能(比如无需雾化Fog处理),并可以为某个工序设置参数,比如设置Vertext Array。
相关文章推荐
- opengl glEnableClientState() 和 glDisableClientState() 作用
- 在cocos2d-x高版本中想使用 glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- glEnable/glDisable(GL_CULL_FACE)与glCullFace()
- glEnable/glDisable(GL_CULL_FACE)与glCullFace()
- Opengl es2.0 glEnable(GL_TEXTURE_2D)报错 GL_INVALID_ENUM
- Python3 Tkinter基础 Entry state=DISABLE 不可以写 不可选中与拷贝的输入框
- glEnable/glDisable,glBlendFunc,glMatrixMode,glLoadIdentity
- Andorid Preference -- dependency 和 disableDependentsState属性 小结
- glEnable/glDisable(GL_CULL_FACE)与glCullFace()
- ASP.NET Client Side State Management
- 错误提示:SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [17004];
- OpenGL ES之glUniform函数
- Preference -- dependency 和 disableDependentsState属性 小结
- 通过cocos2d-x的CCGLProgram和CCShaderCache的实现来分析OpenGL ES中的Shader编程
- PVFS2 源代码分析之用户系统接口src/client/sysint/client-state-machine状态机生命周期和上下文
- SmartClient Software factory中的Composite UI Application Block(Cab)技术了解(七):State
- glEnable/glDisable(GL_CULL_FACE)与glCullFace()
- Oracle8i - DISABLE VALIDATE constraint state (文档 ID 69637.1)
- OpenGL ES之glUniform函数
- 《高效学习OpenGL》 之 选择光照类型 glLightModel(), glEnable()