OPenGL ES常用API:

 

glClearColor( 0.f, 0.f, 0.f, 1.f );  //  设置模式窗口的背景颜色,颜色采用的是RGBA值

glViewport( 0, 0, iScreenWidth, iScreenHeight );//设置视口的大小以及位置,

视口:也就是图形最终显示到屏幕的区域,前两个参数是视口的位置,后两个参数是视口的宽和长。

glMatrixMode( GL_PROJECTION );   //  设置矩阵模式为投影矩阵,之后的变换将影响投影矩阵。

OpenGL属于状态管理机制,比如:设置当前矩阵为投影矩阵过后,在没有重新调用glMatrixMode()之前,任何矩阵变换都将影响投影矩阵。

glFrustumf( -1.f, 1.f, -1.f, 1.f, 3.f, 1000.f ); //该函数创建一个透视投影矩阵,其中的参数定义了视景体,可以理解为用相机的时候,眼睛的可视范围。就像一个三棱锥,参数1、3、5和2、4、6分别定义了近裁面和远裁面的左下和右上的(x、y、z)坐标。

OpenGL 投影有两种模式,一种是透视投影,也就是通过上述函数创建一个三棱锥视景体,这种模式下观看三维模型是近大远小。另外一种模式是正交模式,视景体是一个平行六面体,离相机的距离不会影响物体的大小。

glMatrixMode( GL_MODELVIEW );   //设置当前矩阵为模式矩阵

glVertexpointer( 3, GL_BYTE, 0, vertices );   //指定从哪里存取空间坐标数据

OpenGL 一共有8个这样的函数可以存取不同的坐标数据:

glColorPointer();

glIndexPointer();

glNormalPointer();

glTexCoordPointer();等

glShadeModel( GL_FLAT );       //设置阴影模式为GL_FLAT,默认是GL_SMOOTH

阴影模式一共有两种,GL_SMOOTH和GL_FLAT,在有关照的情况下会有不同的效果。

glClear( GL_COLOR_BUFFER_BIT );   //清除颜色缓存

glLoadIdentity();         //设置当前矩阵为单位矩阵

 

OpenGL里面的位置大小都是用矩阵来表示的,比如:glScanf()放大或缩小,其实就是用一个矩阵去乘当前的矩阵,为了使变换不受当前矩阵的影响,所以把当前矩阵设置为单位矩阵。

glTranslatex(0, 0, -100 << 16 ); //将坐标向z轴负方向移动100

 

glColor4f( 1.f, 0.f, 0.f, 1.f );         设置颜色为红色

/* Scale the geometry */

glScalex( 15 << 16, 15 << 16, 15 << 16 ); //   将物体沿xyz者分别放大15倍

/* Draw the triangle */

glDrawElements( GL_TRIANGLES, 1 * 3, GL_UNSIGNED_BYTE, indices );      //绘制图形,GL_TRIANGLES说明要绘制的图形是三角形,3表示一共有三个定点,GL_UNSIGNED_BYTE表示indices存储的数据类型

A call to eglSwapBuffers() can then be made.

void glTranslatef(GLfloat x, GLfloat y, GLfloat z)

void glTranslatex(GLfixed x, GLfixed y, GLfixed z)

功能:沿x、y、z平移

void glScalef(GLfloat x, GLfloat y, GLfloat z)void glScalex(GLfixed x, GLfixed y, GLfixed z)

功能:在x、y、z轴进行缩放,参数x、y、z为你想要的大小。

void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)void glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)

功能:沿x、y、z轴进行旋转。Angle表示将要旋转的角度。

void glClear(GLbitfield mask)

功能:用mask清除缓存可以有三种模式进行清除:GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, and GL_STENCIL_BUFFER_BIT.

void glClearDepthf(GLclampf depth)void glClearDepthx(GLclampx depth)

功能:设置深度缓存,参数为0到1,使用glClear清除缓存。3D场景OpenGL程序都使用深度缓存。它的排序决定那个物体先画。这样您就不会将一个圆形后面的正方形画到圆形上来。

void glClearColor(GLclampf red,    GLclampf green,    GLclampf blue,    GLclampf alpha) void glClearColorx(GLclampx red,    GLclampx green,    GLclampx blue,GLclampx alpha)

功能:用指定的颜色值(RGBA)清除颜色缓存

void glColorPointer(GLint size,    GLenum type,    GLsizei stride,const GLvoid * pointer) 功能:指定颜色的存储空间,size在OpenGL ES默认为4,表示(RGBA);type为pointer内容的类型;stride为数据在pointer内存中的偏移量;pointer为第一个元素的地址。

void glEnableClientState(GLenum array)void glDisableClientState(GLenum array) 功能:启用或者禁止array,array有:GL_COLOR_ARRAY, GL_MATRIX_INDEX_ARRAY_OES, GL_NORMAL_ARRAY, GL_POINT_SIZE_ARRAY_ARRAY_OES, GL_TEXTURE_COORD_ARRAY, GL_VERTEX_ARRAY, and GL_WEIGHT_ARRAY_OES。 void glDrawElements(GLenum mode,    GLsizei count,    GLenum type,    const GLvoid * indices)

