Android OpenGl 介绍(一)

本文介绍了OpenGL的基础,OpenGl ES是OpenGL针对嵌入式系统的子集,主要用于移动端。在Android中,通过GlSurfaceView和GlSurfaceView.Renderer进行图形渲染。GlSurfaceView.Renderer包含三个关键方法:onSurfaceCreated()、onDrawFrame()和onSurfaceChanged()。在实际应用中,需要创建几何图形,使用顶点和片段着色器进行渲染。
摘要由CSDN通过智能技术生成

一、OpenGl 介绍

看到这个介绍,相信大家都不会陌生,因为在平时的工作中,或多或少大家都会听说过 openGl 这个东西,而且对它的印象基本都是觉得比较高深难懂。其实这个东西也不是那么难,那么无从下手,首先必须要了解一些基本的背景和搞懂一些基本概念,然后就可以按需学习了。

首先我们来看看官方对 OpenGl 的描述为:OpenGL( Open Graphics Library 开发图形接口)是一个跨平台的图形 API,用于指定 3D 图形处理硬件中的标准软件接口。

总结的来讲,OpenGl 提供了指定图形处理的硬件接口,我们在处理图形的时候,只要按照它的规则来调用,就可以获得更加高效的图形处理方法。

为了承上启下,必须要再了解以下 OpenGl 的背景,它的前身是 SGI 公司为其图形工作站开发的 IRIS GL。由于 IRIS GL 的兼容性不好,而且不太容易移植。因此在其基础上,SGI 公司开发出了 OpenGl。OpenGl 一般用于PC端的图形工作站,在移动端使用 OpenGl 基本带不动。为此,Khronos 公司就为 OpenGl 提供了一个子集,OpenGl ES(OpenGl for Embedded System)。是不是很自然的知道 OpenGl ES是啥,接着往下看。

二、OpenGl ES 介绍

这里直接上官方解释:OpenGl ES是免费的跨平台的功能完善的 2D/3D 图形库接口的 API,是OpenGL 的一个子集。

移动端使用到的基本上都是 OpenGl ES,当然 Android 开发下还专门提供了android.opengl 包,并且提供了 GlSurfaceView,GLU,GlUtils 等工具类。相信介绍到这里,大家都知道 OpenGl ES 是干什么的,很不巧,这里又是一句承上启下的话,因为这里引出了一堆新的名词,别急,下面一一介绍,大家就可以连起来了。

三、GlSurfaceView 介绍

顾名思义,它是一个SurfaceView,看源码可知,GlSurfaceView 继承 SurfaceView 的同时,增加了 Renderer,作用就是专门为 OpenGl 显示渲染使用的。看看下面的使用方法,十分平易近人:以通过创建的实例使用这个类,并随心所欲的设计属于你的 Renderer。

GLSurfaceView glSurfaceView = new GLSurfaceView(this);
glSurfaceView.setRenderer(new GLSurfaceView.Renderer() {
    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config) {

    }

    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height) {

    }

    @Override
    public void onDrawFrame(GL10 gl) {

    }
});

很巧,这里突然又冒出了个 GlSurfaceView.Renderer。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值