glut常用函数介绍

合集下载

GLSL常用内置函数汇总

GLSL常用内置函数汇总

GLSL常用内置函数汇总GLSL(OpenGL Shading Language)是一种用于编写着色器代码的高级编程语言,主要用于实现图形渲染管线中的着色器功能。

GLSL提供了许多内置函数,用于执行各种常见的数学运算、图形处理和纹理操作。

下面是GLSL常用的内置函数的汇总。

一、数学函数1. sin(x): 返回角度x的正弦值。

2. cos(x): 返回角度x的余弦值。

3. tan(x): 返回角度x的正切值。

4. pow(x, y): 返回x的y次幂。

5. sqrt(x): 返回x的平方根。

6. abs(x): 返回x的绝对值。

7. floor(x): 返回不大于x的最大整数。

8. ceil(x): 返回不小于x的最小整数。

9. mod(x, y): 返回x除以y的余数。

10. min(x, y): 返回x和y中的最小值。

11. max(x, y): 返回x和y中的最大值。

二、向量和矩阵函数1. length(x): 返回向量x的长度。

2. dot(x, y): 返回向量x和y的点积。

3. cross(x, y): 返回向量x和y的叉积。

4. normalize(x): 返回一个与向量x方向相同的单位向量。

三、纹理函数1. texture2D(sampler, coord): 根据指定的纹理坐标从纹理采样器sampler中获取颜色值。

2. textureCube(sampler, coord): 根据指定的纹理坐标从立方体贴图采样器sampler中获取颜色值。

3. texture2DProj(sampler, coord): 根据指定的纹理坐标从投影纹理采样器sampler中获取颜色值。

4. texture2DLod(sampler, coord, level): 根据指定的纹理坐标和LOD级别从纹理采样器sampler中获取颜色值。

5. textureCubeLod(sampler, coord, level): 根据指定的纹理坐标和LOD级别从立方体贴图采样器sampler中获取颜色值。

OpenGL库函数大全

OpenGL库函数大全

OpenGL库函数大全OpenGL核心库核心库包含有115个函数,函数名的前缀为gl。

这部分函数用于常规的、核心的图形处理。

此函数由gl.dll来负责解释执行。

由于许多函数可以接收不同数以下几类。

据类型的参数,因此派生出来的函数原形多达300多个。

核心库中的函数主要可以分为以下几类函数:(1)绘制基本几何图元的函数。

如绘制图元的函数glBegain()、glEnd()、glNormal*()、glVertex*()。

(2)矩阵操作、几何变换和投影变换的函数。

如矩阵入栈函数glPushMatrix()、矩阵出栈函数glPopMatrix()、装载矩阵函数glLoadMatrix()、矩阵相乘函数glMultMatrix(),当前矩阵函数glMatrixMode()和矩阵标准化函数glLoadIdentity(),几何变换函数glTranslate*()、glRotate*()和glScale*(),投影变换函数glOrtho()、glFrustum()和视口变换函数glViewport()等等。

(3)颜色、光照和材质的函数。

如设置颜色模式函数glColor*()、glIndex*(),设置光照效果的函数glLight*() 、glLightModel*()和设置材质效果函数glMaterial()等等。

(4)显示列表函数、主要有创建、结束、生成、删除和调用显示列表的函数glNewList()、glEndList()、glGenLists()、glCallList()和glDeleteLists()。

(5)纹理映射函数,主要有一维纹理函数glTexImage1D()、二维纹理函数glTexImage2D()、设置纹理参数、纹理环境和纹理坐标的函数glTexParameter*()、glT exEnv*()和glTetCoord*()等。

(6)特殊效果函数。

融合函数glBlendFunc()、反走样函数glHint()和雾化效果glFog*()。

OpenGL 函数 gluLookAt

OpenGL 函数 gluLookAt

OpenGL 函数gluLookAt()glScalef() glTranslatef()glRotatef() glFrustum()glPerspective() 的使用1.gluLookAt()——视图变换函数把自己的眼睛当成是照相机,前三个参数表示眼睛的坐标,中间三个参数表示要拍照的物体的中心位置,可以理解成焦点吧,后三个参数表示头顶的朝向,比如说头可以歪着(哈哈)。

但是我测试过,如果歪的不对,原来的正前方现在已经不是正前方了,那么就看不见物体了。

举个例子:gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);//这个就表示头顶是朝着y方向gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0);//这个表示头歪了45度,头顶朝着(1.0,1.0,0.0)这个方向2.glScalef() ——模型变换函数缩放void glScalef(GLfloat x, GLfloat y, GLfloat z);模型变换的目的是设置模型的位置和方向,例如可以对模型进行旋转、移动和缩放,或者联合这几种操作。

这个函数表示模型在各轴上是如果进行缩放的。

举个例子:glScalef (1.0, 2.0, 1.0);//表示y坐标值扩大两倍,这样原本方的物体就变成长的了。

3.glTranslatef() ——模型变换函数移动void glTranslatef(GLfloat x, GLfloat y, GLfloat z);这个函数表示模型是怎样移动的。

举个例子:glTranslatef(-1.0,0.0,-2.0);//表示物体沿x负方向移动1.0,沿z轴负方向移动2.0。

所以就好像能看见侧面一样4.glRotatef()——模型变换函数旋转void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);angle表示旋转的角度(注意单位不是弧度),(x,y,z)表示转轴。

glut教程9--GLUT鼠标

glut教程9--GLUT鼠标

GLUT教程(九)GLUT鼠标收藏在前几节,我们看了怎么使用GLUT的keyboard函数,来增加一个OpenGL程序的交互性。

现在,是时候研究下鼠标了。

GLUT的鼠标接口提供一些列的选项来增加鼠标的交互性。

也就是检测鼠标单击,和鼠标移动。

检测鼠标Clicks和键盘处理一样,GLUT为你的注册函数(也就是处理鼠标clicks事件的函数)提供了一个方法。

函数glutMouseFunc,这个函数一般在程序初始化阶段被调用。

函数原型如下:void glutMouseFunc(void(*func)(int button,int state,int x,int y));参数:func:处理鼠标click事件的函数的函数名。

从上面可以看到到,处理鼠标click事件的函数,一定有4个参数。

第一个参数表明哪个鼠标键被按下或松开,这个变量可以是下面的三个值中的一个:GLUT_LEFT_BUTTONGLUT_MIDDLE_BUTTONGLUT_RIGHT_BUTTON第二个参数表明,函数被调用发生时,鼠标的状态,也就是是被按下,或松开,可能取值如下:GLUT_DOWNGLUT_UP当函数被调用时,state的值是GLUT_DOWN,那么程序可能会假定将会有个GLUT_UP事件,甚至鼠标移动到窗口外面,也如此。

然而,如果程序调用glutMouseFunc传递NULL作为参数,那么GLUT将不会改变鼠标的状态。

剩下的两个参数(x,y)提供了鼠标当前的窗口坐标(以左上角为原点)。

检测动作(motion)GLUT 提供鼠标motion检测能力。

有两种GLUT处理的motion:active motion和passive motion。

Active motion是指鼠标移动并且有一个鼠标键被按下。

Passive motion是指当鼠标移动时,并有没鼠标键按下。

如果一个程序正在追踪鼠标,那么鼠标移动期间,没一帧将产生一个结果。

glut常用函数介绍

glut常用函数介绍

GLUT常用函数介绍stephenxjc_千年一笑2010-7-29对象:GLUT的入门级(初学者)关键字:GLUT、函数核心内容:主要是通过在一个具体的程序中函数的作用平台:visual studio2008,需要配置好OpenGL32.lib、GLu32.lib、GlAux.Lib、glut32.lib和相应的dll文件。

正文1示例简单的一个主函数:glutInitWindowSize() ,glutCreateWindow()等函数比较简单,程序中的介绍已经足够。

