技术文章
-
你还不知道 OpenGL ES 和 EGL 的关系?
什么是 EGL EGL 是 OpenGL ES 和本地窗口系统(Native Window System)之间的通信接口,它的主要作用: 与设备的原生窗口系统通信; 查询绘图表面的…
-
OpenGL ES 3.0 FBO 离屏渲染
什么是 FBO FBO(Frame Buffer Object)即帧缓冲区对象,实际上是一个可添加缓冲区的容器,可以为其添加纹理或渲染缓冲区对象(RBO)。 FBO 本身不能用于渲…
-
OpenGL ES 3D 变换:模型,视图,投影与 Viewport
前言 本来打算直接写教程 04 的,但是想到3D 变换涉及的数学知识较多,往往是很多初学者的拦路虎(比如我自己)。 再加上OpenGL ES 2.0 不再提供 OpenGL ES …
-
给 Android WebRTC 增加美颜滤镜功能
视频采集渲染流程分析 在增加滤镜功能之前,需要对 WebRTC 视频采集的流程有一定了解。 WebRTC 中定义了 VideoCapture 接口类,其中定义了相机的初始化,预览,…
-
OpenGL ES 相机 LUT 滤镜
OpenGLES 相机 LUT 滤镜 左侧为 LUT 滤镜效果,右侧为原图 什么是 LUT ? LUT 是 Look Up Table 的简称,称作颜色查找表,是一种针对色彩空间的…
-
OpenGL ES 实现全景视频播放器
OpenGL ES学习实战(360全景视频播放器) 全景视频原理 一、拍摄设备 全景视频在拍摄时是多个摄像机同时在一个点向四面八方拍摄。下面在网上找了一个拍摄设备的图片。 摄像机 …
-
OpenGL ES 3.0 的 Transform Feedback 怎么用?
什么是 Transform Feedback Transform Feedback(变换反馈)是在 OpenGLES3.0 渲染管线中,顶点处理阶段结束之后,图元装配和光栅化之前的…
-
OpenGL ES 3D 模型的加载和渲染
OpenGL ES 3D 模型加载和渲染 3D 模型渲染 上一节简单介绍了常用的 3D 模型文件 Obj 的数据结构和模型加载库 Assimp 的编译,本节主要介绍如何使用 Ass…
-
Android屏幕刷新机制—VSync、Choreographer 全面理解!
一、背景和疑问在Android中,当我们谈到 布局优化、卡顿优化 时,通常都知道 需要减少布局层级、减少主线程耗时操作,这样可以减少丢帧。如果丢帧比较严重,那么界面可能会有明显的卡…
-
OpenGL ES + MediaPlayer 渲染播放视频+滤镜效果
之前曾经写过用SurfaceView,TextureView+MediaPlayer 播放视频,和 ffmpeg avi 解码后SurfaceView播放视频 ,今天再给大家来一…
-
OpenGL ES 如何传输一个超大数组给着色器程序
如何传输一个超大数组给着色器程序? 在 OpenGL ES 图形图像处理中,会经常遇到一种情况:如何将一个超大的数组传给着色器程序? 目前常用的有三种方式: 使用将数组加载到 2D…
-
Android 图形绘制的 6 种方式
图形绘制概述 Android平台提供丰富的官方控件给开发者实现界面UI开发,但在实际业务中经常会遇到各种各样的定制化需求,这必须由开发者通过自绘控件的方式来实现。通常Android…
-
OpenGL 屏幕成像和渲染原理解析
1.CPU与GPU CPU内部组成: GPU内部组成: ALU:算术逻辑单元,是能实现多组算术运算和逻辑运算的组合逻辑电路。 CPU和GPU因为设计之初需求就不一样,所以它们的组成…
-
MediaCodec 、x264、faac 实现音视频编码并通过 rtmp 协议实现推流
前言 咱们回顾一下前面 2 篇文章,主要讲解了如何搭建 rtmp 直播服务器,和如何开发一款具有拉流功能的 Android 播放器。那么现在有了播放端和直播服务器还缺少推流端。该篇…
-
语义Web,Web3流派一 ——Web3简析系列之(2)
语义网不是一个独立的网络,而是当前的这个网络的显示的数据的能力将会大大提高,这样语义网建设的进展就将有助于创造出引人注目的全新功能。
-
从Web1.0到Web2.0 ——Web3简析系列之(1)
一、前言 Web3.0概念自2021年第四季度突然火起来,如图1所示为Web3.0的搜索热度统计。然而,业界还远远没有到统一概念Web3.0的时候。对于Web3.0的概念、内涵,业…
-
WebRTC 教程系列1
来源:Engineering Semester 内容整理:李昊勇 本文是 Engineering Semester 的 WebRTC 教程第一部分,主要介绍了 WebRTC 是什么…
-
一文简述FFmpeg
FFmpeg 是一款开源软件,用于生成处理多媒体数据的各类库和程序。FFmpeg可以转码、处理视频和图片(调整视频、图片大小,去噪等)、打包、传输及播放视频。
-
WebRTC 开发入门2:WebGL 及其在 WebRTC 中的应用
了解 WebGL 的基础概念并进行实践,更好的理解不同框架带来的便捷及优势。
-
WebRTC 开发入门与实践(音视频开发小白视角)
WebRTC 技术已经广泛在各个行业及场景中被应用,但对多数开发者来说,实时音视频及相关技术却是比较不常接触到的。 作为一名 Web 开发者,WebRTC 这块的概念着实花了不少时…