zoukankan      html  css  js  c++  java
  • Android OpenGL ES 开发(一): OpenGL ES 介绍

    简介OpenGL ES

    谈到OpenGL ES,首先我们应该先去了解一下Android的基本架构,基本架构下图:

    在这里我们可以找到Libraries里面有我们目前要接触的库,即OpenGL ES。

    根据上图可以知道Android 目前是支持使用开放的图形库的,特别是通过OpenGL ES API来支持高性能的2D和3D图形。OpenGL是一个跨平台的图形API。为3D图形处理硬件指定了一个标准的软件接口。OpenGL ES 是适用于嵌入式设备的OpenGL规范。

    Android 支持OpenGL ES API版本的详细状态是:

    • OpenGL ES 1.0 和 1.1 能够被Android 1.0及以上版本支持
    • OpenGL ES 2.0 能够被Android 2.2及更高版本支持
    • OpenGL ES 3.0 能够被Android 4.3及更高版本支持
    • OpenGL ES 3.1 能够被Android 5.0及以上版本支持

    基本介绍

    Android 能够通过framework框架提供的API或者NDK来支持OpenGL。本文重点介绍框架提供的接口来使用OpenGL的方式,有关于NDK方面的信息,可以自行去官方文档进行了解。

    在Android框架里面两个基本的类允许你使用OpenGL ES API创建和操作图形: GLSurfaceView 和 GLSurfaceView.Renderer。如果您的目标是在Android程序中使用OpenGL,那么首先需要做的事情就是了解这两个类。

    GLSurfaceView

    这是一个视图类,你可以使用OpenGL API来绘制和操作图形对象,这一点在功能上很类似于SurfaceView。你可以通过创建一个SurfaceView的实例并添加你的渲染器来使用这个类。但是如果想要捕捉触摸屏的事件,则应该扩展GLSurfaceView以实现触摸监听器。关于实现触摸监听器的方式,我们会在后面的文章中进行讲解。

    GLSurfaceView.Renderer

    此接口定义了在GLSurfaceView中绘制图形所需的方法。您必须将此接口的实现作为单独的类提供,并使用GLSurfaceView.setRenderer()将其附加到您的GLSurfaceView实例。
    GLSurfaceView.Renderer要求实现以下方法:

    • onSurfaceCreated():创建GLSurfaceView时,系统调用一次该方法。使用此方法执行只需要执行一次的操作,例如设置OpenGL环境参数或初始化OpenGL图形对象。
    • onDrawFrame():系统在每次重画GLSurfaceView时调用这个方法。使用此方法作为绘制(和重新绘制)图形对象的主要执行方法。
    • onSurfaceChanged():当GLSurfaceView的发生变化时,系统调用此方法,这些变化包括GLSurfaceView的大小或设备屏幕方向的变化。例如:设备从纵向变为横向时,系统调用此方法。我们应该使用此方法来响应GLSurfaceView容器的改变。
  • 相关阅读:
    python-day1
    go 字符串方法
    str,转换int,相互
    go 文件打包上传本地测试环境
    通联收银宝,官方文档
    go uuid
    go xid
    golang decimal处理插件包 大数字处理
    图像处理 bimg
    golang strings,常用函数
  • 原文地址:https://www.cnblogs.com/renhui/p/7994261.html
Copyright © 2011-2022 走看看