【Android】OpenGL_ES基本用法

本文介绍了Android中使用OpenGL ES的基本步骤,包括搭建框架、理解坐标系以及如何绘制点。通过创建GLSurfaceView和实现GLSurfaceView.Renderer接口,开发者可以在Android应用中进行3D图形绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenGL ES 基本用法

搭建最基本的框架

  • 新建一个Android项目
  • 新建GLSurfaceView实例
  • 创建渲染器Renderer实例
  • 给GLSurfaceVIew设置Renderer实例
  • 显示GLSurfaceView
//所涉及到的方法

//设置清屏颜色
gl.glClearColor(float red, float green,float blue,float alpha);
//使用设置的清屏颜色清屏
gl.glCleat();

//设置可视区域窗口大小
gl.glViewport(int x,int y,int width,int height);

相关坐标系的辨析

Android中的坐标系

在这里插入图片描述

OpenGL 中的Viewport坐标系

在这里插入图片描述

具体实现

1.创建类实现GLSurfaceView.Renderer接口

public class MyRenderer implements GLSurfaceView.Renderer {
    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config) {
        gl.glClearColor(0f,1f,0f,0f);

    }

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

    }

    @Override
    public void onDrawFrame(GL10 gl) {
        //使用上面设置的颜色清屏
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    }
}

2.在activity中创建GLSurfaceVIew

public class MainActivity extends AppCompatActivity {
    GLSurfaceView glSurfaceView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        glSurfaceView = new GLSurfaceView(this);
        MyRenderer renderer = new MyRenderer();
        glSurfaceView.setRenderer(renderer);
        
        //设置渲染模式
        /**
        1.(默认模式)GLSurfaceView.RENDERMODE_CONTINUOUSLY 不间断的渲染
        2,GLSurfaceView.RENDERMODE_WHEN_DIRTY  当屏幕变脏时绘制,也就是当调用GlSurfaceView的requestRender()方法后才会执行一次(第一次启动时自动绘制一次)
        **/
        glSurfaceView.setRenderMode(GLSurfaceView.
                                    RENDERMODE_WHEN_DIRTY);

        setContentView(glSurfaceView);
    }
}

OpenGL ES —绘制点

世界坐标系:

​ 右手法则,大拇指指向x轴正方向,食指指向y轴正方向,中指指向z轴正方向

在这里插入图片描述

绘制过程

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值