`
lei33
  • 浏览: 16697 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

OpenGL ES

阅读更多

一、2D制图。 

1.构建opengl es 的基本开发框架

回调android.opengl.GLSurfaceView.Renderer.

在Renderer借口中定义如下3个方法。

void onSurfaceCreated(GL10 gl, EGLConfig config) //创建或者被重建的时候调用,设置初始化功能。

void onDrawFrame(GL10 gl) //绘制每一帧时调用,类似View中的onDraw方法。在该方法中绘制2D或3D图形。

 void onSurfaceChanged(GL10 gl, int width, int height)//界面(主视图)发生改变时调用,不管窗口尺寸是否发生变化,在程序开始的时候至少执行一次。

Opengl 的坐标系。

opengl的坐标是三维的,所以三个点确定一个坐标。

onDrawFrame方法里的glTranslatef方法,是将坐标的中心原点沿xyz的方向移动。

gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);//允许设置顶点。

gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer);//设置顶点。

gl.glVertexPointer(坐标的维数, 定点的类型, 步长,顶点缓存);

gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, vertices.length / 3);//绘制图形。

gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);//在开启顶点设置功能后,必须使用该代码,关闭顶点设置功能。

 

2.颜色:

其中颜色分为:Smooth Color (平滑颜色),Flat Clolr(单色调颜色)

先说简单的Flat Color颜色把。

在使用单色调之前,必须关闭颜色渲染功能,要不然不起作用。

直接调用方法glColor4f(red,gree,blue,alpha)方法。

在来说说相对复杂的平滑颜色

在使用平滑颜色时需要开启颜色渲染功能。

gl.glEnableClientState(GL10.GL_COLOR_ARRAY);

然后通过glColorPointer方法可以进行平滑着色。

gl.glColorPointer(4, GL10.GL_FLOAT, 0, colorBuffer);和glVertexPointer方法的参数相似。

其中第一个数字4表示每一个颜色的值的数目(R,G,B.A)

最后需要对颜色渲染功能进行关闭。

gl.glDisableClientState(GL10.GL_COLOR_ARRAY);

 

3.旋转

旋转的方法是void glRotatef(float angle,float x,float y,float z)

其中angle表示选择的角度,后边的x,y,z意思是,按照那个点去旋转。

最后需要在onDrawFrame方法的最好不断变化rotate变量,才能保存选择,

rotate+=1;

 

 

  • 大小: 3.5 KB
分享到:
评论

相关推荐

    OpenGL ES 2.0规范(中文版)——本人自己翻译总结的

    本规范是本人根据《OpenGL ES Profile Specification 2.0.24 (Difference Specification) (April 1, 2009) (Annotated)》进行学习时翻译的,我今天把它提取出来,仅供大家学习使用,帮助想学习OpenGL ES 2.0这一国内...

    OpenGL ES应用开发实践指南(Android卷).pdf

    由资深Android开发专家根据OpenGLES2.0版本撰写,不仅系统地讲解了OpenGLES的核心概念、技术,以及Android的图形机制,还通过大量案例讲解了在Android上进行OpenGLES开发的方法和技巧。  《OpenGL ES应用开发实践...

    OpenGL ES Tutorial for Android.zip

    超棒的Android的OpenGL ES入门教程!由 Per-Erik Bergman写的6个教程,并附带一份OpenGL ES 1.1 Reference Pages。 内容介绍: OpenGL ES Tutorial for Android – Part I – Setting up the view OpenGL ES ...

    opengl es3.1头文件与reference card

    OpenGL ES Extension Header File this header is defined to contain all defined extension interfaces for OpenGL ES 2 0 and all later versions since later versions are backwards compatible with OpenGL ...

    opengles 3.0游戏开发(上)

    opengles 3.0游戏开发上 的所有案例 opengles 3.0游戏开发上 的所有案例 opengles 3.0游戏开发上 的所有案例

    OPENGL ES 3.0编程指南

    OPENGL ES 3.0编程指南

    OpenGLES.ppt

    ES2.x针对可编程管线硬件.OpenGL ES1.0是以OpenGL1.3规范为基础的,OpenGL ES1.1是以OpenGL1.5为基础 的,他们分别又支持common和common lite两种profile.OpenGL ES2.0是参照OpenGL2.0规范定义的”

    openglES_资料打包.rar

    几本openglES的书打包下载: OpenGL ES Game Development.2004.pdf Mobile 3D Graphics with OpenGL ES and M3G Nov.2007.pdf OpenGL_ES_Programming_Guide_v1.0.2.zip OpenGL ES 2.0 Programming Guide.pdf ...

    OpenGL ES 3.0 Programming Guide

    OpenGL ES 3.0 Programming Guide

    Android平台OpenGLES生成使用Mipmap纹理

    该案例代码为Android 平台OpenGL ES实现举例,有两个作用: ...2、使用 OpenGLES 生成与使用Mipmap纹理,构建远处模糊,近处清晰的效果。 具体案例文章讲解请见: https://xiaxl.blog.csdn.net/article/details/8873106

    OpenGL ES 3.0.2 spec

    OpenGL ES 3.0.2 规范pdf文档

    opengl es 入门资源

    opengl es 未来不仅仅会用于游戏,也是总的确实,3D UI 提供更好的体验。

    OpenGLES.zip Android官方OpenGL例子

    The example code in this class uses the OpenGL ES 2.0 APIs, which is the recommended API version to use with current Android devices. For more information about versions of OpenGL ES, see the OpenGL ...

    OpenGLES 2.0 所有平台版本

    OpenGL ES 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。

    opengl es 2.0 API

    opengl es 2.0 API 网上没提供下载...俺提供! opengl es 2.0全面抛弃了 固定渲染管线.只能说shader的时代越来越近了..先下手为强 哈哈.反正nehe已经老黄历了.shader当道.感觉图形学门槛高了一大截.无论怎么说对很多...

    基于opengl es 的显示gif的例子

    基于opengl es 的显示gif的例子

    OpenGL ES编程指南

    OpenGL ES 2.0编程指南,是官方正式文档。详细讲述了OpenGL ES 2.0版本中所有API的细节和使用描述,另外还有一些简单的sample.

    OPENGL ES 3.0编程指南.pdf

    OPENGL ES 3.0编程指南 原书第2版 清晰中文版.pdf openGL学习最佳文档,适合初学者

    opengl es 1.0 specification

    OpenGL® ES is a royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles. It consists of well-defined subsets of...

    Mali OpenGL ES SDK for Linux on ARM v2.0.0

    Mali OpenGL ES SDK for Linux on ARM v2.0.0.7z

Global site tag (gtag.js) - Google Analytics