Android利用硬解硬编和OpenGLES来高效的处理MP4视频

最近工作中遇到一个问题,就是要对视频增加视频特效,实现类似于抖音的效果,抖音的效果由其他同事实现,我的工作重心在视频的处理,特效的集成。按照之前的思路很快就实现了这个功能,但是实际应用到项目中时却遇到各种问题。于是就有了这篇博客。 遇到的问题 说是各种问题,特效方便的不管,我所遇到的视频处...

2017-09-10 20:16:12

阅读数:4132

评论数:5

Android OpenGLES2.0(十八)——轻松搞定Blend颜色混合

Blend是OpenGL中的一个非常重要的部分,它可以让每个输出的源和目的颜色以多种方式组合在一起,以呈现出不同的效果,满足不同的需求。

2017-08-03 10:37:43

阅读数:2908

评论数:6

GLSurfaceView的简单分析及巧妙借用

学习在Android中使用OpenGLES,就不得不提到一个控件:GLSurfaceView。本篇博客将介绍GLSurfaceView的基本使用、GLSurfaceView的源码的简单分析,以及使用GLSurfaceView渲染图像到SurfaceView/TextureView或者PBuffer...

2017-06-25 14:59:39

阅读数:5682

评论数:4

Android OpenGLES2.0(十七)——球形天空盒VR效果实现

在3D游戏中通常都会用到天空盒,在3D引擎中也一般会存在天空盒组件,让开发者可以直接使用。那么天空盒是什么?天空盒又是如何实现的呢?本篇博客主要介绍如何在Android中利用OpenGLES绘制一个天空盒,并实现VR效果。天空盒、天空穹、天空球和VR虽然大多数人知道这些东西是啥,但是我觉得我还是有...

2017-05-29 17:44:23

阅读数:9430

评论数:22

Android Camera API/Camera2 API 相机预览及滤镜、贴纸等处理

Android Lollipop 增加了Camera2 API,并将原来的Camera API标记为废弃了。相对原来的Camera API来说,Camera2是重新定义的相机 API,也重构了相机 API 的架构。初看之下,可能会感觉Camera2使用起来比Camera要复杂,然而使用过后,你也许...

2017-03-14 23:22:20

阅读数:9679

评论数:27

Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)

在Android OpenGLES2.0(十四)——Obj格式3D模型加载中实现了Obj格式的3D模型的加载,加载的是一个没有贴图,没有光照处理的帽子,为了呈现出立体效果,“手动”加了光照,拥有贴图的纹理及光照又该怎么加载呢?模型文件本篇博客例子中加载的是一个卡通形象皮卡丘,资源是在网上随便找的一...

2017-02-27 22:53:41

阅读数:4564

评论数:3

Android OpenGLES2.0(十五)——利用EGL后台处理图像

在Android OpenGLES2.0(十二)——FBO离屏渲染中,记录了采用FBO进行离屏渲染的方式来进行后台处理图像,但是在使用时,示例中还是用到了GLSurfaceView控件来提供GL环境。怎样完全抛开GLSurfaceView来进行图像处理呢?OpenGLES和EGL OpenGL...

2017-02-20 10:36:27

阅读数:5279

评论数:7

Android OpenGLES2.0(十四)——Obj格式3D模型加载

在博主《OpenGLES系列》文章中,最开始的几篇讲的就是OpenGL世界中各种形体的构建,但是那些形体都是规则的简单形体,遇到复杂的形体,比如说一个人、一朵花,怎么办呢?自然是通过其他工具类似于Maya、3DMax等3D建模工具,做好模型导出来,然后用OpenGLES加载导出的模型文件。模型的加...

2017-01-10 02:11:19

阅读数:7201

评论数:14

Android OpenGLES2.0(十三)——流畅的播放逐帧动画

在当前很多直播应用中,拥有给主播送礼物的功能,当用户点击赠送礼物后,视频界面上会出现比较炫酷的礼物特效。这些特效,有的是用粒子效果做成的,但是更多的时用播放逐帧动画实现的。在本篇博客中的动画素材,就是从花椒直播中“借”出来的,只做学习交流用,应该不构成侵权吧?那么如何实现这种动画效果呢? 逐帧动...

2016-12-25 22:35:23

阅读数:4805

评论数:16

Android OpenGLES2.0(十二)——FBO离屏渲染

之前的博客我们所做的示例都是直接渲染到屏幕上的,如果我们并不需要渲染到屏幕上,也就是离屏渲染,该怎么做呢?FBO离屏渲染是一个很好的选择。在这篇博客中,我们将以渲染摄像头数据为例,使用FBO进行离屏渲染。 关于FBO离屏渲染 所谓的FBO就是Frame Buffer Object。之前我们...

2016-12-24 18:36:06

阅读数:10679

评论数:8

Android OpenGLES2.0(十一)——利用OpenGLES做Camera预览

学习FFMpeg,推荐雷神的博客。天妒英才,为雷神叹息。第一步 下载FFmpeg(F F m peg)。 第二步 解压FFmpeg。 第三步 windows安装MinGW和Msys。也许还要yasm,名字改为yasm.exe放到C:\WINDOWS\system32中。Linux下就不用这...

