- 博客(38)
- 资源 (3)
- 收藏
- 关注
原创 Andorid音视频 - OpenGL ES的实战项目InstagramXFilter
PS之前我用过Instagram的拍照功能,对他的滤镜可是垂涎已久啊,所以这次根据网上的资料有了一个开源项目有兴趣的可以看看InstagramXFilterInstagramXFilter参考了MagicCamera 以及 GPUImage,目前有几十种滤镜可供选择读者可以下载Demo运行一下,看看是不是你想要的,InstagramXFilter 1.0.1项目准备如果读者也对开发一款这样的应用感兴趣的话,那么我前面几篇的博客也许对你有帮助详情请查看我的优快云专栏OpenGL这些博客将.
2020-12-08 11:06:58
218
原创 Android音视频 - EGL C++实现
PS本篇继续上一篇的内容,我们来对Native EGL环境实现的各个步骤进行详细解析#EGL Native层的实现上一篇文章Android OpenGL ES - EGL源码解析以及C++实现我们还是先来回顾一下流程图以及代码 //(1) 将线程附加到虚拟机,并获取env if (that->m_jvm_for_thread->AttachCurrentThread(&env, NULL) != JNI_OK) { LOGE(that-.
2020-12-08 10:50:51
293
原创 Android音视频 - EGL源码解析以及C++实现
PS我们在前面的文章中就说过关于EGL的出现原因以及其作用OpenGL 是一个跨平台的API,而不同的操作系统(Windows,Android,IOS)各有自己的屏幕渲染实现。所以OpenGL定义了一个中间接口层EGL(Embedded Graphics Library)标准,具体实现交给各个操作系统本身EGL简单来说EGL是一个中间接口层,是一个规范,由于OpenGL的跨平台性,所以说这个规范显得尤其重要,不管各个操作系统如何蹦跶,都不能脱离我所定义的规范。EGL的一些基础知识EGLDi.
2020-12-08 10:47:52
448
原创 Android音视频 - OpenGL 卷积
PS上一篇我们说了一些简单的滤镜,明度、对比度、曝光度等等那么本篇我们来说一下稍微复杂一点的卷积,理解卷积对图片处理还是十分重要的卷积从数学上讲,卷积就是一种运算,与减加乘除没有本质的区别的一种运算。就像我们可以通过A+B的运算来计算A与B的和一样,简单的加减乘除运算符可以看成混合运算符两边元素的信息,我们可以认为卷积运算也是一种混合信息的手段图像卷积我们刚才说了卷积可以看成一种混合信息的手段,我们来看一下图像卷积假如我们有下面一幅图像这幅图像不太清晰,存在很多噪点。PS噪点又.
2020-12-08 09:29:26
292
原创 Android音视频 - OpenGL 滤镜
经过前几篇的博客,我们应该队OpenGL有了基础的认识,那么我们就该来点实践了,它来了,它来了,真正的滤镜它来了先放效果图滤镜的学习是个循序渐进的过程,我们本章先说一下简单的滤镜,也让读者揭开一角相机滤镜神秘面纱OpenGL ES - 简单滤镜经过前几篇的博客,我们应该能实现如上图中的原图的滤镜了吧,我对前面的工程也做了一些代码重构,类图如下所示,完整代码请查看文末链接。我们后面的滤镜代码将只关注于核心的Shader Code部分,因为GL环境部分我们前面几篇博客已经做了非常详细的讲解了。.
2020-12-07 11:38:04
486
原创 Android音视频 - OpenGL纹理
上一篇我们我们要对GLSL语言有了基础的了解,我们现在应该对于GLSL Shader脚本起码能理解其中的语法含义,不过这显然是不够的。对于前面几个章节都可以说是对Android OpenGL ES的入门,本篇呢就说一下在我们的实际工作中遇到的场景下(诸如相机滤镜是怎么实现的、视频如何使用OpenGL 渲染等等实际性问题)来介绍纹理纹理通过前面的内容我们已经了解到,我们可以为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像。但是,如果想让图形看起来更真实,我们就必须有足够多的顶点,从而指定足够多的颜
2020-12-05 15:49:37
646
1
原创 Android音视频 - OpenGL GLSL高级
我们之前说了一下GLSL的基础知识,详情可参见Android OpenGL ES - GLSL基础篇上一张呢我们也了解了一下纹理,实现了我们的OpenGL 的第一张图片,不过可能我们对gl_Position,gl_Fragcolor,texture2D ( uTexture, vCoordinate)等一些GLSL语法不是特别熟悉,本篇博客呢,是对GLSL的一些补充,也是为后面的博客打下基础。PS:无特殊说明,文中的 GLSL 均指 OpenGL ES 2.0 的着色语言。GLSL 高级篇in
2020-12-04 16:09:33
269
原创 Android音视频 - OpenGL GLSL基础
上节在绘制三角形的时候,简单讲解了一些着色器,GLSL 的相关概念,可能看的云里雾里的。不要担心,在本节中,我将详细讲解着色语言 GL Shader Language(GLSL)的一些基本的概念。PS:无特殊说明,文中的 GLSL 均指 OpenGL ES 2.0 的着色语言。GLSL (GL Shader Language)在上一节中,我们提到了GLSL 的语法与 C 语言很类似,也看到了一个非常简单的着色器,如下:VertexShader"attribute vec4 aPosition
2020-12-04 16:06:17
720
原创 Android音视频 - OpenGL ES 坐标系与三角形
上一篇我们已经建立了OpenGL ES Android 环境并用C/C++实现了一个简单的三角形,我们还知道了用GLSL语言所写的Vertex Shader和Fragment Shader的使用流程,简单地说,我们通过操作顶点着色器来描述图的形状,通过片段着色器来描述图上每个像素点的颜色。本篇文章呢,我们来解释上一篇遗留下来的问题。坐标系我们从前面的总结知道,使用OpenGL引擎的第一个程序入口就是从编写顶点着色器开始的。既然要去描述图形的坐标信息,我们就有必要知道如何去构建坐标系给OpenGL,如何转
2020-12-04 15:02:25
279
原创 Android音视频 - OpenGL ES 环境搭建与简单三角形的绘制
OpenGL ES Android 环境搭建EGLOpenGL 是一个跨平台的API,而不同的操作系统(Windows,Android,IOS)各有自己的屏幕渲染实现。所以OpenGL定义了一个中间接口层EGL(Embedded Graphics Library)标准,具体实现交给各个操作系统本身。关于EGL我们后面会仔细介绍,现在先有个概念。基于EGL的GLSurfaceViewAndroid 框架中有如下两个基本类,用于通过 OpenGL ES API 来创建和操控图形:[GLSurfaceVi
2020-12-04 14:50:33
229
原创 Android音视频 - OpenGL简介
OpenGL ES简介OpenGL 是一种跨平台的图形 API,用于为 3D 图形处理硬件指定标准的软件接口。OpenGL ES 是 OpenGL 规范的一种形式,适用于嵌入式设备。Android 支持多版 OpenGL ES API:OpenGL ES 1.0 和 1.1 - 此 API 规范受 Android 1.0 及更高版本的支持。OpenGL ES 2.0 - 此 API 规范受 Android 2.2(API 级别 8)及更高版本的支持。OpenGL ES 3.0 - 此 API 规范
2020-12-04 14:39:55
391
原创 Android并发编程 原子类与并发容器
在Android开发的漫漫长途上的一点感想和记录,如果能给各位看官带来一丝启发或者帮助,那真是极好的。前言上一篇博文中,主要说了些线程以及锁的东西,我们大多数的并发开发需求,基本上可以用synchronized或者volatile解决,虽然synchronized已经被JDK优化了,但有的时候我们还是觉得synchronized太重了,比如说一个电影院卖票,这个票数是一定的而且共享的,我想...
2018-12-29 15:03:29
356
原创 Android并发编程 多线程与锁
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,如果能给各位看官带来一丝启发或者帮助,那真是极好的。前言前一篇Android并发编程开篇呢,主要是简单介绍一下线程以及JMM,虽然文章不长,但却是理解后续文章的基础。本篇文章介绍多线程与锁。深入认识Java中的ThreadThread的三种启动方式上篇文章已经说了,下面呢,我们继续看看Thread这个类。##...
2018-11-29 17:29:10
234
原创 Android并发编程 开篇
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言从本篇博文开始Android并发编程系列。由于笔者水平有限,如果博文之中有任何错误或者纰漏之处,还请不吝赐教...
2018-09-28 16:26:17
162
原创 首个hybird商业项目踩坑总结
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言前段时间做了首个hybird商业上面,hybird虽然私下里有些了解,并且写了些demo,但是做正...
2018-09-05 10:49:14
205
原创 Android开发之漫漫长途 XIX——HTTP
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言在开始Android并发系列文章之前先插入一些文章,后续Android并发系列文章会按照计划发布。...
2018-08-24 14:19:55
269
原创 Android开发之漫漫长途 XVII——动画(续)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言本篇总结下篇预告参考博文此致,敬礼...
2018-08-13 11:38:49
139
原创 Android开发之漫漫长途 XVII——动画
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言该篇博客我们来说说Android动画的那些事。Android动画简介Android的动...
2018-08-09 16:06:16
147
原创 Android开发之漫漫长途 XVI——ListView与RecyclerView项目实战
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言Hello,大家好,有没有想我,这一个月没有更新文章,为什么呢,大声的告诉你,,我在…(准备面试 ps:南京)。至于
2018-03-30 13:29:56
182
原创 Android开发之漫漫长途 XV——RecyclerView
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言上文我们很详细的分析了ListView的使用、优化、及ListView的RecycleBin机制,...
2018-03-15 14:38:39
254
原创 Android开发之漫漫长途 XIV——ListView
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言列表展示控件(ListView或者RecyclerView)是我们在开发过程中经常要使用到的一种控...
2018-02-11 13:38:44
349
原创 Android开发之漫漫长途 Fragment番外篇——TabLayout+ViewPager+Fragment
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言上一篇文章中我们使用底部导航+Fragment的方式实现了Android主流App中大都存在的设计
2018-02-05 21:33:43
327
原创 Android开发之漫漫长途 XIII——Fragment最佳实践
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言上一篇文章中详细分析了Fragment相关知识,那么作为“小Activity”,Fragment能做什么呢,如何使用
2018-01-30 17:10:37
235
原创 Android开发之漫漫长途 XII——Fragment详解
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!前言上一篇博客我们主要总结了之前博客的知识,那么本篇我们来分析一下Fragment。Fragment又
2018-01-25 16:37:42
388
原创 Android开发之漫漫长途 X——Android序列化
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是And
2018-01-10 14:28:15
268
原创 Android开发之漫漫长途 IX——彻底掌握Binder
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是And
2018-01-04 12:53:54
324
原创 Android开发之漫漫长途 Ⅷ——Android Binder(也许是最容易理解的)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Andr
2017-12-22 21:37:24
246
原创 Android开发之漫漫长途 VII——Android消息机制(Looper Handler MessageQueue Message)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Andr
2017-12-13 14:41:51
225
原创 Android开发之漫漫长途 番外篇——内存泄漏分析与解决
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Andr
2017-12-11 14:54:28
262
原创 Android开发之漫漫长途 Ⅵ——图解Android事件分发机制(深入底层源码)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Andr
2017-11-30 14:46:16
416
1
原创 Android开发之漫漫长途 番外篇——自定义View的各种姿势1
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Andr
2017-11-22 10:55:34
463
原创 Android开发之漫漫长途 Ⅴ——Activity的显示之ViewRootImpl的PreMeasure、WindowLayout、EndMeasure、Layout、Draw
Android开发之漫漫长途 Ⅴ——Activity的显示之ViewRootImpl的PreMeasure、WindowLayout、EndMeasure、Layout、Draw
2017-11-13 10:57:58
670
原创 Android开发之漫漫长途 Ⅳ——Activity的显示之ViewRootImpl初探
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是And
2017-11-10 17:26:34
516
原创 Android开发之漫漫长途 Ⅲ——Activity的显示之Window和View(2)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Andr
2017-11-10 17:11:15
303
原创 Android开发之漫漫长途 Ⅱ——Activity的显示之Window和View(1)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Androi
2017-11-10 17:10:28
391
原创 Android开发之漫漫长途 Ⅰ——Android系统的创世之初以及Activity的生命周期
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Androi
2017-11-10 17:09:11
370
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人