[OpenGL]从零开始写一个Android平台下的全景视频播放器——1.1 OpenGL ES 2.0基础知识
来源:互联网 发布:阿里云怎么升级配置 编辑:程序博客网 时间:2024/06/18 08:20
Github项目地址,欢迎star~!
为了方便没有准备好梯子的同学,我把项目在CSDN上打包下载,不过更新会慢一些
回到目录
基本概念与说明
- OpenGL是一个图形API,用来绘制三维物体(也可以是2D物体),OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集。
- Android平台下,对于OpenGL ES有一套Java的封装,编程时可以避免使用NDK,本系列文章OpenGL的操作全部通过Java的接口来进行,唯一非Java的部分就是GLSL脚本(GLSL,OpenGL Shader Language,即着色器语言)
- OpenGL ES 2.0 支持可编程管线(什么是可编程?之后会解释)
- OpenGL 的基本形状是三角形,无论是绘制形状还是填充,都是对于图形进行操作
- 对于一个平面图形,绘制的结果是有正反面的,但是在本文章中我们不讨论这个问题,如果有兴趣,可以阅读OpenGL ES应用开发实践指南
- 着色器语言(GLSL)主要包括两部分:Vertex shader(定点着色器,负责定点位置与坐标变换,即决定显示哪个部分,以何种位置/姿态显示),Fragment shader(片元着色器,负责纹理的填充与转换,即决定显示成什么样子)
第一个坐标系:OpenGL ES的屏幕坐标系
众所周知,OpenGL ES是一个三维的图形库,但是三维的图像要在二维平面显示,就要经过一定的投影变换,将三维的空间以一定的方式显示在二维屏幕上。
上图显示的是OpenGL ES的屏幕坐标系,无论是X还是Y轴,取值范围都是[-1,1],也就是说,即便你的手机是16:9的屏幕,对于OpenGL ES来说也是一个正方形的绘制范围(是不是很奇怪)
更多关于坐标系的介绍,会放在第四章进行。
在下一节中,我们将学习如何初始化OpenGL的运行环境(不是如何配置Eclipse或者Android Studio,嗯。。),以及如何用OpenGL ES 2.0画出一个三角形(这应该算OpenGL的Hello World了吧)
0 0
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——1.1 OpenGL ES 2.0基础知识
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——1.2 用OpenGL ES 2.0画一个三角形
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——3.2 使用OpenGL ES 2.0绘制一个球
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——1.4 用OpenGL ES 2.0显示一张图片(下)
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——1.3 用OpenGL ES 2.0显示一张图片(上)
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——目录
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——目录
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——5.7 使用OpenGL ES接口保存屏幕截图
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——5.6 播放器的UI制作
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——5.8 使用MediaPlayer播放在线视频
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——5.1 使用OpenGL把全景视频贴到球上
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——5.3 如何实现分屏效果
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——3.1 全景视频是如何实现的
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——2.3 使用GLSurfaceView和MediaPlayer播放一个平面视频(下)
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——2.3 使用GLSurfaceView和MediaPlayer播放一个平面视频(下)
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——2.1 使用GLSurfaceView和MediaPlayer播放一个平面视频(上)
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——2.2 使用GLSurfaceView和MediaPlayer播放一个平面视频(中)
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——2.1 使用GLSurfaceView和MediaPlayer播放一个平面视频(上)
- 为你的TextView添加一个边框的几种办法
- dp 加搜索 百练1088 滑雪
- 初探前端WEB安全#2
- 模拟生产数据导入(二)
- 磁盘管理dd
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——1.1 OpenGL ES 2.0基础知识
- 282. Expression Add Operators
- 删除数组零元素
- 文字排版--斜体
- [Python]网络爬虫(11):亮剑!爬虫框架小抓抓Scrapy闪亮登场!
- C++四则运算计算器
- 一些不错的Java学习笔记
- Out of Hay
- java中PreparedStatement和Statement的区别