OpenGL+MetalOpenGL ES技术专栏OpenGL ES图形处理

Rajawali 微小 OpenGL 开源库介绍

2017-02-20  本文已影响169人  茶不思基

开发一些纯粹的渲染项目时,你肯定要用到OpenGL,安卓平台本来已支持原生的OpenGL,不过那只是一个底层架构,并没有一套适合快速开发框架。当然你可以能说可以用游戏引擎啊,这个我们也想过,主要是我们的需求只需要简单的渲染功能,要求的是速度快、体积小、占用资源少。满足这个需求的,我这里推荐Rajawali这个OpenGL库。

仓库地址

一、Rajawali 介绍

Rajawali是基于java的开源库,在同类库中人气最高的一个库,github上已经有一千多个赞,五百多次fork,而且社区维护还很频繁,目前还有AR的一些组件正在开发当中。
以下主要讲讲Rajawali 相对 OpenGL 做了哪些事情:

OpenGL ES

首先了解下OpenGL ES的基本框架


OpenGL 结构

在安卓中需要一个SurfaceView来指定绘图区域,渲染过程中每帧会回调一次进行渲染动作。OpenGL ES框架如上图所示,支持直接Shader 程序的开发,提供VBO等供存储顶点等图元数据。

Rajawali

Rajawali 结构图

如上图,Rajawali 相对 OpenGL 主要做了以下几件事。

因此包装了OpenGL 编译Shader、申请VBO、渲染, 写一个简单3D效果时,可能只是需要几十行代码,关键是直接避开了OpenGL流程化的底层代码,而是面向业务逻辑开发。

二、Rajawali 效果

抛砖引玉,提供几张效果图给大家了解下,有兴趣的话clone 仓库即可学习作者提供的几十个例程。

1、批量加载纹理,性能扛扛

2000Pictures.gif

2、加载3D模型,支持光照效果

光照效果.gif
上一篇 下一篇

猜你喜欢

热点阅读