下面重点介绍其它函数。

2glutInitDisplayMode()初始化显示模式。

这里主要采用RGB模式显示,并采用双缓存模式。

双缓存模式相对的是单缓存,双缓存是现在后台缓存绘制,在绘制完成后,将后台与前台缓存交换,后台变前台,前台变后台,达到快速输出的效果。

而单缓存,在绘制时就在唯一缓存中绘制,当绘制时间比较长时,会使屏幕比较卡。

3glutKeyBoardFunc(pressKeyboard)设定键盘响应函数为pressKeyboard,函数的结构为:其中,key为返回的按键的ASCII编码,x和y为鼠标的当前的位置。

4glutSpecialFunc(specialKey)实际也是针对按键响应,但与glutKeyBoardFunc相比,前者针对的是一些特殊的按键。

包括:GLUT_KEY_F1,GLUT_KEY_F2,GLUT_KEY_F3,GLUT_KEY_F4,GLUT_KEY_F5,GLUT_KEY_F6,GLUT_KEY _F7,GLUT_KEY_F8,GLUT_KEY_F9,GLUT_KEY_F10,GLUT_KEY_F11,GLUT_KEY_F12,GLUT_KEY_LEFT, GLUT_KEY_UP,GLUT_KEY_RIGHT,GLUT_KEY_DOWN,GLUT_KEY_PAGE_UP,GLUT_KEY_PAGE_DOW N,GLUT_KEY_HOME,GLUT_KEY_END,GLUT_KEY_INSERT。

头歌数据库数学函数

头歌数据库数学函数

头歌数据库数学函数主要包括以下几种:
1. ABS函数:计算参数的绝对值。

2. ACOS函数:返回参数的反余弦值,即弧度制的余弦值的反正弦值。

3. ASIN函数:返回参数的反正弦值,即弧度制的正弦值的反正弦值。

4. ATAN函数:返回参数的反正切值,即弧度制的正切值的反正切值。

5. COS函数:返回参数的余弦值,即弧度制的余弦值。

6. COSH函数:返回参数的双曲余弦值。

7. COT函数:返回参数的余切值,即弧度制的余切值。

8. EXP函数:返回以自然常数e为底的指数值。

9. FLOOR函数:向下取整,即取不大于参数值的最大整数。

10. FLOOR函数:返回参数的小于或等于参数值的最大整数。

11. LOG函数:返回以自然对数为底的参数的对数。

12. LOG10函数:返回以10为底的参数的对数。

13. LOWER函数:将字符串中的大写字母转换为小写字母。

14. MID函数:返回字符串中指定位置的字符。

15. SIGN函数:返回参数的符号,正数为1,负数为-1,0为0。

16. SIN函数:返回参数的正弦值,即弧度制的正弦值。

17. SINH函数:返回参数的双曲正弦值。

18. SQRT函数:返回参数的平方根。

19. TAN函数:返回参数的正切值,即弧度制的正切值。

20. TANH函数:返回参数的双曲正切值。

以上是头歌数据库数学函数的主要介绍,这些函数可以帮助我们
在数据分析和处理中快速地进行数学运算。

GLUT教程

GLUT教程
GLUT 定义了当窗口大小改变时哪一个函数应该被调用。此外,这个函数还会在窗口初 次被创建时调用,保证初始化窗口不是正方形的时候渲染也不会变形出错。
这个函数是 glutReshapeFunc()。 void glutReshapeFunc(void(*func)(int width,int height));
参数: func: 指负责设置正确投影的函数的名称。
因 此 我 们 必 须 做 的 第 一 件 事 是 回 到 main ( ) 函 数 。 在 上 一 章 的 代 码 里 加 入 对 glutReshapeFunc()的调用,让我们把负责窗口尺寸的函数叫做 changeSize。现在的代码如下。 void main(int argc, char **argv) {
假定你想要一个有单缓冲区,深度缓冲区的 RGB 窗口,你用“或“(|)操作符来建立你想要 的显示模式。
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE|GLUT_DEPTH); 经过上面的这些步骤后,就可以调用函数 glutCreateWindow()来创建窗口了。
Int glutCreateWindow(char* title); 参数: Title:设置窗口的标题。 glutCreateWindow()的返回值是一个窗口标识符。后面你可以在 GLUT 里使用这个标 识符,不过这个超出了本小节的范围。
现在就有一些代码来完成所有的初始化操作。 #include<gl/glut.h> void main(int argc,char**argv) {
glutInit(&argc,argv); glutInitDisplayMode(GLUT_DEPTH|GLUT_SINGLE|GLUT_RGBA); glutInitWindowPosition(100,100); glutInitWindowSize(320,320); glutCreateWindow(“GLUT Tutorial”); } 如果你运行上述代码,你将会得到一个空的黑的控制台窗口,而没有 OpenGL 窗口。并 且控制台窗口将很快消失。 在我们渲染一些东西前,还有两件事需要处理。第一告诉 GLUT 哪个函数负责渲染。 我们创建一个简单的渲染的函数。下面的这个函数将会清除颜色缓冲区并画一个三角形。 void renderScene(void) {

GLUT函数库

GLUT函数库

GLUT 工具箱函数GLUT工具箱提供几种图形3维图形的函数:void glutWireSphere(GLdouble radius,GLint slices, GLint stacks); 丝状球void glutSolidSphere(GLdouble radius,GLint slices, GLint stacks); 实心球void glutWireCube(GLdouble size); 丝状立方体void glutSolidCube(GLdouble size); 实心立方体void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,GLint nsides,GLint rings); 丝状花环void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,GLint nsides,GLint rings); 实心花环void glutWireIcosahedron(void); 丝状20面体void glutSolidIcosahedron(void); 实心20面体void glutWireOctahedron(void); 丝状8面体void glutSolidOctahedron(void); 实心8面体void glutWireTetrahedron(void); 丝状4面体void glutSolidTetrahedron(void); 实心4面体void glutWireDodecahedron(GLdouble radius); 丝状12面体void glutSolidDodecahedron(GLdouble radius); 实心12面体void glutWireCone(GLdouble radius, GLdouble height,GLint slices,GLint stacks); 丝状圆锥体void glutSolidCone(GLdouble radius, GLdouble height,GLint slices,GLint stacks); 实心圆锥体void glutWireTeapot(GLdouble size); 丝状茶壶void glutSolidTeapot(GLdouble size); 实心茶壶如果需要用到长方体那就用glScalef(x,y,z); 做自己想要的长方体,这儿的x,y,z 分别对应x,y,z轴的缩放比例不过居然没有看到圆柱体的函数。

实体模型函数

实体模型函数

绘制实体或线框茶壶
void glutSolidTeapot/glutWireTeapot (GLdouble size);
3
OpenGL中的实体模型函数
GLU二次曲面函数
定义一个二次曲面
GLUquadricObj *sphere;
激活二次曲面绘制器
sphere = gluNewQuadric( );
slices, stacks);
5
指定二次曲面的绘制方式
gluQuadricDrawStyle(sphere, GLU_LINE);
4
OpenGL中的实体模型函数
绘制二次曲面
gluSphere(sphere, radius, slices, stacks); gluCylinder(sphere,baseRadius,topRadius, height, slices, stacks); gluDisk(sphere,innerRadius,outerRadius,
slices, GLint stacks);
2
OpenGL中的实体模型函数
绘制实体或线框圆环
void glutSolidTorus/ glutWireTorus(GLdouble
innerRadius, GLdouble outerRadius, GLint
slices,GLint stacks);
OpenGL中的实体模型函数
GLUT库中的多面体函数
表4.1 GLUT生成规则多面体的函数
函数 glutSolidTetrahedron( ) glutWireTetrahedron( ) glutSolidCube(size) glutWireCube(size) glutSolidOctahedron ( ) glutWireOctahedron ( ) glutSolidDodecahedron( ) glutWireDodecahedron( ) glutSolidIcosahedron( ) glutWireIcosahedron( ) 说明 绘制中心位于世界坐标系原点的实心四面体和线框四面体,四面体的半 径为 3。 绘制中心位于世界坐标系原点的实心立方体和线框立方体,立方体的半 径为size,size是一个双精度浮点值。 绘制中心位于世界坐标系原点的实心八面体和线框八面体,八面体的半 径为1.0。 绘制中心位于世界坐标系原点的实心12面体和线框12面体,12面体的半 径为 3。 绘制中心位于世界坐标系原点的实心20面体和线框20面体,20面体的半 径为1.0。1Βιβλιοθήκη OpenGL中的实体模型函数