2016-11-26 20:09:19

阅读数:6934

评论数:9

Android OpenGLES2.0(十)——OpenGL中的平移、旋转、缩放

在前面的博客中,所有的例子都是一个对象,类似绘制圆锥绘制圆柱,我们都是传入一个参数,然后去控制那个圆面的位置,如果我们要绘制几个个正方形,它的位置、大小、方向都是不相同的,按照那种方式该多麻烦啊。所以我们需要更好的办法——矩阵变换。什么是矩阵其实在之前的博客中,我们也基本都用到了矩阵,投影的设置,...

2016-11-14 01:27:09

阅读数:6195

评论数:2

Android OpenGLES2.0(九)——利用OpenGL进行图片处理

在之前的博客中我们就有提过OpenGLES的常见应用范围,其中有一个就是图片的处理。为了保证效率,Android手机中许多美颜相机、图片处理应用,都用到了OpenGLES来处理图片。上一篇博客中,我们利用OpenGLES 显示出了一张图片,并保证图片正常显示,不会被拉伸和压缩。在本篇博客中,我们来...

2016-10-23 17:57:21

阅读数:6866

评论数:23

Android OpenGLES2.0(八)——纹理贴图之显示图片

前面几篇博客,我们将了Android中利用OpenGL ES 2.0绘制各种形体,并在上一篇博客中专门讲了GLSL语言。但是我们看到的基于OpenGL开发的应用和游戏,可不仅仅是那些规则形体和一些简单的色彩构成,而是各种不规则的形体构成了现实世界或者卡通世界的人和事物,他们都是外面穿着漂亮“衣服”...

2016-10-23 01:15:49

阅读数:10998

评论数:26

Android OpenGLES2.0(七)——着色器语言GLSL

在前面的博客中,我们都使用到了片元着色器和顶点着色器,相信我们对着色器语言有了一点了解。前面我们所使用的着色器,代码非常简单,能做的事情非常有限,而在后面的博客中我们将会用到的着色器的越来越复杂,所以在这里单独写一篇博客来介绍我们使用到的着色器语言GLSL。关于着色器 着色器是用来实现图像渲染...

2016-10-16 16:07:23

阅读数:6250

评论数:5

Android OpenGLES2.0(六)——构建圆锥、圆柱和球体

之前的博客中,我们绘制了三角形、正方形、圆形、立方体,今天我们将绘制圆锥、圆柱和球体。能够绘制这些基本的常规几何形体后,其他的常见几何形体的绘制对于我们来说就基本没问题了。绘制圆锥由之前的博客,我们大家也应该都知道了,OpenGL ES2.0中物体的绘制重点就是在于把这个物体表面分解成三角形,分解...

2016-10-16 00:45:35

阅读数:4180

评论数:9

Android OpenGLES2.0(五)——绘制立方体

上篇博客中我们提到了OpenGLES中绘制的两种方法,顶点法和索引法。之前我们所使用的都是顶点法,这次绘制立方体使用索引法来绘制立方体。构建立方体上篇博客讲到正方形的绘制,立方体是是由六个正方形组成,我们将这六个正方形绘制出来,立方体就绘制完毕了。既然选择用索引法来绘制,立方体拥有八个顶点,我们先...

2016-10-15 00:19:54

阅读数:4092

评论数:2

Android OpenGLES2.0(四)——正方形和圆形

上篇博客中我们已经使用到了相机和投影,利用变换矩阵,绘制出了等腰直角三角形。在本篇博客中,我们绘制正方形和圆形同样少不了变换矩阵。构建正方形和圆形前面提到过,在OpenGLES的世界里面是没有正方形和圆形的,只有点、线、三角形。三角形就是OpenGLES提供的最复杂的图元单位。所以我们要绘制填充的...

2016-10-14 22:11:23

阅读数:4685

评论数:6

Android OpenGLES2.0(三)——等腰直角三角形和彩色的三角形

上一篇博客中我们已经绘制出了一个直角三角形,虽然我们相对于坐标,我们设置的直角三角形的两腰是相等的,但是实际上展示出来的却并不是这样,虽然通过计算,我们可以把三角形的两腰计算一下比例,使它们在坐标上不等,但是现实出来相等,但是当绘制的图形比较复杂的话,这个工作量对我们来说实在太庞大了。那么我们怎么...

2016-10-14 18:06:31

阅读数:4753

评论数:17

Android OpenGLES2.0(二)——绘制一个三角形

选择绘制三角形作为OpenGL ES 2.0的第一个实例,是因为前文中提到的,点、线、三角形是OpenGL ES世界的图形基础。无论多么复杂的几何物体,在OpenGL ES的世界里都可以用三角形拼成。关于Android OpenGL ES 三角形的绘制,在Android官方文档中有详细的说明和步骤...

2016-10-12 22:50:54

阅读数:7159

评论数:24

提示
确定要删除当前文章?
取消 删除
关闭
关闭