OpenGL的状态查询- 小柳树的日志- 网易博客

OpenGL的状态查询

2010-05-07 17:05:42 阅读5 评论0 字号:

1. glGet:返往返所选择的参数值

  C语言描述

  void glGetBooleanv(GLenum pname, GLboolean *params);

  void glGetDoublev(GLenum pname, GLdouble *params);

  void glGetFloatv(GLenum pname, GLfloat *params);

  void glGetIntegerv(GLenum pname, GLint *params);

  参数

  pname 指定返回的参数值,可以选择的符号常数看下面的说明。

  params 返来回指定的参数值。

  说明

  本函数为OpenGL中简单状态变量返来回数值,如果params的数据类型并不是状态变量要求的数据类型,则执行类型转换。

  下面是pname可以选择的部分符号常数:

  GL_COLOR_CLEAR_VALUE params返往返四个值:用来xx颜色缓存的红色、绿色、蓝色和alpha值。如果需要,整数值由内部的浮点表达式进行线型映***,1.0返回{zd0}的正整数,-1.0返往返最小的正整数值。

  GL_COLOR_MATERIAL params返来回一个布尔数值,该值表示是否有一个或多个材质参数正在跟踪当前颜色。

  GL_COLOR_MATERIAL_FACE params返来回一个数值,该值为符号常数,表示有哪些材质正在跟踪当前颜色的参数。

  GL_COLOR_MATERIAL_PARAMETER params返往返一个数值,该值为符号常数,表示哪些材质参数正在跟踪当前颜色。

  GL_CULL_FACE params返回一个布尔数值,该值表示是否能使多边形切割。

  GL_CULL_FACE_MODE params返往返一个数值,该值为符号常数,它表示哪些多边形的面被剔除。

  GL_CURRENT_COLOR params返回四个数值:当前颜色的红、绿、蓝和alpha值。

  GL_CURRENT_NORMAL params返往返三个数值:当前法向量的x,y和z值。

  GL_DOUBLEBUFFER params返往返一个布尔值,该值表示是否能支持双缓存。

  GL_EDGE_FLAG params返往返一个布尔值,该值表示当前的边界标记是TRUE还是FALSE。

  GL_FRONT_FACE params返来回一个数值,该值为符号常数,表示是顺时针多边形还是逆时针多边形为正面多边形。

  GL_LIGHT_MODEL_AMBIENT params返往返四个数值:整个***中***浓度的红、绿、蓝和alpha值。

  GL_LIGHT_MODEL_TWO_SIDE params返回一个布尔值,该值表示是否使用分离的材质计算正面多边形和反面多边形的光照。

  GL_LINE_STIPPLE_PATTERN params返回一个数值,该值为16位直线点划图。

  GL_LINE_STIPPLE_REPEAT params返往返一个数值,该值为直线点划图的重复因子。

  GL_LINE_WIDTH params返来回一个数值,该值为当前指定的线宽。

  GL_LINE_WIDTH_RANGE params返回两个数值,线段所支持的最小宽度和{zd0}宽度。

  GL_MAX_CLIP_PLANES params返来回一个数值,该值为应用程序定义的切割平面的{zd0}数目。

  GL_MAX_LIGHTS params返回一个数值,该值为光照的{zd0}数目。

  GL_MAX_MODELVIEW_STACK_DEPTH params返来回一个数值,该值为模型视图矩阵堆栈支持的{zd0}深度。

  GL_MAX_PROJECTION_STACK_DEPTH params返往返一个数值,该值为投影矩阵堆栈支持的{zd0}深度。

  GL_MODELVIEW_MATRIX params返来回16个数值:在模型视图矩阵堆栈顶层的模型视图矩阵。

  GL_MODELVIEW_STACK_DEPTH params返回一个数值,该值为模型视图矩阵堆栈的矩阵数目。

  GL_POINT_SIZE params返来回一个数值,该值为当前指定的点的大小。

  GL_POINT_SIZE_RANGE params返回两个数值:点大小的最小值和{zd0}值。

  GL_POLYGON_MODE params返来回两个数值:指定是正面多边形还是反面多边形被光栅化为点、线或实多边形的符号常数。

  GL_PROJECTION_MATRIX params返往返16个数值:在投影矩阵堆栈顶层的模型视图矩阵。

  GL_ PROJECTION_STACK_DEPTH params返往返一个数值,该值投影矩阵堆栈的矩阵数目。

  GL_SHADE_MODEL params返往返一个数值,该值为符号常数,表示阴影***是平面明暗***还是光滑明暗***。

  GL_VIEWPORT params返往返四个数值:视口的x和y窗口坐标,接下来是视口的宽度和高度。

  2.glGetClipPlane:返往返指定的切平面系数

  C语言描述

  void glGetClipPlane(GLenum plane, GLdouble *equation);

  参数

  plane 指定用GL_CLIP_PLANEi标示的切割平面。

  *equation 返来回视点坐标中plane平面方程的系数。

  说明

  本函数可以***切割平面方程的四个系数。

  3. glGetLight:返往返光源参数值

  C语言描述

  void glGetLightfv(GLenum light, GLenum pname, GLfloat *params);

  void glGetLightiv(GLenum light, GLenum pname, GLint *params);

  参数

  light 指定名为GL_LIGHTi(0≤i≤GL_MAX_LIGHTS)。

  pname 指定光源参数。

  *param 返往返请求的数据。

  说明

  本函数用于获取光源的参数,pname指定的光源参数如下:

  GL_AMBIENT params返回四个整数值或浮点数值,这些值表示光源的***RGBA浓度。

  GL_DIFFUSE params返往返四个整数值或浮点数值,这些值表示光源的漫反***RGBA浓度。

  GL_SPECULAR params返回四个整数值或浮点数值,这些值表示光源的镜面RGBA浓度。

  GL_POSITION params返往返四个整数值或浮点数值,这些值表示光源的位置。

  GL_SPOT_DIRECTION params返回三个整数值或浮点数值,这些值表示光源的方向。

  GL_SPOT_EXPONENT params返往返一个整数值或浮点数值,它表示聚光源指数。

  GL_SPOT_CUTOFF params返往返单个整数值或浮点数值,它表示聚光源的角度。

  GL_CONSTANT_ATTENUATION params返来回单个整数值或浮点数值,它表示光照的恒定衰减值(与距离无关)。

  GL_LINEAR_ATTENUATION params返回单个整数值或浮点数值,它表示光照的线性衰减值。

  GL_QUADRATIC_ATTENUATION params返回单个整数值或浮点数值,它表示光照的二次衰减值。

  4. glGetMaterial:返回材质参数

  C语言描述

  void glGetMaterialfv(GLenum face, GLenum panem, GLfloat *params);

  void glGetMaterialiv(GLenum face, GLenum panem, GLint *params);

  参数

  face 指定查询的是哪个面的材质,必须为GL_FRONT、GL_BACK或GL_FRONT_AND_BACK。

  pname 指定返来回的材质参数。

  *params 返回请求的数据。

  说明

  本函数用于获取材质参数。pname可以选择的参数值如下:

  GL_AMBIENT params返来回四个整数值或浮点数值,这些值表示材质***反***的RGBA值。

  GL_DIFFUSE params返来回四个整数值或浮点数值,这些值表示材质漫反***的RGBA值。

  GL_SPECULAR params返往返四个整数值或浮点数值,这些值表示材质镜面反***的RGBA值。

  GL_EMISSION params返来回四个整数值或浮点数值,这些值表示材质漫反***光浓度的RGBA值。

  GL_SHININESS params返来回单个整数值或浮点数值,这个值表示材质的RGBA镜面指数。

  GL_COLOR_INDEXES params返来回三个整数值或浮点数值,这些值表示材质的***反***、漫***反***和镜面反***的颜色索引值。

  1.9 窗口初始化和启动事件处理

  1. glutInit:初始化GLUT库

  C语言描述

  void glutInit(int *argcp, char **argv);

  参数

  *argcp 指向main函数argc变量的指针。由于glutInit用于初始化GLUT库的命令行选项,因此当函数返来回时,argcp指向的数值会被更新。

  *argv main函数的argv变量。

  说明

  本函数用来初始化GLUT库并同窗口系统对话协商。在此***中,如果GLUT不能正确初始化,glutInit函数将会终止GLUT程序,并将错误信息往返送给用户。
<#--{zx1}日志--> <#--推荐日志--> <#--引用记录--> <#--相关日志--> <#--推荐日志--> <#--推荐阅读--> <#--相关文章 2010.04.29="" by="" yangfan--=""> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构-->
郑重声明:资讯 【OpenGL的状态查询- 小柳树的日志- 网易博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——