glut绘图函数

glut绘图函数
void glutWireCube(GLdouble size); 线 框 立 方 体 void glutSolidCube(GLdouble size); 实 心 立 方 体
void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings); 线框圆环 void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings); 实心圆环
void glutWireTeapot(GLdouble size); 线 框 茶 壶 void glutSolidTeapot(GLdouble size); 实 心 茶 壶
void glutWireIcosahedron(void); 线 框 20面 体 void lutSolidIcosahedron(void); 实 心 20面 体
void glutWireOctahedron(void); 线 框 8面 体 void glutSolidOctahedron(void); 实 心 8面 体
void glutWireTetrahedron(void); 线 框 4面 体 void glutSolidTetrahedron(void); 实 心 4面 体
void glutWireDodecahedron(GLdouble radius); 线 框 12面 体 void glutSolidDodecahedron(GLdouble radius); 实 心 12面 体
void glutWireCone(GLdouble radius, GLdouble height, GLint slices, GLint stacks); 线 框 圆 锥 体 void glutSolidCone(GLdouble radius, GLdouble height, GLint slices, GLint stacks); 实 心 圆 锥 体

OpenGL 中 GLUT 消息事件处理函数

OpenGL 中 GLUT 消息事件处理函数

OpenGL 中GLUT 消息事件处理函数GLUT是一套OpenGL 的辅助函数库,他使我们能十分简单的设置各种消息处理函数,而且与平台无关,也就是说如果使用glut 在windows 下编译通过的程序无需更改便可在Linux, 和Mac OS 下的编译运行,这一点是十分有用的,要知道Win32 API 繁琐的代码走出了Windows 的窗户可什么也干不了。

给GLUT 作了这么多广告,让我们看看他是怎么用的。

GLUT的基本功能包括窗口初始化功能、事件处理、窗口和菜单管理、回调函数注册和几何建模功能。

窗口初始化功能,它有4个函数。

主要用于处理初始化并以及命令行参数,初始化显示模式,指定窗口左上角在屏幕上的位置和窗口大小,以像素为单位。

事件处理只有一个函数,它用于显示创建的窗口、处理输入的事件、触发回调函数、进入循环直到程序退出。

窗口管理包含18个函数,用于建立、销毁窗口及可能的子窗口,管理和设置窗口的属性。

在GLUT中有20个回调函数,用于响应用户事件。

最重要的回调函数是glutDisplayFunc,当GLUT认为需要重新显示窗口内容时,都将执行这一函数注册的回调函数。

另外一些重要的回调函数注册函数有:函数glutRe-shapeFunc用于注册窗口大小改变这一事件发生时GLUT将调用的函数。

glutKeyboardFunc和glutMouseFunc用于注册键盘和鼠标事件发生时的回调函数。

函数glutMotionFunc 注册鼠标移动事件的回调函数。

这3个函数用于人机交互处理。

在没有其他事件处理时,GLUT将调用函数glutldleFunc注册的函数,而函数glutTimerFunc则注册处理定时器事件的函数。

penGL绘图函数只能生成点、直线、多边形等简单的几何图元,GLUT提供了18个创建三维物体的函数。

利用它们可以创建9种三维物体,如圆锥体、立方体、球体等,每一物体有线框和实体2种方式。

glutinit函数

glutinit函数

glutinit函数
glutInit函数是GLUT库的一个函数,用于初始化GLUT库并为其提供命令行参数。

它有两种用法:
1. **void glutInit(int *argcp, char **argv)**:使用命令行参数来初始化GLUT库。

参数argcp是一个指向参数计数器的指针,argv是指向参数字符串数组的指针。

2. **void glutInitDisplayMode(unsigned int mode)**:设置GLUT库是在何种条件下运行的的模式。

参数mode可以是以下几个常量的组合:
- GLUT_RGB:使用RGB颜色模式 - GLUT_RGBA:使用RGBA颜色模式 - GLUT_DOUBLE:双缓存模式 -
GLUT_SINGLE:单缓存模式 - GLUT_DEPTH:深度缓存模式- GLUT_STENCIL:模板缓存模式
在使用GLUT库前,必须首先调用glutInit函数进行初始化。

在调用其他GLUT函数之前必须初始化GLUT库。

glut函数解析1

glut函数解析1

glut函数解析1glut函数解析1:显示模式:glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);//创建窗口时使用单缓冲,并且使用RGB颜色模型。

和GLUT_SINGLE对应的有GLUT_DOUBLE双缓冲,主要用于动画。

2:创建OpenGL窗口:glutCreateWindow("窗口名");3:回调函数:glutDisplayFunc(RenderScene);glutReshapeFunc(ChangeSize);分别用于指定当前窗口的显示回调函数和再整型回调函数,回调函数是为了响应某种事件而响应的函数,是由程序员编写的。

需要绘制窗口就要调用glutDisplayFunc();而当窗口发生变化时就调用glutReshapeFunc();4;执行函数:glutMainLoop();//这个函数让GLUT框架开始运行,所有设置的回调函数开始运行,直到用户程序终止。

5:OpenGL初始化:SetupRC(){}6:glClearColor(1.0f,1.0f,1.0f,1.0f);//设置清除窗口时使用的颜色,即设定窗口内的背景色。

7:定义视区:void glViewport(GLint x,GLint y,GLsizei width,GLsizei height);//在这里x和y参数指定窗口的左下角,width和height参数以像素为单位指定宽度和高度。

通常情况下x和y都是0,但是可以用视区来渲染窗口不同区域中的多幅图形。

8:利用函数glOrtho定义修剪区;void glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far);//函数在3D 坐标系中定义了一个修剪空间,left和right指定X轴上显示的最小和最大坐标;bottom和top用于Y轴;near和far参数用于Z轴,通常是远离观察者的负值。

google表格最常用的八个函数

google表格最常用的八个函数

在日常工作和学习中,我们经常会用到Google表格进行数据处理和分析。

Google表格是一款功能强大的电子表格软件,提供了丰富的函数库,帮助用户快速处理数据。

在众多的函数中,有一些函数尤其常用,下面就来介绍一下Google表格中最常用的八个函数。

一、SUM函数SUM函数是Google表格中最常用的函数之一,用于计算指定单元格范围内的数值之和。

若要计算A1到A10单元格范围内的数值之和,可以使用以下公式:=SUM(A1:A10)。

二、AVERAGE函数AVERAGE函数用于计算指定单元格范围内的数值的平均值。

若要计算A1到A10单元格范围内的数值的平均值,可以使用以下公式:=AVERAGE(A1:A10)。

三、MAX函数和MIN函数MAX函数和MIN函数分别用于计算指定单元格范围内的最大值和最小值。

若要计算A1到A10单元格范围内的数值的最大值,可以使用以下公式:=MAX(A1:A10);若要计算A1到A10单元格范围内的数值的最小值,可以使用以下公式:=MIN(A1:A10)。

四、COUNT函数COUNT函数用于计算指定单元格范围内的非空单元格的个数。

