Android OpenGL初探

本文介绍了Android OpenGL的基础知识,包括OpenGL概念、Android OpenGL ES的使用,以及EGL的初始化步骤。重点讲解了GLSurfaceView的绘制流程,强调了OpenGL渲染应在专用的GLThread中执行。
摘要由CSDN通过智能技术生成

最近在做一些Android OpenGL相关的工作,作为一名初学者,第一次接触OpenGL难免有点畏惧心理,踩了很多坑。写这篇文章介绍关于OpenGL的一些基础知识,帮助大家能够快速理解。

####OpenGL概念:
OpenGL(open Graphics Library):开放图形库,主要用于2D、3D矢量图形的绘制。封装了一些列API用于图像绘制,OpenGL具有非常好的跨平台性,可在windows、linux、MacOS上使用,它依赖于硬件的支持,能够通过GPU高效绘制各种图形和动画。

####Android OpenGL ES:
Android的OpenGL ES库中封装了大量API,对OpenGL绘制操作提供了非常好的支持。App开发者可以通过这些接口实现OpenGL的绘制,其实这些接口底层都是通过native方法调用OpenGL库的API。应用开发者只需要理解上层接口的含义、参数的意义,就可以完成简单的绘制,对于开发者来说相当友好。

####EGL相关概念:
EGL是Android为OpenGL ES提供平台独立性而设计的,上面我们提到过,OpenGL其实是通过GPU进行渲染。但是我们的程序是运行在CPU上,要与GPU关联,就需要通过EGL,它相当于Android上层应用与GPU通讯的中间层。 要在Android平台实现OpenGL渲染,需要完成一系列的EGL操作,主要为下面几步:
#####1、获取显示设备(EGLDisplay)
获取将要用于显示的设备,有些系统具有多个显示器,会存在多个Display。在Android上通过调用EGL10的eglGetDisplay(Object native_display)方法获得EGLDisplay对象,通常传入的参数为EGL10.EGL_DEFAULT_DISPLAY。
#####2、初始化EGL
调用EGL10的eglInitialize(EGLDisplay display, int[] major_minor)方法完成初始化操作。display参数即为上一步获取的对象,major_minor传入的是一个int数组,通常传入的是一个大小为2的数组。

#####3、选择Config配置
调用EGL10的eglChooseConfig(EGLDisplay display, int[] attrib_list, EGLConfig[] configs, int config_size, int[]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值