android下的OpenGL图形开发学习【前言】之为什么要学习OpenGL.
2014-03-15 22:06
316 查看
首先来说,我开始写关于OpenGL的博客不是教大家,因为我也是初学者,写博客的目的重在总结和交流.学习目标是,实现跨平台的OpenGL控件,在随后的日子里,我会持续更新相关博客.
今天我开始第一天基于android平台OpenGL学习的旅程,所以先写点简单的内容.
做过android开发的人都知道,我们UI中使用的基本画面元素是View,但是用系统中提供View去实现一个自定义视图存在以下三个缺点:(这里不包括SufaceView和GLsurfaceView)
1,从效率角度讲,View的效率是很低的,为什么?因为它是运行在UI线程的,当我们更新一个View视图我们不得不去占用UI线程,占用UI线程更新View会导致一些问题:比如说更新画面时间一旦过长,UI线程此时被占用就无法响应按键,触屏的事件.
2,View提供除了用系统自带的View视图外,你还可以重写View,但是这些视图实现复杂的效果是很困难的,比如说一些3D控件,带有动画效果的控件等.
3,最后,也是最重要的一个缺点,它是不能跨平台的.比如说你用java语言重写了一个很炫的控件在android平台上面,但是现在系统是ios,你是不能重用这个控件的.
所以基于以上三点,我们需要学习OpenGL去实现自己想要的控件.当然OpenGL不但可以做控件,他可以绘制任何你想要的图像效果,而且它与平台无关,与语言无关,它是一套抽象
的api.很多游戏引擎都是基于它实现的.
今天我开始第一天基于android平台OpenGL学习的旅程,所以先写点简单的内容.
做过android开发的人都知道,我们UI中使用的基本画面元素是View,但是用系统中提供View去实现一个自定义视图存在以下三个缺点:(这里不包括SufaceView和GLsurfaceView)
1,从效率角度讲,View的效率是很低的,为什么?因为它是运行在UI线程的,当我们更新一个View视图我们不得不去占用UI线程,占用UI线程更新View会导致一些问题:比如说更新画面时间一旦过长,UI线程此时被占用就无法响应按键,触屏的事件.
2,View提供除了用系统自带的View视图外,你还可以重写View,但是这些视图实现复杂的效果是很困难的,比如说一些3D控件,带有动画效果的控件等.
3,最后,也是最重要的一个缺点,它是不能跨平台的.比如说你用java语言重写了一个很炫的控件在android平台上面,但是现在系统是ios,你是不能重用这个控件的.
所以基于以上三点,我们需要学习OpenGL去实现自己想要的控件.当然OpenGL不但可以做控件,他可以绘制任何你想要的图像效果,而且它与平台无关,与语言无关,它是一套抽象
的api.很多游戏引擎都是基于它实现的.
相关文章推荐
- 《Android 开发入门》我为什么要在Android找工作越来越难的时候开始学习它
- 学习用android开发OpenGL的童鞋注意了,教训啊!android学习(六)
- android opengl 原理及开发(2)绘制基本图形
- Rajawali 学习 Android 3D 开发 及 OpenGL注意事项
- Android OpenGL(二) 学习《Android 3D 游戏开发技术宝典 -openGL ES 2.0》
- 为什么要学习Android开发?
- Android OpenGL与3D应用开发之3D图形绘制
- Reactjs-程序员为什么应该学习Android 开发
- 【Android学习系列】 OpenGL开发教程一
- 【Android开发学习34】OpenGL 性能优化
- 【Android学习系列】OpenGL开发教程二
- 【Android 开发入门】我为什么要在Android找工作越来越难的时候开始学习它
- Android开发之OpenGL绘制2D图形的方法分析
- Android开发学习之路--【前言】
- 【Android开发学习42】OpenGL函数思考-glTexParameter
- Android开发学习之 studio安装,及sdk tools 为什么没有下拉列表解决
- Android学习日记(yzy):opengl 绘制2d图形 基本框架
- Android官方开发文档Training系列课程中文版:OpenGL绘图之图形定义
- Android官方开发文档Training系列课程中文版:OpenGL绘图之图形绘制