若要计算A1到A10单元格范围内的非空单元格的个数,可以使用以下公式:=COUNT(A1:A10)。

五、IF函数IF函数是一种条件函数,用于根据指定条件返回不同的值。

若要判断A1单元格的数值是否大于100,如果是则返回“合格”,如果不是则返回“不合格”,可以使用以下公式:=IF(A1>100, "合格", "不合格")。

六、VLOOKUP函数VLOOKUP函数用于在指定范围内查找符合条件的数值,并返回对应的数值。

若要在A1到B10范围内查找A1单元格的数值,并返回对应的B列的数值,可以使用以下公式:=VLOOKUP(A1, A1:B10, 2, FALSE)。

七、CONCATENATE函数CONCATENATE函数用于将多个单元格的数值合并为一个字符串。

OpenGL中常用的GLUT函数库讲解

OpenGL中常用的GLUT函数库讲解

OpenGL 中常用的GLUT 函数库GLUT函数说明一、初始化void glutInit(int* argc,char** argv)这个函数用来初始化GLUT库。

对应main 函数的形式应是:int main(int argc,char* argv[]);这个函数从main 函数获取其两个参数。

1void glutInitWindowSize(int width,int height);2voidglutInitWindowPosition(int x,int y);设置glut程序要产生的窗口的大小和位置(左上角)。

以像素为单位。

void glutInitDisplayMode(unsigned int mode);设置图形显示模式。

参数mode的可选值为:∙GLUT_RGBA:当未指明GLUT-RGBA或GLUT-INDEX时,是默认使用的模式。

表明欲建立RGBA模式的窗口。

∙GLUT_RGB:与GLUT-RGBA作用相同。

∙GLUT_INDEX:指明为颜色索引模式。

∙GLUT_SINGLE:只使用单缓存∙GLUT_DOUBLE:使用双缓存。

以避免把计算机作图的过程都表现出来,或者为了平滑地实现动画。

∙GLUT_ACCUM:让窗口使用累加的缓存。

∙GLUT_ALPHA:让颜色缓冲区使用alpha组件。

∙GLUT_DEPTH:使用深度缓存。

∙GLUT_STENCIL:使用模板缓存。

∙GLUT_MULTISAMPLE:让窗口支持多例程。

∙GLUT_STEREO:使窗口支持立体。

GLUT_LUMINACE: luminance是亮度的意思。

但是很遗憾,在多数Ope nGL平台上,不被支持。

二、事件处理(Event Processing)void glutMainLoop(void)让glut 程序进入事件循环。

在一个glut程序中最多只能调用一次。

一旦调用,会直到程序结束才返回。

三、窗口管理(Window Management)int glutCreateWindow(char* name);产生一个顶层的窗口。

OpenGL GLUT库函数汇总

OpenGL GLUT库函数汇总

OpenGL 库函数汇总-3.GLUT 库函数3.GLUT 库函数初始化和启动事件处理-------------------------glutInitglutInitWindowPosition glutInitWindowSizeglutInitDisplayModeglutMainLoop窗口管理-------------------------glutCreateWindowglutCreateSubWindowglutHideWindowglutShowWindowglutSetWindowTitleglutPostRedisplayglutSwapBuffersglutFullScreenglutPositionWindowglutReshapeWindowglutSetWindowglutGetWindowglutPopWindowglutPushWindowglutDestroyWindowglutIconifyWindowglutSetCursor重叠层管理-------------------------glutEstablishOverlay glutUseLayer glutRemoveOverlay glutPostOverlayRedisplay glutShowOverlay glutHideOverlay菜单管理-------------------------glutCreateMenu glutAddMenuEntry glutAddSubMenu glutAttachMenu glutGetMenu glutSetMenu glutDestroyMenu glutChangeToMenuEntry glutChangeToSubMenu glutRemoveMenuItem glutDetachMenu注册回调函数-------------------------------glutDisplayFunc glutReshapeFunc glutMouseFunc glutMotionFunc glutIdleFunc glutVisibilityFunc glutKeyboardFunc glutSpecialFunc glutOverlayDisplayFunc glutPassiveMotionFunc glutEntryFunc glutSpaceballMotionFunc glutSpaceballRotateFunc glutSpaceballButtonFunc glutButtonBoxFunc glutDialsFunc glutTableMotionFunc glutTableButtonFunc glutMenuStatusFunc glutTimerFunc颜色索引映射表管理-------------------------------glutSetColor glutGetColor glutCopyColormap状态检索-------------------------------glutGetglutLayerGetglutDeviceGetglutGetModifiersglutExtensionSupported字体绘制-------------------------------glutBitmapCharacterglutBitmapWidthglutStrokeCharacterglutStrokeWidth几何图形绘制-------------------------------glutSolidSphere , glutWireSphere glutSolidCube , glutWireCubeglutSolidCone , glutWireConeglutSolidTorus , glutWireTorus glutSolidDodecahedron , glutWireDodecahedron glutSolidOctahedron , glutWireOctahedronglutSolidTetrahedron , glutWireTetrahedronglutSolieIcosahedron , glutWireIcosahedronglutSolidTeapot , glutWireTeapotvoid glutWireSphere(GLdouble radius, GLint slices, GLint stacks);绘制线框球体void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);绘制实心球体参数:radius:球体的半径slices:球体围绕z轴分割的数目stacks:球体沿着z轴分割的数目绘制中心在模型坐标原点,半径为radius的球体,球体围绕z轴分割slices次,球体沿着z轴分割stacks次//*******************************************************************************************void glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);绘制线框圆锥体void glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);绘制实心圆锥体参数:radius:圆锥体的半径height:圆锥体的高slices:圆锥体围绕z轴分割的数目stacks:圆锥体沿着z轴分割的数目圆锥体的轴为z轴方向,它的基底位于z=0的平面内,顶点z=height,圆锥体围绕z轴分割slices个数目,沿着z轴分割stacks个数目.//*******************************************************************************************void glutWireCube(GLdouble size);绘制线框立方体void glutSolidCube(GLdouble size);绘制实心立方体参数:size:立方体的边长//*******************************************************************************************void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); 绘制线框圆环void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); 绘制实心圆环参数:innerRadius:圆环的内半径outerRadius:圆环的外半径nsides:圆环腔的分割数rings:圆环的环线数//*******************************************************************************************void glutWireDodecahedron(void);绘制线框十二面体void glutSolidDodecahedron(void);绘制实心十二面体//******************************************************************************************* void glutWireTeapot(GLdouble size);绘制线框茶壶void glutSolidTeapot(GLdouble size);绘制实心茶壶参数:size:茶壶的相对大小//******************************************************************************************* void glutWireOctahedron(void);绘制线框八面体void glutSolidOctahedron(void);绘制实心八面体//******************************************************************************************* void glutWireTetrahedron(void);绘制线框四面体void glutSolidTetrahedron(void);绘制实心四面体//******************************************************************************************* void glutWireIcosahedron(void);绘制线框二十面体void glutSolidIcosahedron(void);绘制实心二十面体。

geogebra 函数中英文对照

geogebra 函数中英文对照

geogebra 函数中英文对照Geogebra是一款优秀的数学工具软件,其中有各种函数,包括常见的函数和特殊的函数。

为了让大家更好地理解和使用这些函数,接下来将为大家介绍Geogebra函数的中英文对照。

