美文网首页OpenGL ES
《OpenGL ES :(一)了解》

《OpenGL ES :(一)了解》

作者: Oneminute | 来源:发表于2018-09-09 22:11 被阅读0次

    1、什么是 OpenGL ES?
    2、它能做什么?
    3、android平台支持情况
    4、GLSurfaceView、Renderer

    1、什么是OpenGL ES

    OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。

    【总之它是一个图形图像处理】

    2、它能做什么?

    OpenGL ES是一个开放的图形库的,通过OpenGL ES API来支持高性能的2D和3D图形。OpenGL是一个跨平台的图形API。为3D图形处理硬件指定了一个标准的软件接口。OpenGL ES 是适用于嵌入式设备的OpenGL规范。它的应用很广泛,都是涉及的图形图像的处理,比如PS软件、美颜相机、抠图P图软件、游戏引擎等。

    【总之它能做的事情都与图形图像处理有关】

    3、android平台支持情况

    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及以上版本支持

    【OpenGL ES 2.0使用的比较普遍】

    4、GLSurfaceView、Renderer

    android平台提供了一个核心类:GLSurfaceView以及一个它的一个内部接口Renderer。顾名思义GLSurfaceView,肯定是用于图像的呈现的载体,类似于View。而Renderer能有三个方法。具体的绘画逻辑由Randerer负责。

    
     public interface Renderer {
          
            void onSurfaceCreated(GL10 gl, EGLConfig config);
            
            void onSurfaceChanged(GL10 gl, int width, int height);
    
            void onDrawFrame(GL10 gl);
        }
    

    GLSurfaceView 提供了一个setRenderer方法,与负责具体绘制流程的Renderer 关联。后续将以具体绘制简单图形为例,对如何使用Renderer 有一个大致的了解。

    相关文章

      网友评论

        本文标题:《OpenGL ES :(一)了解》

        本文链接:https://www.haomeiwen.com/subject/mkdkgftx.html