功能:按照参数给定的值绘制图形,mode指定要绘制的类型:GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, and GL_TRIANGLES;count指定要绘制多少个;type指定indices为数组首地址。

 

再附加两个

 glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);

glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);

第一个参数是GL_PERSPECTIVE_CORRECTION_HINT,时是指定颜色和纹理坐标的插值质量.
GL_FASTEST为使用速度最快的模式.
GL_NICEST为使用质量最好的模式.
还有一个GL_DONT_CARE为由驱动设备来决定.

 

glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

这个程序并没有做太多东西:它在每帧是清除屏幕到黑色。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: OpenGLESOpenGL for Embedded Systems)是一种专门为嵌入式系统设计的二维和三维绘图API。想要下载OpenGLES,可以按照以下步骤进行操作。 首先,打开任何一个主流网页浏览器,例如谷歌浏览器(Google Chrome),火狐浏览器(Mozilla Firefox)等。 接下来,在浏览器的搜索栏中输入“OpenGLES下载”或者直接搜索“OpenGLES官方网站”。点击搜索按钮或者按下回车键进行搜索。 然后,在搜索结果中,找到OpenGLES的官方网站。通常,官方网站是最可靠和安全的来源。点击链接进入官方网站。 一旦进入官方网站,往往会有下载页面或下载链接。浏览页面,寻找与您操作系统和设备兼容的版本。例如,如果您使用的是Android手机,那么您需要选择适用于Android的OpenGLES版本。 找到合适的版本后,点击下载按钮或链接。通常,会弹出一个保存文件的窗口。选择一个您常用的文件夹或位置,保存下载的文件。 一旦下载完成,您可以在文件夹中找到下载的文件。根据您的需求和操作系统,您可能需要进行一些额外的设置或安装。按照下载文件的说明进行相应操作即可。 总之,要下载OpenGLES,首先需要在浏览器中搜索并进入OpenGLES的官方网站,然后选择适用于您的设备和操作系统的版本,最后按照下载文件的说明进行安装和设置。 ### 回答2: 在OpenGLES的下载方面,首先需要了解OpenGLES是什么。OpenGLES(Open Graphics Library for Embedded Systems)是一套用于嵌入式系统的图形应用程序接口,主要用于在移动设备、游戏控制台和嵌入式系统上进行图形渲染和加速。 要下载OpenGLES,首先需要到对应的官方网站或者相关的开发者社区,例如OpenGL官方网站、Github等,进行下载。在网站上通常会提供最新版本的OpenGLES的软件包,你可以根据你的开发需求选择相应的版本进行下载。 下载OpenGLES之前,你需要确定你的目标平台和操作系统。因为OpenGLES支持的平台众多,例如Android、iOS、Windows、Linux等,每个平台都有对应的编译器和开发工具链,需要根据自己的开发环境进行选择。 在下载OpenGLES之后,你可以根据对应的安装包解压缩或者进行安装。解压缩后,你会发现里面包含了相关的开发库、头文件、示例代码等。根据你使用的开发环境,将这些文件添加到你的项目中,并进行相应的配置。例如,如果你是在Android平台上开发,你可以将OpenGLES的库文件添加到Android工程中,并在代码中引入相关的头文件。 此外,在下载OpenGLES之后,你还需要阅读完整的文档,学习如何正确地使用OpenGLES进行图形渲染和加速。OpenGLES提供了丰富的功能和接口,比如顶点着色器、片元着色器、纹理贴图等,你可以根据需求学习和应用这些功能。 总而言之,下载OpenGLES需要到官方网站或者开发者社区下载对应版本的软件包,并根据自己的开发环境进行配置和安装。在使用OpenGLES之前,建议阅读相关的文档和教程,加深对OpenGLES的理解和应用。 ### 回答3: OpenGLESOpenGL ES)是一种用于嵌入式设备的图形渲染应用程序编程接口(API)。要下载OpenGLES,首先需要找到适用于您的操作系统的OpenGLES SDK,并从官方网站或其他可信来源下载。 对于Android设备,Android提供了OpenGLES SDK作为Android SDK的一部分。您可以从Android开发者网站下载适用于您的操作系统版本的Android SDK。安装Android SDK后,在SDK管理器中选择并安装OpenGLES SDK。 对于iOS设备,OpenGLES已经集成到iOS开发环境中。您只需下载并安装最新版本的Xcode开发工具包,即可获得OpenGLES SDK。 另外,对于其他嵌入式设备和操作系统,您可以在官方网站或其他相关开发者社区中寻找OpenGLES SDK的适用版本,并按照其提供的指南进行下载和安装。 下载和安装OpenGLES SDK后,您就可以开始使用OpenGLES进行图形渲染和开发应用程序了。根据您的需求,您可能还需要了解OpenGLES的基本语法、渲染管线和相关的图形编程概念。有许多在线文档和教程可供学习,您可以在网络上搜索并参考这些资源。 总之,要下载OpenGLES,您需要找到适用于您的设备和操作系统的OpenGLES SDK,并按照其提供的指南进行下载和安装。然后,您可以开始学习并使用OpenGLES进行图形渲染和应用程序开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值