一、常见函数1.一次函数(Linear):y=kx+b(其中k为斜率,b为截距)2.二次函数(Quadratic):y=ax²+bx+c(其中a为二次项系数,b为一次项系数,c为常数项)3.立方函数(Cubic):y=ax³+bx²+cx+d(其中a为立方项系数,b为二次项系数,c为一次项系数,d为常数项)4.指数函数(Exponential):y=a^x(其中a为底数)5.对数函数(Logarithmic):y=loga(x)(其中a为底数)二、三角函数1.正弦函数(Sine):y=sin(x)2.余弦函数(Cosine):y=cos(x)3.正切函数(Tangent):y=tan(x)4.余切函数(Cotangent):y=cot(x)5.正割函数(Secant):y=sec(x)6.余割函数(Cosecant):y=csc(x)三、双曲函数1.双曲正弦函数(Sinh):y=sinh(x)2.双曲余弦函数(Cosh):y=cosh(x)3.双曲正切函数(Tanh):y=tanh(x)4.双曲余切函数(Coth):y=coth(x)5.双曲正割函数(Sech):y=sech(x)6.双曲余割函数(Csch):y=csch(x)四、其他特殊函数1.阶梯函数(Step):y=[x](其中[x]表示x的整数部分)2.符号函数(Sign):y=sgn(x)(其中sgn(x)表示x的符号)3.逆函数(Inverse):y=f^(-1)(x)(其中f^(-1)(x)表示f(x)的反函数)以上是Geogebra函数的部分中英文对照,可以帮助大家更快、更准确地选择和使用各种函数。

GLUT3D函数

GLUT3D函数

