Opengl ES
-
什么岗位需要学习 OpenGL ES ?说说 3.X 的新特性
什么是 OpenGL ES OpenGL ES 是一种为嵌入式系统和移动设备设计的3D图形API(应用程序编程接口)。它是标准 OpenGL 3D 图形库的一个子集,专门…
-
使用 Linux 驱动程序在苹果 M1 上实现 OpenGL 4.6 + OpenGL ES 3.2
为 Mesa 开发 AGX Gallium3D 驱动程序的 Asahi Linux 项目现已成功实现了 OpenGL 4.6 和 OpenGL ES 3.2 的一致性。这对于苹果 …
-
OpenGLES 3D 模型
OpenGLES 3D 模型本质上是由一系列三角形在 3D 空间(OpenGL 坐标系)中构建而成,另外还包含了用于描述三角形表面的纹理、光照、材质等信息。 构建一些规则的 3D …
-
OpenGL ES 图像基本处理:腐蚀、膨胀、边缘检测
前文我们详细讲了图像锐化的基本原理,本文再介绍一下图像基本处理之腐蚀、膨胀和边缘检测,它们在图像处理和计算机视觉领域有着广泛的应用。 图像腐蚀(Image Erosion):用于缩…
-
什么是图像锐化?OpenGL ES 如何实现图像锐化?
什么是图像锐化? 图像锐化是一种图像处理技术,其目的是增强图像中的细节和边缘,使图像看起来更加清晰。这一过程通常涉及到突出图像中的高频信息,特别是强调像素之间的灰度变化。 通过增强…
-
OpenGL ES 如何渲染 16bit 图像(P010)?
16bit 图像(P010) 前面讨论关于 YUV 图像 NV21、YUYV 等格式的处理,都是 8 bit YUV 格式,即每个 Y、U、V 分量分别占用 8 个 bit (一个…
-
OpenGL ES 3.0 帧缓冲区失效
很多朋友都听说过 glInvalidateFramebuffer(帧缓冲区失效)这个 API ,很多读者私信问过很多次:帧缓冲区失效应该怎么使用?在什么条件下使用?有什么好处? 函…
-
X.Org 的 GLAMOR 新增对 OpenGL ES 3.0 着色器的支持
上周合并到 X.Org 服务器的 2D-acceleration-via-OpenGL GLAMOR 代码支持 OpenGL ES 3.0 (GLES3) 着色器。 Konstan…
-
你是怎样录制 OpenGL ES 的渲染结果?
我们使用OpenGL ES将摄像头数据绘制至手机屏幕。如果我们需要对图像数据进行了美颜等处 理,这些处理都是在着色器中完成的,那么我们如何从着色器拿到数据然后进行编码生成视频呢? …
-
OpenGL ES Shader 怎样绘制一颗“心”
今天讲一下绘制心形的两种方式,主要是为了扩展一下绘制复杂形状的思路,为后面讲特效做一些简单的铺垫。 心形绘制可以参考 ShaderToy 上的代码:https://www.shad…
-
OpenGL ES 动态贴纸实现
动态贴纸是人脸特效中的一种的效果体现(基于人脸识别SDK)。比如抖音、快手等短视频应用,或者美颜相机、美图秀秀等相机类应用。动态贴纸最常用的是2D,3D贴纸这里不做介绍。 2D贴纸…
-
OpenGL ES 如何使用 AHardwareBuffer 进行渲染
GraphicBuffer 是Android设计的一种高性能 buffer,其具备一些比较优越的特性,如: 这几个特性可以实现的功能有: 但在GraphicBuffer在使用时存在…
-
Opengl ES之颜色混合
关于混合,其实我们在之前的文章中也有使用到混合的功能了,例如在 Opengl ES之水印贴图 使用混合实现水印贴图。 什么是颜色混合? 颜色混合就是把两种颜色按某种规则混合起来得到…
-
OpenGL ES 3.0 怎样将着色器程序二进制化
之前有位 VIP 读者提问:C++ 如何将 OpenGL ES 的着色器程序二进制(保存),然后在其他地方加载使用?现在写篇文章介绍下。 将着色器程序二进制化(Shader Pro…
-
什么是裁剪测试?在Opengl中如何使用裁剪测试
什么是裁剪测试 剪裁测试用于限制绘制区域,在 OpenGL 中启用裁剪测试可以在屏幕或者帧缓冲上指定一个矩形区域,然后在该矩形区域内绘制,只有在该区域内的片元才有机会最终进入帧缓冲…
-
Opengl ES之转场动画
转场 什么是转场效果?一般来说,就是两个视频画面之间的过渡衔接效果。在opengl中,图片的转场,其实就是两个纹理的过渡切换,一般会有两个纹理作为输入,一个是逐渐消失的纹理,一个是…
-
Metal 和 OpenGL ES 的差异,快速入门 Metal 开发
本文介绍Metal和Metal Shader Language,以及Metal和OpenGL ES的差异性,也是实现入门教程的心得总结。 Metal Metal 是一个和 Open…
-
Opengl ES 分屏滤镜的实现方式
本文分享 Opengl ES 中实现分屏滤镜的几种实现方式和一些细节点。还记得我们在在 Opengl ES之纹理贴图 一文中提到的分屏滤镜吗?当时我们的实现方式是通过GL_REPE…
-
OpenGL ES之多目标渲染(MRT)
今天给大家介绍一个OpenGL ES 3.0中的新特性,多渲染目标(Multiple Render Target)。 所谓的多渲染目标就是指将片元着色器中的输出对应到多个纹理上了,…
-
Opengl ES之纹理数组(2D纹理数组的使用)
今天的内容比较简单,给大家介绍一下纹理数组,它是OpenGL ES 3.0引入的一个新特性,它能让我们以数组的方式往shader中传递纹理。 2D纹理数组是OpenGL ES 3….