OpenGLES应用开发实践指南——OpenGLES2.0实战第一课

本文详细介绍了如何使用OpenGLES2.0在Android应用中绘制图像,包括GLSurfaceView和GLSurfaceView.Renderer的使用,以及如何在Manifest中声明OpenGLES的使用。通过实例,展示了创建OpenGLESActivity,自定义GLSurfaceView,以及使用shader语言进行图形渲染的过程。

要用OpenGl ES在应用程序中绘制图像,首先你要创建与之对应的视图容器。

当中最直接的方法就是使用GLSurfaceView和GLSurfaceView.Renderer接口。

GLSurfaceView是OpenGL所绘制的图形的视图容器,而GLSurfaceView.Renderer控制在视图上所绘制的图像。想获取更多关于这两个类的信息,请参考OpenGl ES开发指南

GLSurfaceView只是把OpenGL ES图像组合到应用程序的其中一种方法,但对于绘制全屏或接近全屏的图形来说,它是一个很好的选择。开发者如果想把OpenGL ES图像组合成布局中的一小部分,可以查看TextureView。事实上,独立开发者也可以在SurfaceView上创建OpenGL ES视图,但这需要写更多额外的代码。

在Manifest声明OpenGL ES的使用  

要在应用程序中使用 OpenGL ES 2.0 API,你必须在Manifest添加以下的声明:

  1. <uses-feature android:glEsVersion="0x00020000" android:required="true" /> 

如果你的应用程序中使用到了纹理压缩,你必须声明应用程序所支持的压缩格式,以便提醒不支持这些格式的设备不会尝试运行你的应用程序:

  1. <supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" /> 
  2. <supports-gl-texture android:name="GL_OES_compressed_paletted_texture" /> 

想获取更多关于纹理压缩格式的信息,请参考OpenGl ES开发指南。

创建OpenGL ES的Activity  

Android使用到OpenGL ES的应用程序和其他的应用程序的activities一样,都有一个用户界面。当中不同就是,在activity的布局中你使用了什么控件,在很多应用中,你可能会使用TextView,Button和ListView,在使用了OpenGL ES的应用程序,你还可以添加GLSurfaceView。

package com.example.opengldemo;

import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;


public class OpenGLES20Activity extends AppCompatActivity {
    private GLSurfaceView glView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        glView = new MyGLSurfaceView(this);
        setContentView(glView);
    }

    @Overri
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值