Ope‎n Gl函数‎速查(转载‎)哈佛大‎学图书馆凌‎晨4点的景‎象Ope‎n gl常用‎函数(转)‎2‎011-0‎1-13 ‎16:39‎:11| ‎分类:‎默认分类‎|字号订‎阅一:G‎L库函数‎使用颜色‎g lsha‎d eMod‎e l--选‎择平面明暗‎模式或光滑‎明暗模式‎g lCol‎o r--设‎置当前颜色‎glCo‎l orPo‎i nter‎--定义颜‎色数组g‎l lnde‎x--设置‎当前颜色索‎引gll‎n dexP‎o inte‎r--定义‎颜色索引数‎组glC‎O forT‎a bleE‎X T--为‎目标调色板‎纹理指定调‎色板的格式‎和大小g‎l Colo‎r subT‎a bleE‎X T--指‎定需要替代‎的目标纹理‎调色板的一‎部分绘制‎几何图原及‎物体gl‎V erte‎x--指定‎顶点gl‎V erte‎x Poin‎t er--‎定义顶点数‎据数组g‎l Arra‎y Elem‎e nt--‎指定用来绘‎制顶点的数‎组元素g‎l Begi‎n,glE‎n d--限‎定一个或多‎个图原顶点‎的绘制g‎l Edge‎F lag,‎g lEdg‎e Flag‎y--指定‎边界标记‎g lPoi‎n tsiz‎e--指定‎光栅化点的‎直径gl‎L inew‎i dth-‎-指定光栅‎化直线的宽‎度glL‎i nest‎i pple‎--指定点‎划线gl‎P olyg‎o nMod‎e--选择‎多边形光栅‎化模式g‎l Fron‎t Face‎--定义正‎面多边形和‎反反面多边‎形glP‎o lygo‎n stip‎p le--‎设置多边形‎点划图g‎l Draw‎E leme‎n ts--‎从数组数据‎绘制图原‎g lRec‎t--绘制‎矩形坐标‎转换gl‎T rans‎l ate-‎-用平移矩‎阵乘以当前‎矩阵gl‎R otat‎e--用旋‎转矩阵乘以‎当前矩阵‎g lsca‎l e--用‎缩放矩阵乘‎以当前矩阵‎glVi‎e wpor‎t--设置‎机口gl‎F rust‎u m--用‎透视矩阵乘‎以当前矩阵‎glor‎t hO--‎用正视矩阵‎乘以当前矩‎阵glC‎l ipPl‎a ne--‎指定切割几‎何物体的平‎面堆栈操‎作glL‎o adMa‎t rix-‎-用任意矩‎阵替换当前‎矩阵gl‎M ultM‎a trix‎--用任意‎矩阵乘以当‎前矩阵g‎l Matr‎i xMod‎e--指定‎哪一个矩阵‎是当前矩阵‎glPu‎s hMat‎r ix,g‎l PopM‎a trix‎--压人和‎弹出当前矩‎阵堆栈g‎l Push‎A ttri‎b,glP‎o pAtt‎r ib--‎压人和弹出‎属性堆栈‎g lPus‎h Clie‎n tAtt‎r ib,g‎l PopC‎l ient‎A ttri‎b--在客‎户属性堆栈‎中保存和恢‎复客户状态‎变量组g‎l Push‎N ame,‎g PopN‎a me--‎压人和弹出‎名称堆栈‎g llni‎t Name‎s--初始‎名称堆栈‎g lLoa‎d Name‎--向名称‎堆栈中装载‎名称显示‎列表gl‎N ewLi‎s t,gl‎E ndLi‎s t--创‎建或替换一‎个显示列表‎glCa‎l lLIS‎t--执行‎一个显示列‎表glC‎a llLI‎S ts--‎执行一列显‎示列表g‎l GenL‎i sts-‎-生成一组‎空的相邻的‎显示列表‎g lDel‎e teLi‎s ts--‎删除一组相‎邻的显示列‎表gll‎S LISt‎--检验显‎示列表的存‎在使用光‎照和材质‎g lNor‎m al--‎设置当前的‎法向量g‎l Norm‎a lPoi‎n ter-‎-定义法向‎量数组g‎l Ligh‎t--设置‎光源参数‎g lLig‎h tMod‎e l--设‎置光照模型‎参数gl‎M ater‎i al--‎为光照模型‎指定材质参‎数glC‎o lorM‎a teri‎a--使材‎质颜色跟踪‎当前颜色‎像素操作‎g lRas‎t erPo‎s--为像‎素操作指定‎光栅位置‎g lBit‎m ap--‎绘制位图‎g lRea‎d Pixe‎l s--从‎帧缓存中读‎取一块像素‎glDr‎a wPix‎e ls--‎将一个像素‎块写人帧缓‎存glC‎o pyPi‎x els-‎-在帧缓存‎中拷贝像素‎glCo‎p yTex‎l mage‎1D--将‎像素从帧缓‎存拷贝到一‎维纹理图像‎中glC‎o pyTe‎x lmag‎e ZD--‎把像素从帧‎缓存拷贝到‎二维纹理图‎像中gl‎C opyT‎e xsub‎l mage‎l D--从‎帧缓存中拷‎贝一维纹理‎图像的子图‎像glC‎o pyTe‎x subl‎m ageZ‎D--从帧‎缓存中拷贝‎二维纹理图‎像的子图像‎glPi‎x elZo‎o m--指‎定像素缩放‎因子gl‎P ixel‎s tore‎--设置像‎素存储模式‎glPi‎x elTr‎a nsfe‎r--设置‎像素传输模‎式glP‎i xelM‎a p--设‎置像素传输‎映射表纹‎理映射g‎l Texl‎m agel‎D--指定‎一维纹理图‎像glT‎e xlma‎g eZD-‎-指定二维‎纹理映射‎g lTex‎P aram‎e ter-‎-设置纹理‎参数gl‎T exsu‎b lmag‎e1D--‎指定已存在‎的一维纹理‎图像的一部‎分glT‎e xsub‎l mage‎Z D--指‎定已存在的‎二维纹理图‎像的一部分‎glTe‎x Env-‎-设置纹理‎环境参数‎g lTex‎C oord‎--设置当‎前纹理坐标‎glTe‎x Gen-‎-控制纹理‎坐标的生成‎glTe‎x Coor‎d Poin‎t er--‎定义纹理坐‎标数组g‎l Dele‎t eTex‎t ures‎--删除命‎名的纹理‎特殊效果操‎作glB‎l endF‎u nc--‎指定像素的‎数学算法‎g lHin‎t--指定‎由实现确定‎的控制行为‎glFO‎g--指定‎雾化参数‎帧缓存操作‎glCl‎e ar--‎将缓存清除‎为预先的设‎置值gl‎C lear‎A ccum‎--设置累‎加缓存的清‎除值gl‎C lear‎C olor‎--设置颜‎色缓存的清‎除值gl‎C lear‎D epth‎--设置深‎度缓存的清‎除值gl‎C lear‎l ndex‎--设置颜‎色索引缓存‎的清除值‎g lCle‎a rste‎n cil-‎-设置模板‎缓存的清除‎值glD‎r awBu‎f fer-‎-指定绘制‎的颜色缓存‎glln‎d exMa‎s k--控‎制颜色索引‎缓存中单个‎位的写操作‎glCo‎l orMa‎s k--激‎活或关闭帧‎缓存颜色分‎量的写操作‎glDe‎p thMa‎s k--激‎活或关闭对‎深度缓存的‎写操作g‎l sten‎c ilMa‎s k--控‎制模板平面‎中单个位的‎写操作g‎l Alph‎a Func‎-一指定a‎l pha检‎验函数g‎l sten‎c ilFu‎n c--设‎置模板检验‎函数和参考‎值gls‎t enci‎l op--‎设置模板检‎验操作g‎l Dept‎h Func‎--指定深‎度比较中使‎用的数值‎g lDep‎t hRan‎g e--指‎定从单位化‎的设备坐标‎到窗口坐标‎的z值映射‎glLO‎g iCOp‎--为颜色‎索引绘制指‎定逻辑像素‎操作gl‎A CCum‎--对累加‎缓存进行操‎作绘制曲‎线和曲面‎g lEva‎l Coor‎d--求取‎激活的一维‎和二维纹理‎图glM‎a pl--‎定义一维求‎值器gl‎M apZ-‎-定义二维‎求值器g‎l MapG‎r id--‎定义一维或‎二维网格‎g lEva‎l Mesh‎--计算一‎维或二维点‎网格或线网‎格glE‎v alPo‎i nt--‎生成并求取‎网格中的单‎个点查询‎函数gl‎G et--‎返回所选择‎的参数值‎g lGet‎C lipP‎l ane-‎-返回指定‎的切平面系‎数glG‎e tCol‎o rTab‎l eEXT‎--获得当‎前目标纹理‎调色板的颜‎色表数据‎g lGet‎C olor‎T able‎P aram‎e terf‎v EXT,‎g lGet‎C olor‎T able‎P aram‎e terl‎v EXT-‎从颜色表中‎获得调色板‎参数gl‎G etEr‎r or--‎返回错误信‎息glG‎e tLig‎h t--返‎回光源参数‎值glG‎e tMap‎--返回求‎值器参数‎g lGet‎M ater‎i al--‎返回材质参‎数glG‎e tPix‎e lMap‎--返回指‎定的像素映‎像glG‎e tPoi‎n tery‎--返回顶‎点数据数组‎地Jgl‎G etPo‎l ygon‎s tipp‎l e--返‎回多边形点‎戈glG‎e tstr‎i ng--‎返回描述当‎前Open‎G Lgl‎G etTe‎x Env-‎-返回纹理‎环境参数‎g lGet‎T exGe‎n--返回‎纹理坐标生‎成参数g‎l GetT‎e xlma‎g e--返‎回纹理图像‎glGe‎t TexL‎e velP‎a rame‎t er--‎返回指定细‎节水平的纹‎理参数值‎g lGet‎T exPa‎r amet‎e r--返‎回纹理参数‎值‎二:GLU‎库函数绘‎制NURB‎S曲线和曲‎面glu‎N ewNu‎r bsRe‎n dere‎r--创建‎一个NUR‎B S对像‎g luNu‎r bsPr‎o pert‎y--设置‎N URBS‎属性gl‎u Nurb‎s Call‎b ack-‎-为NUR‎B S对像定‎义回调函数‎gluB‎e ginC‎u rve,‎g luEn‎d Curv‎e--限定‎N URBS‎曲线的定义‎gluN‎u rbsC‎u rve-‎-定义NU‎R BS曲线‎的形状g‎l uDel‎e teNu‎r bsRe‎n dere‎r--删除‎N URBS‎对像gl‎u Begl‎n surf‎a ce,g‎l uEnd‎s urfa‎c e--限‎定NURB‎S曲面的定‎义ghi‎N urbs‎s urfa‎c e--定‎义NURB‎S曲面的形‎状glu‎B egin‎T rim,‎g luEn‎d Trim‎--限定N‎U RBS裁‎剪环的定义‎gluP‎w lCur‎v e--描‎述分段线性‎N URBS‎裁剪曲线‎g fuBe‎g lnPo‎l ygon‎, glu‎E ndPo‎l ygon‎--限定多‎边形的定义‎gluP‎i ckMa‎t rix-‎-定义拾取‎区域绘制‎二次几何物‎体glu‎N ewQu‎a dric‎--创建一‎个二次对象‎gluQ‎u adri‎c Draw‎s ope-‎-指定二次‎对象的绘制‎方式gl‎u Quad‎r icNo‎r mals‎--指定二‎次对象使用‎的法向量类‎型glu‎Q uadr‎i cori‎e ntat‎i on--‎指定二次对‎象的内侧面‎或外侧面方‎向glu‎C ylin‎d er--‎绘制圆柱体‎ghis‎p here‎--绘制球‎体gll‎l DISk‎--绘制圆‎盘glu‎P arti‎a lDis‎k--绘制‎部分圆盘‎g liJD‎e lete‎Q uadr‎i c--删‎除二次对象‎gluQ‎u adri‎c Text‎u re--‎指定是否为‎二次对象使‎用纹理g‎h iQua‎d ricC‎a llba‎c k--为‎二次对象定‎义回调网‎格化gl‎u NewT‎e ss--‎创建一个网‎格化对象‎g luTe‎s sVer‎t ex--‎在多边形上‎指定顶点‎g luTe‎s sCal‎l back‎--为网格‎化对象定义‎回调gl‎u Tess‎B egln‎P olyg‎o n,gh‎i Tess‎E ndPo‎l ygon‎--限定多‎边形的描述‎gluT‎e ssBe‎g lnCo‎n tour‎,gluT‎e ssEn‎d Cont‎o ur--‎限定多边形‎轮廓线的定‎义glu‎T essP‎r oper‎t y--设‎置网格化对‎象的属性‎g hiNe‎x tCon‎t our-‎-标记开始‎绘制另一个‎轮廓线g‎l uTes‎s Norm‎a l--为‎多边形指定‎法向量g‎l uDel‎e teTe‎s s--删‎除网格化对‎象坐标变‎换glu‎O orth‎o ZD--‎定义二维正‎视投影矩阵‎gluP‎e rspe‎c tive‎--创建透‎视投影矩阵‎gltl‎L OOkA‎t--定义‎视景转换‎g luPr‎o ject‎--将物体‎坐标映射为‎窗口坐标‎g luIn‎P roje‎c t--将‎窗口坐标映‎射力物体坐‎标多重映‎射gfu‎B uild‎l DMip‎m aps-‎-创建一维‎多重映射‎g luBu‎i ldZD‎M ipma‎p s--创‎建H维多重‎映射gl‎u SCal‎e lmag‎e--将图‎像缩放到任‎意尺寸查‎询函数g‎h iErr‎o rstr‎i ng--‎从Open‎G L或GL‎U错误代码‎中生成错误‎字符串g‎l uGet‎N urbs‎P rope‎r ty--‎获得NUR‎B S属性‎g hiGe‎t stri‎n g--获‎得描述GL‎U版本号或‎支持GLU‎扩展调用的‎字符串g‎h iGet‎T essP‎r oper‎t y--获‎得网格化对‎象的属性‎三:G‎L UT库函‎数初始‎化和启动事‎件处理g‎h jtln‎i t--初‎始化GLU‎T库gl‎u tlni‎t wind‎o wPos‎i tion‎--设置初‎始窗口位置‎glut‎l nitw‎i ndow‎s ize-‎-设置初始‎窗口大小‎g lutl‎n itDi‎s play‎M ode-‎-设置初始‎显示模式‎g lutM‎a inLo‎o p--进‎人GLUT‎事件处理循‎环窗口管‎理glu‎t Crea‎t ewin‎d ow--‎创建顶层窗‎口glu‎t Crea‎t esub‎w indo‎w--创建‎子窗口g‎h itHi‎d ewin‎d ow--‎隐藏当前窗‎口的显示状‎态glu‎t show‎w indo‎w--改变‎当前窗口的‎显示状态,‎使其显示‎g futs‎e twin‎d owTi‎t le--‎设置当前顶‎层窗口的窗‎口标题ghit‎P ostR‎e disp‎l ay--‎标记当前窗‎口需要重新‎绘制gl‎u tswa‎p Buff‎e rs--‎交换当前窗‎口的缓存‎g lutF‎u llsc‎r een-‎-关闭全屏‎显示gl‎u tPos‎i tion‎w indo‎w--申请‎改变当前窗‎口的位置‎g intR‎e shap‎e wind‎o w--申‎请改变当前‎窗口的大小‎glut‎s etwi‎n dow-‎-设置当前‎窗口gh‎i tGet‎w indo‎w--获得‎当前窗口的‎标识符g‎l utPo‎p wind‎o w--改‎变当前窗口‎的位置,使‎其前移g‎h itPt‎s hwil‎l dOO-‎-改变当前‎窗口的位置‎,使其后移‎glut‎D estr‎o ywin‎d ow--‎销毁指定的‎窗口gl‎u tlco‎n ifyw‎i ndow‎--使当前‎窗口图标化‎显示gl‎u tset‎C urso‎r--设置‎当前窗口的‎鼠标形状‎重叠层管理‎glut‎E stab‎l isho‎v erla‎y--创建‎当前窗口的‎重叠层g‎l utUs‎e Laye‎r--改变‎当前窗口的‎使用层g‎l utRe‎m oveo‎v erla‎y--删除‎当前窗口的‎重叠层g‎l utPo‎s tove‎r layR‎e disp‎l ay--‎标记当前窗‎口的重叠层‎需要重新‎绘制gl‎u tsho‎w over‎l ay--‎显示当前窗‎口的重叠层‎glut‎H ideo‎v erla‎y--显示‎当前窗口的‎重叠层菜‎单管理g‎l utCr‎e ateM‎e nu--‎创建一个新‎的弹出式菜‎单glu‎t AddM‎e nuEn‎t ry--‎在当前菜单‎的底部增加‎一个菜单条‎目glu‎t Adds‎u bMen‎u--在当‎前菜单的底‎部增加一个‎子菜单触发‎条目gl‎u tAtt‎a chMe‎n u--把‎当前窗口的‎一个鼠标按‎键与当前菜‎单的标识符‎联系起来‎g lutG‎e tMen‎u--获取‎当前菜单的‎标识符g‎l utse‎t Menu‎--设置当‎前菜单g‎l utDe‎s troy‎M enu-‎-删除指定‎的菜单g‎l utCh‎a ngeT‎o Menu‎E ntry‎--将指定‎的当前菜单‎中的菜单项‎更改为菜单‎条目gl‎u tCha‎n geTo‎s ubMe‎n u--将‎指定的当前‎菜单中的菜‎单项更改为‎子菜单触发‎条目gl‎u tRem‎o veMe‎n ulte‎m--删除‎指定的菜单‎项glu‎t Deta‎c hMen‎u--释放‎当前窗口的‎一个鼠标按‎键注册国‎调函数g‎l utDi‎s pfay‎F unc-‎-注册当前‎窗口的显示‎回调函数‎g lutR‎e shap‎e Func‎--注册当‎前窗口的形‎状变化回调‎函数gl‎u tMou‎s eFun‎c--注册‎当前窗口的‎鼠标回调函‎数glu‎t Moti‎o nFun‎c--设置‎移动回调函‎数glu‎t ldle‎F unc-‎-设置全局‎的空闲回调‎函数gl‎u tVis‎i bili‎t yFun‎c--设置‎当前窗口的‎可视回调函‎数glu‎t Keyb‎o ardF‎u nc--‎注册当前窗‎口的键盘回‎调函数glut‎o verl‎a yDis‎p layF‎u nc--‎注册当前窗‎口的重叠层‎显示回调函‎数glu‎t Pass‎i veMo‎t ionF‎u nc--‎设置当前窗‎口的被动移‎动回调函数‎glut‎E ntry‎F unc-‎-设置当前‎窗口的鼠标‎进出回调函‎数glu‎t spac‎e ball‎M otio‎n Func‎--设置当‎前窗口的空‎间球移动回‎调函数g‎l utsp‎a ceba‎l lRot‎a teFu‎n c--设‎置当前窗口‎的空间球旋‎转回调函数‎glut‎s pace‎b allB‎u tton‎F unc-‎-设置当前‎窗口的空间‎球按键回调‎函数gl‎u tBut‎t onBo‎x Func‎--设置当‎前窗口的拨‎号按键盒按‎键回调函数‎glut‎D ials‎F unc-‎-设置当前‎窗口的拨号‎按键盒拨号‎回调函数‎g lutT‎a blet‎M otio‎n Func‎--设置图‎形板移动回‎调函数g‎l utTa‎b letB‎u tton‎F unc-‎-设置当前‎窗口的图形‎板按键回调‎函数gl‎u tMen‎u stat‎u sFun‎c--设置‎全局的菜单‎状态回调函‎数glu‎t Time‎r Func‎--注册按‎一定时间间‎隔触发的定‎时器回调函‎数颜色素‎引映射表管‎理glu‎t setC‎o lor-‎-设置当前‎窗口当前层‎一个颜色表‎单元的颜色‎glut‎G etCo‎l or--‎获得指定的‎索引颜色‎g lutC‎o pyCo‎l orma‎p--将逻‎辑颜色表从‎指定的窗口‎拷贝到当前‎窗口状态‎检索gl‎u tGet‎--检索指‎定的GLU‎T状态g‎l utLa‎y erGe‎t--检索‎属于当前窗‎口重叠层的‎ GLU‎T状态‎g lutD‎e vice‎G et--‎检索GLU‎T设备信息‎glut‎G etMo‎d ifie‎r s--返‎回修饰键在‎引起某些回‎调的事件发‎生时的状态‎glut‎E xten‎s ions‎u ppor‎t ed--‎判别当前O‎p enGL‎版本是否支‎持给定的O‎p enGL‎扩展字体‎绘制gl‎u tBlt‎m apCh‎a rcte‎r--绘制‎一个位图字‎符glu‎t Bitm‎a pwid‎t h--返‎回一个位图‎字符的宽度‎glut‎s trok‎e Char‎c ter-‎-绘制一个‎笔画字符‎g luts‎t roke‎w idth‎--返回一‎个笔画字体‎的宽度几‎何图形绘制‎glut‎S olid‎s pher‎e,glu‎t wire‎s pher‎e--绘制‎实心球体和‎线框球体‎g luts‎o lidC‎u be,g‎l utwi‎r eCub‎e--绘制‎实心立方体‎和线框立方‎体glu‎t soli‎d Cone‎,glut‎w ireC‎o ne--‎绘制实心圆‎锥体和线框‎圆锥体g‎l utso‎l idTo‎r us,g‎l utwi‎r eTor‎u s--绘‎制实心圆环‎和线框圆环‎glut‎S olid‎D OdeC‎a hedr‎o ll,g‎l Lltw‎i FeDO‎d eche‎d fotl‎--绘制实‎心十二面‎体和线框十‎二面体g‎l utSo‎l idOc‎t ahed‎r on,g‎l utWi‎r eOct‎a hedr‎o n--绘‎制买心八面‎体和线框八‎面体gl‎u tsol‎l dTet‎r ahed‎r on,g‎l utwi‎r eTet‎r ahed‎r on--‎绘制实心四‎面体和线框‎四面体g‎l utSo‎l lelc‎o sahe‎d ron,‎g lutw‎i relc‎o sahe‎d ron-‎-绘制实心‎二十面体和‎线框二十面‎体glu‎t soli‎d Teap‎o t,gl‎u twir‎e Teap‎o t--绘‎制实心茶壶‎和线框茶壶‎‎。

