Android 2D,3D处理

一.OpenGL ES
        OpenGL 体系简单,具有跨平台的特性.适用于大型图形工作站也适用于个人PC
        由于OpenGL在三维图形计算时必须处理大量的数据,因此在一些如手机之类的小型设备上运行比较困难,
        OpenGL ES是OpenGL的子集,是免费的,跨平台的,功能完善的2D/3D图形库接口API,针对多种嵌入式系统(控制台,移动电话,手持设备,家电设备和汽车)专门设计.
        OpenGL ES 1.x 针对固定管线硬件,OpenGL ES 2.x 针对可编程管线硬件.
        目前Android SDK已支持OpenGL ES 2.O 的绝大部分功能,而且专门为OpenGL 提供了android.opengl包
        | 在Android中使用OpenGL ES       
                | 使用步骤
                        | 1 创建GLSurfaceView组件,使用Activity显示该组件
                        | 2 为GLSurfaceView组件创建GLSurfaceView.Renderer实例,并实现该接口中的三个方法
                                | abstract void onDrawFrame(GL1O gl) Renderer对象调用该方法绘制GLSurfaceView的当前帧
                                        | 通常开始 gl.glClear(GL1O.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT);
                                | abstract void onSurfaceChanged(GL10 gl,int width,int height) 当GLSurfaceView的大小改变时回调该方法
                                | abstract void onSurfaceChanged(GL10 gl,EGLConfig config) 当GLSurfaceView被创建时回调该方法
                        | 3 调用GLSurfaceView组件的setRenderer()方法指定Renderer对象,该对象会完成GLSurfaceView里3D图形的绘制
                | 使用方法
                        | glDisable(int cap) 禁止OpenGL ES 某些方面的特性
                        | glHint(int target,int mode) 该方法用于对OpenGL ES 某些方面进行修正
                        | clearColor(float red,float green,float blue,float alpha) 该方法设置OpenGL"清屏"所用的颜色
                        | glShadeModel(int mode) 设置OpenGL ES的阴影模式
                        | glEnable(int cap) 该方法与glDisable(int cap)方法相对,用于启用OpenGL某些方面的特性
                                | GL10.GL_TEXTURE_2D 启用2D纹理贴图
                        | glGenTextures(int n,int[] textures,int offset) 指定一次性生成N个纹理,生成的纹理的代号放入textures数组中,指定从数组第offset个元素开始存放
                        | glBindTexture(int target,int texture) 将texture纹理绑定到target目标上
                        | glTexParameterf(int target,int pnmae,float param) 为target纹理目标设置属性,pnmae为属性名,param为属性值
                        |
                        | glViewport(int x,int y,int width,int height) 设置3D视窗的位置与大小
                        | glMatrixMode(int mode) 设置视图的矩阵模型(GL10.GL_PROJECTION,GL10.GL_MODELVIEW)
                                | GL10.GL_PROJECTION 设置屏幕为透视,看到逼真的3D这是必须的
                                | GL10.GL_MODELVIEW 将当前矩阵模式设为视图矩阵,任何新的变化都会影响该矩阵中的所有物体
                        | glLoadldentity() 相当于reset()方法,用于初始化单位矩阵
                        | glFrustumf(float left,float right,float bottom,float top,float zNear,float zFar) 用于设置透视投影空间的大小
                        | glEnableClientState(GL10.GL_VERTEX_ARRAY) 启用定点坐标数组
                        | glEnableClientState(GL10.GL_COLOR_ARRAY) 启用定点颜色数组
                        | glVertxtPointer(int size,int type,int stride,Buffer pointer) 设置顶点位置数据
                        | glColorPointer(int size,int type,int stride,Buffer pointer) 设置订顶点的颜色数据
                        | glDrawArrays(int mode,int first,int count) 绘制平面
                                | mode GL10.GL_TRIANGLES 绘制三角形 GL10.GL_TRIANGLES_STRIP
                        | glFinish() 结束绘制
                        
               
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值