OpenGL库函数命名方式

OpenGL库函数命名方式

1、前缀

Windows下的Opengl包含100多个库函数和四个其他类函数。每个库用前缀gl、glu、glx或aux来区分。

OpenGL标准库   100多函数,以gl开头。任何OpenGL平台都可以应用

OpenGL实用库    43个函数,以glu开头。任何OpenGL平台都可以应用

OpenGL辅助库    31个函数,以aux开头。Windows NT环境下

Windows专用库函数 6个函数,以wgl开头。仅能够用于Win32系统

WIN2API函数 5个函数,没有专用前缀。


这前缀就好像是我们中男我的姓吧。


”OpenGL标准库“的函数

glViewport(...) 设置OpenGL视口大小。

glClearColor(...) 设置刷新背景色

glClear(...) 刷新背景

……

”OpenGL实用库“的函数

gluPerspective(...)设置透视图

gluLookAt(...) 建立modelview矩阵方向

……

”OpenGL辅助库“

auxSolidCone(...)圆锥

auxSolidCylinder(...)圆柱

……

”Windows专用库函数“的函数

wglCreateContext(...)获取渲染描述句柄

wglMakeCurrent(...)激活渲染描述句柄

……

2.后缀

OpenGL库函数还用后缀表示入口参数类型(i,f,v等)。有的函数参数类型后缀带有数字2、3、4、2代表2维,3代表3维、4代表alpha值。有些OpenGL函数参数可用数组来替代一系列单个参数值。

实例

有了这些前、后缀规定,现在我们来看画点函数glVertex2i(2,4)

gl              Vertex    2      i       (2,4)

标准库函数  画点    2维  整数型  入口参数2个


对照理解几个下面几个函数的前、后缀

glVertex2i(2,4); //2维整数型画点,标准库函数

glVertex3f(2.0,4.0,5.0);//3维浮点型画点,标准库函数

auxWireCube(1,0); //绘制立方体,辅助库函数

glColor3f(1.0,0.0,0.0); //等价于float color[]=[1.0,0.0,0.0];

//设置红色   glColor3fv(color);//设置红色

坐标变换

1、平移

glTranslatef(float x,float y,float z);

2、旋转

glRotatef(float angle,float x,float y,flaot z);

将以下图形在指定轴上旋转angle度。

如blRotatef(-a,0,0,1);

是沿着Z轴正方向顺时钟旋转

特别说明:

glPushMatrix();与glPopMatrix();中包含有相同的另一对的话,里面的那对坐标是按外面那对的坐标系下,好以盘旋的飞机与飞机的螺旋桨;

void bsipic:airplane(float x,float y,float z)

{

glPushMatrix(); //压入堆栈

glTranslatef(x,y,z); //定位

glRotatef(-r,0.0,1,0,0.0); //整体旋转

glTranslatef(20,0,0); //飞机的旋转

glRotatef(30,0.0,0.0,1.0); //飞机的倾角

glColor3f(1.0,1.0,1.0); //白色

glPushMatrix();

glRotatef(-r*30,0.0,0.0,1.0); //螺旋桨旋转

auxSolidBox(1.6,0.3,0.05); //螺旋桨

glPopMatrix();

……略

glPopMatrix();//弹出堆栈

}

3、缩放

glScalef(float x,float y,float z);





你可能感兴趣的:(OpenGL)