资源描述:
《OpenGL的常用接口-2016-10-13》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、OPenGLES常用API:glClearColor(O.f,O.f,O.f,1.f);//设置模式窗口的背景颜色,颜色采用的是RGBA值glViewport(0,0,iScreenWidth,iScreenHeight);〃设置视口的人小以及位BS视口:也就是图形最终显示到屏幕的区域,前两个参数是视口的位置,后两个参数是视口的宽和长。glMatrixMode(GL.PROJECTION);//设置矩阵模式为投影矩阵,之后的变换将影响投影矩阵。OpenGL属于状态管理机制,比如:设置当前矩阵为投影
2、矩阵过后,在没有重新调用glMatrixMode()Z前,任何矩阵变换都将影响投影矩阵。glFrustumf(-1.f,1,f,3.f,1000.f);//该函数创建一个透视投影矩阵,其中的参数定义了视景体,可以理解为用相机的时候,眼睛的可视范围。就像一个三棱锥,参数1、3、5和2、4、6分别定义了近裁面和远裁血的左下和右上的(x、y、z)处标。OpenGL投影有两种模式,一•种是透视投影,也就是通过上述两数创建一个三棱锥视景体,这种模式下观看三维模型是近大远小。另外一种模式是止交模式,视景体是一
3、个平行六面体,离相机的距离不会彩响物休的人小。glMatrixMode(GL_MODELVIEW);〃设置当前矩阵为模式矩阵glVertexpointer(3,GL_BYTE,0,vertices);〃指定从哪里存取空间坐标数据OpenGL一共有8个这样的函数可以存取不同的坐标数据:glColorPointer();gllndexPointer();glNormalPointer();glTexCoordPointer();等glShadeModel(GL_FLAT);〃设置阴影模式为GL_FLA
4、T,默认是GL_SMOOTH阴影模式一共有两种,GL_SMOOTH和GL_FLAT,在有关照的情况下会有不同的效果。glClear(GL_COLOR_BUFFER_BIT);〃清除颜色缓存glLoadldentity();〃设置当前矩阵为单位矩阵OpenGL里面的位置大小都是用矩阵来表示的,比如:glScanf()放大或缩小,其实就是用一个矩阵去乘当而的矩阵,为了使变换不受当前炬阵的影响,所以把当前愆阵设置为单位矩阵。glTranslatex(O,0,-100«16);//将坐标向z轴负方向移动1
5、00glScalex(15«16,15«16,15«16);//将物体沿xyz者分别放大15倍glDrawElements(GL_TRIANGLES,1*3,GL_UNSIGNED_BYTE,indices);//绘制图形,GL_TRIANGLES说明耍绘制的图形是三角形,3表示一共有三个定点,GL_UNSIGNED_BYTE表示indices存储的数据类型voidglTranslatef(GLfloatx,GLfloaty,GLfloatz)voidgITranslatex(GLfixedx,G
6、Lfixedy,GLfixedz)功能:沿x、y、z平移voidglScalef(GLfloatx,GLfloaty,GLfloatz)voidglScalex(GLfixedx,GLfixedy,GLfixedz)功能:在x、y、z轴进行缩放,参数x、y、z为你想要的大小。voidglRotatef(GLfloatangle,GLfloatx,GLfloaty,GLfloatz)voidglRotatex(GLfixedangle,GLfixedx,GLfixedy,GLfixedz)功能:沿x
7、、y、z轴进行旋转。Angle表示将耍旋转的角度。voidglClear(GLbitfieldmask)功能:川mask清除缓存町以有三种模式进行清除:GL_COLOR_BUFFER_BIT,GL_DEPTH_BUFFER_BIT,andGL_STENCIL_BUFFER_BIT.voidglClearDepthf(GLclampfdepth)voidglClearDepthx(GLclampxdepth)功能:设置深度缓存,参数为0到1,使用glClear清除缓存。3D场景OpenGL程序都使用
8、深度缓存。它的排序决定那个物体先画。这样您就不会将一个圆形后而的正方形画到圆形上来。voidglClearColor(GLclampfred,GLclampfgreen,GLclampfblue,GLclampfalpha)voidglClearColorx(GLclampxred,GLclampxgreen,GLclampxblue,GLclampxalpha)功能:用指定的颜色值(RGBA)清除颜色缓存voidglColorPointer(GLintsize,GLenumtyp