
OpenGL ES 3.0
文章平均质量分 63
OpenGL ES 3.0 相关
若之灵动
专注于移动应用研发
展开
-
Android OpenGL ES 3.0 FBO 离屏渲染
FBO:Frame Buffer Object,即帧缓冲区对象,实际上是一个可添加缓冲区的容器,可以为其添加纹理和缓冲区对象。FBO本身不能用于渲染,只有添加了纹理或者渲染缓冲区之后才能作为渲染目标,仅提供三种附着,颜色附着、深度附着、模板附着。原创 2022-11-24 12:52:59 · 1647 阅读 · 0 评论 -
Android OpenGL ES 3.0 3D模型介绍以及加载和渲染
模型加载可以使用模型加载库 Assimp,Assimp 全称为 Open Asset Import Library,可以支持几十种不同格式的模型文件的解析(同样也可以导出部分模型格式),Assimp 本身是 C++ 库,可以跨平台使用。常用的模型文件格式有 .obj、.max、.fbx .3ds 等,其中.obj是 Wavefront 科技开发的一种几何体图形文件格式,包含每个顶点的位置、纹理坐标、法线,以及组成面(多边形)的顶点列表等数据,应用较为广泛。模型的数据量是非常大的,这里做了部分截取。原创 2022-11-24 00:28:37 · 3938 阅读 · 1 评论 -
Android OpenGL ES 3.0 相机抖音滤镜
灵魂出窍滤镜的原理:根据偏移量 offset,进行 scale 变换纹理坐标,分别进行采样后,再按照混合系数进行加权混合。分色偏移滤镜原理:基于原纹理坐标进行偏移,分别采样后再按照 RGBA 通道进行合成,组成一个新的颜色。画中画:将原纹理采样到屏幕中间的一块区域中,而屏幕之外区域的纹理坐标进行缩放之后再进行采样。旋转的圆:对某一半径内的所有像素,按照偏移量转换成的角度进行旋转,半径之外的像素正常渲染。原创 2022-11-23 23:43:24 · 257 阅读 · 0 评论 -
Android OpenGL ES 3.0 LUT 滤镜
称作颜色查找表,是一种针对色彩空间的管理和转换技术。它可以分为一维 LUT(1D LUT) 和 三维 LUT(3D LUT),其中三维 LUT 比较常用。简单来讲,LUT 就是一个 RGB 组合到另一个 RGB 组合的映射关系表。LUT 滤镜是一种比较经典的滤镜,原创 2022-11-23 15:16:58 · 763 阅读 · 0 评论 -
Android OpenGL ES 3.0 相机基础滤镜
这个方法用于更新YUV数据,由于数据是从相机过来的,跟opengl 不是一个线程,所以需要通过内存共享的方式进行拷贝。分屏滤镜的原理是在多个指定区域内对整个纹理进行下采样(缩小),从而实现整个图像在多个区域内多次显示。动态网格主要是将纹理划分为多个网格,然后根据一个偏移量动态改变网格的宽度。mod:返回 x – y * floor (x / y) ,即求模计算 %这块主要是顶点数据以及材质,所以跟上边的是一样的。这块主要是顶点数据以及材质,所以跟上边的是一样的。floor:返回小于等于 x 的最大整数值。原创 2022-11-23 00:48:22 · 655 阅读 · 0 评论 -
Android OpenGL ES 3.0 粒子特效
定义粒子,通常一个粒子有一个生命值,生命值结束该粒子消失,还有描述粒子在(x, y, z)三个方向的位置(偏移)和运动速度,以及粒子的颜色等属性。// 粒子速度//r,g,b,a //粒子颜色// 粒子的位置//粒子出现的时长dx = 0.0f;dy = 0.0f;dz = 0.0f;//粒子的生命值}/*操作符重载 < */}};原创 2022-11-22 14:38:26 · 1277 阅读 · 0 评论 -
Android OpenGL ES 3.0 开发 :3D实例化(Instancing 3D)
OpenGL ES 实例化(Instancing)是一种只调用一次渲染函数就能绘制出很多物体的技术,可以实现将数据一次性发送给 GPU ,告诉 OpenGL ES 使用一个绘制函数,将这些数据绘制成多个物体。表示当前正在绘制实例的 ID ,每个实例对应一个唯一的 ID ,通过这个 ID 可以轻易实现基于一个物体而绘制出位置、大小、形状或者颜色不同的多个物体(实例)。,表示需要渲染的实例数量,调用完实例化绘制函数后,我们便将绘制数据一次性发送给GPU,然后告诉它该如何使用一个函数来绘制这些实例。原创 2022-11-22 00:17:13 · 1721 阅读 · 0 评论 -
Android OpenGLES3.0 开发 :光照基础
散射光表示从物体表面向各个方向均匀反射的光。散射光的强度与入射光的强度及入射角密切相关,所以当光源位置发生变化,散射光效果也会发生明显变化。镜面光是由光滑物体表面反射的方向比较集中的光,镜面光强度不仅依赖于入射光与法向量的夹角,也依赖于观察者的位置。片元着色器:将顶点着色器计算的光线直接跟采样器得到的颜色相乘得到了最终的颜色。将MVP矩阵、模型矩阵、光的位置、光的颜色与观察者的位置传给shader。顶点着色器根据传入的光的数据以及位置信息计算光线的强度,注释写的比较清楚。原创 2022-11-21 19:10:40 · 1092 阅读 · 0 评论