Opengl ES入门1

本系列文章主要总结如何通过实例来介绍如何使用Opengl ES,并且通过Opengl ES完成对应的相机预览、滤镜等实例开发。

本文主要介绍最简单的opengl实例。

主要参考:http://blog.csdn.net/niu_gao/article/details/8533126

以下为详细步骤:

1、创建最简单的安卓工程。

2、在Manifest中声明使用OpenGLES
为了能使用OpenGLES 2.0 API,你必须在你的manifest中添加以下声明:

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

3、创建一个MyGLSurfaceView类,继承于GLSurfaceView。并且在构造函数中指定opengl版本及渲染器:

//设置opengl版本为2
setEGLContextClientVersion(2);
//设置渲染器为当前MyGLSurfaceView
setRenderer(this);
//设置渲染模式为RENDERMODE_WHEN_DIRTY,这样子只有当调用requestRender时才会进行渲染。
setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);

由于设置了渲染器为当前类,因此需要让MyGLSurfaceView实现Renderer接口。并且实现以下三个方法:
1)onDrawFrame 渲染时调用
2)onSurfaceChanged 当窗口变化时调用
3)onSurfaceCreated 当窗口创建时调用

public class MyGLSurfaceView extends GLSurfaceView implements Renderer {

    public MyGLSurfaceView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        setEGLContextClientVersion(2);
        setRenderer(this);
        setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
    }
    @Override
    public void onDrawFrame(GL10 arg0) {
        // TODO Auto-generated method stub
        // 绘制背景色
        GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
    }

    @Override
    public void onSurfaceChanged(GL10 arg0, int width, int height) {
        // TODO Auto-generated method stub
        GLES20.glViewport(0, 0, width, height);
    }

    @Override
    public void onSurfaceCreated(GL10 arg0, EGLConfig arg1) {
        // TODO Auto-generated method stub
        //设置背景的颜色
        GLES20.glClearColor(1.0f, 0, 0, 1.0f);
    }
}

4、编译下载,就可以看到背景红色的界面。

这就完成了最简单的opengl实例

代码下载地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值