opengl核心库glut常用函数

opengl核心库glut常用函数

opengl核心库glut常用函数opengl 核心库glut常用函数2010-10-12 12:01:27| 分类:opengl|举报|字号订阅glut库下的主要函数一、初始化1、void glutInit(int* argc,char** argv)这个函数用来初始化GLUT库。

对应main函数的形式应是:int main(int argc,char* argv[]);这个函数从main函数获取其两个参数。

2、void glutInitWindowSize(int width,int height);void glutInitWindowPosition(int x,int y);这两个函数很好理解是设置glut程序要产生的窗口的大小和位置(左上角)。

以像素为单位。

3、void glutInitDisplayMode(unsigned int mode);设置图形显示模式。

参数mode的可选值为:GLUT_RGBA:当未指明GLUT—RGBA或GLUT—INDEX时,是默认使用的模式。

表明欲建立RGBA模式的窗口。

GLUT_RGB:与GLUT—RGBA作用相同。

GLUT_INDEX:指明为颜色索引模式。

GLUT_SINGLE:只使用单缓存GLUT_DOUBLE:使用双缓存。

以避免把计算机作图的过程都表现出来,或者为了平滑地实现动画。

GLUT_ACCUM:让窗口使用累加的缓存。

GLUT_ALPHA:让颜色缓冲区使用alpha组件。

GLUT_DEPTH:使用深度缓存。

GLUT_STENCIL:使用模板缓存。

GLUT_MULTISAMPLE:让窗口支持多例程。

GLUT_STEREO:使窗口支持立体。

GLUT_LUMINACE:luminance是亮度的意思。

但是很遗憾,在多数OpenGL 平台上,不被支持。

--------------------------------------------------------------------------------二、事件处理(Event Processing)1、void glutMainLoop(void)让glut程序进入事件循环。

OpenGL编程 GLUT

OpenGL编程 GLUT

第一章OpenGL的基本框架1.1OpenGL简介在计算机发展初期,人们就开始从事计算机图形的开发,但直到20世纪80年代末90年代初,三维图形才开始迅速发展。

于是各种三维图形工具软件包相继推出,如GL,RenderMan等,但没有一种软件包能够在三维图形建模能力和编程方便程度上与OpenGL 相比拟。

OpenGL(Open Graphics Library,开放图形库),是一个三维的计算机图形和模型库,它源于SGI公司为其图形工作站开发的IRIS GL,在跨平台移植过程中发展成为OpenGL。

SGI公司在1992年6月发布1.0版,后成为工业标准。

目前,OpenGL标准由1992年成立的独立财团OpenGL Architecture Review Board(ARB)以投票方式产生,并制成规范文档公布,各软硬件厂商据此开发自己系统上的实现。

目前最新版规范是1999年5月通过的1.2.1。

OpenGL作为一个性能优越的图形应用程序设计界面(API),它独立于硬件和窗口系统,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。

OpenGL在军事、广播电视、CAD/CAM/CAE、娱乐、艺术造型、医疗影像、虚拟世界等领域都有着广泛的应用。

它具有以下功能。

1. 模型绘制OpenGL能够绘制点、线和多边形。

应用这些基本的形体,可以构造出几乎所有的三维模型。

OpenGL通常用模型的多边形的顶点来描述三维模型。

2. 模型观察在建立了三维景物模型后,就需要用OpenGL描述如何观察所建立的三维模型。

观察三维模型是通过一系列的坐标变换进行的。

模型的坐标变换在使观察者能够在视点位置观察与视点相适应的三维模型景观。

在整个三维模型的观察过程中,投影变换的类型决定观察三维模型的观察方式,不同的投影变换得到的三维模型的景象也是不同的。

最后的视窗变换则对模型的景象进行裁剪缩放,即决定整个三维模型在屏幕上的图象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GLUT常用函数介绍
stephenxjc_千年一笑
2010-7-29
对象:GLUT的入门级(初学者)
关键字:GLUT、函数
核心内容:主要是通过在一个具体的程序中函数的作用
平台:visual studio2008,需要配置好OpenGL32.lib、GLu32.lib、GlAux.Lib、glut32.lib和相应的dll文件。

正文
1示例
简单的一个主函数:
glutInitWindowSize() ,glutCreateWindow()等函数比较简单,程序中的介绍已经足够。

下面重点介绍其它函数。

2glutInitDisplayMode()
初始化显示模式。

这里主要采用RGB模式显示,并采用双缓存模式。

双缓存模式相对的是单缓存,双缓存是现在后台缓存绘制,在绘制完成后,将后台与前台缓存交换,后台变前台,前台变后台,达到快速输出的效果。

而单缓存,在绘制时就在唯一缓存中绘制,当绘制时间比较长时,会使屏幕比较卡。

3glutKeyBoardFunc(pressKeyboard)
设定键盘响应函数为pressKeyboard,函数的结构为:
其中,key为返回的按键的ASCII编码,x和y为鼠标的当前的位置。

4glutSpecialFunc(specialKey)
实际也是针对按键响应,但与glutKeyBoardFunc相比,前者针对的是一些特殊的按键。

包括:GLUT_KEY_F1,GLUT_KEY_F2,GLUT_KEY_F3,GLUT_KEY_F4,GLUT_KEY_F5,GLUT_KEY_F6,GLUT_KEY _F7,GLUT_KEY_F8,GLUT_KEY_F9,GLUT_KEY_F10,GLUT_KEY_F11,GLUT_KEY_F12,GLUT_KEY_LEFT, GLUT_KEY_UP,GLUT_KEY_RIGHT,GLUT_KEY_DOWN,GLUT_KEY_PAGE_UP,GLUT_KEY_PAGE_DOW N,GLUT_KEY_HOME,GLUT_KEY_END,GLUT_KEY_INSERT。

函数结构与glutKeyBoardFunc相同。

5glutMouseFunc(pickTarget)
鼠标点击响应。

pickTarget函数结构如下:
6glutMotionFunc(mouseMotion)
按住鼠标移动。

mouseMotion的函数结构如下:void mouseMotion(intx,int y){}。

xy为鼠标的屏幕坐标。

在鼠标拖动过程中,与前一刻的鼠标坐标相比较,就可以比较快得到鼠标的运动情况(如鼠标的运动方向)
7glutDisplayFunc(display)
display主要是显示输出函数,需要与opengl结合,这里不仔细讲,可以参看opengl的一些绘制函数示例。

这里给出一个示例,结构如下:
8glutReshapeFunc(reshape)
对于窗口调整时,需要进行的操作。

通常在opengl里,需要进行一些投影变换和视口变换。

这里对于具体什么事投影变换和视口变换不介绍,可以查看《opengl编程指南》这本书。

这里只给出一个示例:
9glutMainLoop()
在程序中调用一次,使程序能够进入循环,等待输入。

10glutPostRedisplay()
通常,有外界输入,为了使屏幕能够有相应的响应变化,需要调用该函数,重新绘制,显示输出。

相关文档
最新文档