
OpenGL
文章平均质量分 85
OpenGL 学习的相关笔记
Jave.Lin
积跬步至千里
展开
-
DX 的 HLSL 和 GL 的 GLSL的 矩阵构建的行列区别
最近在做一些 DXBC to HLSL 的工作,其中遇到一些 DX HLSL 中的 `mul(pos, matrix)` 和 GL GLSL 中的 `mul(matrix, pos)` 的差异为了更加方便做 shader 逆向,所以多记录一下 DX, GL 中的一些区别原创 2022-06-23 15:21:37 · 1046 阅读 · 2 评论 -
OpenGL ES 开发指南
Qualcomm® Adreno™ OpenGL ESDeveloper Guide 提取码: ns27原创 2021-07-22 11:49:08 · 363 阅读 · 0 评论 -
LearnGL - 18.2 - Instancing/Instanced Rendering - 多实例渲染3 - using TBO 使用缓存纹理对象
文章目录@[TOC]实践应用层C++Vertex Shader运行效果GPU 负载ReferencesLearnGL - 学习笔记目录上些篇:LearnGL - 18 - Instancing/Instanced Rendering - 多实例渲染1 - glDrawElementsInstanced,使用的是 UBO 的方式来作为多实例属性,但是 UBO 大小限制相当大LearnGL - 18.1 - Instancing/Instanced Rendering - 多实例渲染2 - glVer原创 2020-09-03 13:02:18 · 498 阅读 · 0 评论 -
OpenGL - TBO (Texture Buffer Object) - 缓存纹理 - Instancing Using TBO 前置篇
准备尝试一下 TBO 的方式来实现 Instancing 渲染,所以提前了解一下 TBO 是什么,怎么用,是很有必要的TBO 就是:Texture Buffer Object 的缩写,意思是:缓存纹理对象简单的使用,可以参考如下内容如下内容引用:OpenGL 红宝书 第9版 第6章 - 缓存纹理缓存纹理缓存纹理是一种特殊形式的纹理,它允许从着色器中直接访问缓存对象的内容,将它当作一个巨大的以为纹理使用。缓存纹理与一般的以为纹理相比有一些限制和不同,但是在代码中所体现出的形态是非常类似的。我们可.原创 2020-09-03 10:36:56 · 5420 阅读 · 4 评论 -
LearnGL - 18.1 - Instancing/Instanced Rendering - 多实例渲染2 - glVertexAttribDivisor - 绘制600W个陨石
文章目录实践应用层AttributeSetting_tAttributeSetting_t 外部的使用Vertex Shader运行效果30000 个陨石60000 个陨石12W 个陨石24W48W好烦,直接 600W 吧!600W 数据分析后续优化LearnGL - 学习笔记目录上一篇:LearnGL - 18 - Instancing/Instanced Rendering - 多实例渲染1 - glDrawElementsInstanced,使用的是 UBO 的方式来作为多实例属性,但是 UBO原创 2020-09-03 01:21:54 · 1949 阅读 · 0 评论 -
LearnGL - 18 - Instancing/Instanced Rendering - 多实例渲染1 - glDrawElementsInstanced
文章目录Instancing - 多实例渲染Draw Instancing API - 绘制的接口实践应用层Vertex Shader绘制效果draw call问题Uniform block size 的大小限制获取 单个UBO大小 的最大限制ReferencesLearnGL - 学习笔记目录Instancing - 多实例渲染引用 OpenGL 红宝书 - 第9版中的部分描述:实例化(instancing)或者多实例渲染(instanced rendering)是一种连续执行多条相同的渲染原创 2020-09-02 21:05:51 · 2328 阅读 · 3 评论 -
LearnGL - 17 - Geometry Shader - 几何着色器
文章目录示例1Vertex ShaderGeometry ShaderFragment Shader运行效果几何着色器在管线的位置Geometry Shader 中主要部分接受的输入图元类型接受的输出图元类型示例2Vertex ShaderGeomestry ShaderFragment Shader运行效果示例3 - 可调试显示运行时的顶点法线实现思路应用层代码Vertex ShaderGeometry ShaderFragment Shader运行效果Fur ShadingReferencesLea原创 2020-09-01 16:18:47 · 667 阅读 · 0 评论 -
LearnGL - 16 - UBO(Uniform Block Object) - 实现 Shader Program Object 之间的数据共享
文章目录使用流程实践根据 ubo 名称,获取所有使用了这个 ubo 块的在该 shader 中 ubo 块的索引根据该 ubo 块中的每个属性名字,获取该 ubo 块的每个属性的索引值根据该 ubo 块中每个属性索引值,获取 offset(偏移)、size(大小,这里的大小理解为:元素数量)、type(数据类型)给这个 ubo 块 分配的 binding point index创建一个 GL_UNIFORM_BUFFER 的缓存对象 ubo并将 ubo 绑定到 上面分配的 binding point ind原创 2020-08-14 13:29:57 · 1109 阅读 · 0 评论 -
OpenGL - UBO 前置内容
文章目录数据块接口uniform 块指定着色器中的 uniform 块uniform 块的布局控制访问 uniform 块中声明的 uniform 变量从应用程序中访问 uniform 块buffer 块in/out 块、位置和分量References下面直接引用了 OpenGL RedBook 第九版 - 第2章 的内容数据块接口着色器与应用程序之间,或者着色器各阶段之间共享的变量可以组织为变量块的形式,并且有的时候必须采用这种形式。uniform 变量可以使用 uniform 块,输入和输出变量原创 2020-08-14 11:34:27 · 818 阅读 · 0 评论 -
LearnGL - 15.3 - 渲染顺序
文章目录渲染队列核心排序函数不透明几何体半透明几何体其它几何体查看半透明效果正常效果不正常的效果LearnGL - 学习笔记目录前一篇:LearnGL - 15 - Skybox - 天空盒 - 优化天空盒的渲染队列 - 有说一丢丢关于渲染顺序的优化,这个是直接使用 渲染队列值 来排序的这一篇:我们对将区别对 不透明几何体、半透明几何体、其他几何体 的排序本人才疏学浅,如有什么错误,望不吝指出。渲染队列之前有提到过,现在再复制一篇: enum class RenderQueueType {原创 2020-08-12 12:03:23 · 366 阅读 · 0 评论 -
LearnGL - 15.2 - Refraction - 折射效果
文章目录先看看效果折射现象refract 函数的使用Shader 调整my_lighting.glsl添加材质属性添加了着色器信息结构体添加了计算折射的函数提取了着色器函数外部调用ReferencesLearnGL - 学习笔记目录前一篇:LearnGL - 15.1 - Reflection - 反射效果 - 了解了立方体贴图(环境贴图、天空盒)反射效果这一篇:实现类似折射的效果本人才疏学浅,如有什么错误,望不吝指出。扯一些闲话:前几天和小舅子玩了玩 PS4:《Hell Driver》原创 2020-08-12 10:27:45 · 807 阅读 · 0 评论 -
LearnGL - 15.1 - Reflection - 反射效果
文章目录先看看效果思路构造 cube map、纯颜色环境光计算反射向量添加对环境反射的强度 ReflectionK完整的 my_global.glsl完整的 my_lighting.glslReferencesLearnGL - 学习笔记目录前一篇:LearnGL - 15 - Skybox - 天空盒 - 了解了如何构造一个天空盒这一篇:实现类似环境反射的效果,我们可以使用纯颜色、天空盒来做反射采样的颜色。总体来说我现实的这种比较简单,不过很多都是基于之前的内容类实现的。本人才疏学浅,如有什么原创 2020-08-07 14:14:19 · 364 阅读 · 0 评论 -
LearnGL - 15 - Skybox - 天空盒
文章目录先看效果思路实践准备一个 Cube再准备好 CubeMap(立方体贴图)天空盒子的 Shader效果1在应用层设置传入的视图变化矩阵前,删除移动的量在GLSL shader层移动视图变化矩阵的移动量效果3添加其他几何体看看深度问题效果4效果5天空盒边界接缝处瑕疵问题边界缝隙解决ReferencesLearnGL - 学习笔记目录前些篇:LearnGL - 11.1 - 实现简单的Gouraud-Phong光照模型LearnGL - 11.2 - 实现简单的Phong光照模型LearnG原创 2020-08-06 22:45:16 · 637 阅读 · 0 评论 -
OpenGL API - glMapBuffer - 可用于获取缓存对象指针
因为有需要对网格顶点属性实时更新,所以我之前使用的 API 是:glBufferData// method 1:glBindBuffer(GL_ARRAY_BUFFER, vbos[(int)MeshVboType::POSITION]);glBufferData(GL_ARRAY_BUFFER, arr->bytes_size(), arr->ptr(), _dynamic ? GL_DYNAMIC_DRAW : GL_STATIC_DRAW);checkGLError();但是从原创 2020-07-31 11:59:07 · 1516 阅读 · 0 评论 -
LearnGL - 14 - MultiLight - 多光源
文章目录C++ 应用层的代码改动和核心代码修改前修改后Shader - my_lighting.glsl 核心改动改动前改动后效果放置多个光源效果添加了灯光 Gizmos 显示控制添加了渲染队列控制渲染状态整体操作演示ReferencesLearnGL - 学习笔记目录前些篇:LearnGL - 11.1 - 实现简单的Gouraud-Phong光照模型LearnGL - 11.2 - 实现简单的Phong光照模型LearnGL - 11.3 - 实现简单的Blinn-Phong光照模型Lea原创 2020-07-31 09:43:56 · 582 阅读 · 0 评论 -
LearnGL - 13.1 - SpotLight - 聚光灯
文章目录演示完整 ShaderSpot Light Gizmos - 聚光灯的 Gizmos 绘制C++ 生成网格代码LearnGL - 学习笔记目录前一篇:LearnGL - 13 - PointLight - 点光源 实现了 点光源 的最简单的着色方式这篇:我们尝试给 “聚光灯” 类型的光源本人才疏学浅,如有什么错误,望不吝指出。其实 聚光灯 与 点光源 很类似,以为区别比较大的是: 聚光灯 有光照的张角范围,而不像 点光源 的张角是全方位的范围。所以相比上一篇来说,代码的添加与调整原创 2020-07-29 22:04:05 · 885 阅读 · 0 评论 -
LearnGL - 13 - PointLight - 点光源
文章目录点光源与方向光比较光衰减距离衰减作用范围衰减对应的 Inspector 面板参数演示光源的切换ShaderReferencesLearnGL - 学习笔记目录前些篇:LearnGL - 11.1 - 实现简单的Gouraud-Phong光照模型LearnGL - 11.2 - 实现简单的Phong光照模型LearnGL - 11.3 - 实现简单的Blinn-Phong光照模型LearnGL - 11.4 - 实现简单的Flat BlinnPhong光照模型这些演示光照计算中,都是原创 2020-07-28 17:28:01 · 851 阅读 · 0 评论 -
投影矩阵的推导(Deriving Projection Matrices)
文章目录概述: 什么是投影?正交投影(Orthographic Projection)透视投影(Perspective Projection)总结原文:Deriving Projection Matrices在学习 LearnGL - 学习笔记目录 之前找过一些关于 透视矩阵 的教程,发现有很多写的不错的文章,如:OpenGL Transformation,但这里我只列出一个写的 最清晰 的,就上面原文的内容 Deriving Projection Matrices,因为作者将每一项的推导过程写的相转载 2020-07-27 17:54:42 · 1799 阅读 · 0 评论 -
extensions/ARB/ARB_shading_language_include.txt API 中文翻译
原文:extensions/ARB/ARB_shading_language_include.txtOverview - 概述This extension introduces a #include GLSL directive to allow reusingthe same shader text in multiple shaders and defines the semanticsand syntax of the names allowed in #include directive翻译 2020-07-24 08:38:38 · 732 阅读 · 0 评论 -
LearnGL - 12 - GLSL include - GL_ARB_shading_language_include (Extensions扩展) - 各种踩坑
文章目录GL_ARB_shading_language_include 不支持?留意使用的显卡是否集成显卡设置使用独立显卡References在 GLSL 编写 shader 时,发现不能直接使用 #include"file_name.xxx"写 shader 起来相当麻烦然后我还想着去添加一下 GLSL Include 的功能GL_ARB_shading_language_include 不支持?结果发现 OpenGL 4.5 竟然不支持 GL_ARB_shading_language_incl原创 2020-07-24 18:20:51 · 2104 阅读 · 6 评论 -
LearnGL - 11.5 - 矩阵04 - 法线从对象空间变换到世界空间
文章目录Unity 中的处理OpenGL 处理总结ReferencesUnity 中的处理在 Unity ShaderLab 中,你可能会看到内置的函数:// Transforms normal from object to world spaceinline float3 UnityObjectToWorldNormal( in float3 norm ){#ifdef UNITY_ASSUME_UNIFORM_SCALING return UnityObjectToWorldDir原创 2020-07-22 18:33:35 · 979 阅读 · 2 评论 -
LearnGL - 11.4 - 实现简单的Flat BlinnPhong光照模型
文章目录GLSL flatFlat 风格ShaderReferencesLearnGL - 学习笔记目录前些篇:LearnGL - 11.1 - 实现简单的Gouraud-Phong光照模型LearnGL - 11.2 - 实现简单的Phong光照模型LearnGL - 11.3 - 实现简单的Blinn-Phong光照模型了解了 Gouraud-Phong、Phong、Blinn-Phong 光照模型的基本认识。这篇:我们将对 Flat Blinn-Phong 光照模型实现一个简单的实现原创 2020-07-21 15:06:52 · 563 阅读 · 0 评论 -
GLSL 中实现类似 Unity nointerpolation
文章目录Unity CG nointerpolationUnity Surface Shader 不支持GLSL 中实现类似的使用 flat 关键字GLES 2.0 没有不支持使用 ddx, ddy 来实现ReferencesUnity CG nointerpolation在 Unity 中我们可以在 VS 中对某个顶点传到 FS 的数据不进行插值,可以指定 nointerpolation 关键字即可,如:struct v2f { float4 vertex : SV_POSITION; fl原创 2020-07-21 14:42:08 · 824 阅读 · 0 评论 -
LearnGL - 11.3 - 实现简单的Blinn-Phong光照模型
文章目录Blinn-PhongPhong 的高光计算量Blinn-Phong 的高光计算量在 GGB 看看数值效果Blinn Phong in vsBlinn Phong in fs运行效果气球猫的效果环境光Phong 中环境光效果稍微调整一下环境光的处理完整的气球猫 三种 ShaderPhong ShaderGouraud Phong ShaderBlinn Phong ShaderLearnGL - 学习笔记目录前些篇:LearnGL - 11.1 - 实现简单的Phong光照模型LearnG原创 2020-07-21 11:05:27 · 571 阅读 · 0 评论 -
GLSL 中奇怪的问题 - [已解决] - 自己马虎的问题
今天在调试 GLSL 是,发现有些光照效果就是不对,然后我发现,传入的都是没有问题的。直到我将法线变换的代码该写一下,就没有问题的。vec3 ObjectToWorldNormal(vec3 n) { // return normalize((IT_mMat * vec4(n,0))).xyz; // 等价于:transpose(I_mMat) * vec4(n, 0) // 下面 normalize(mat3(IT_mMat) * n) 的结果才是正确的, normalize((IT_mMat *原创 2020-07-20 19:48:47 · 326 阅读 · 0 评论 -
LearnGL - 11.2 - 实现简单的Phong光照模型
文章目录Phong、Gouraud-Phong 的区别LearnGL - 学习笔记目录前一篇:LearnGL - 11.1 - 实现简单的Phong光照模型 了解了 Phong 光照模型的基本认识。这篇:我们将对 Gouraud-Phong 光照模型实现一个简单的实现本人才疏学浅,如有什么错误,望不吝指出。Phong、Gouraud-Phong 的区别在前一篇了解到 Phong 的实现,主要都是依赖 Vertex Shader(顶点着色器)阶段来计算的。而 Gouraud-Phong 比较大原创 2020-07-21 11:05:20 · 549 阅读 · 0 评论 -
LearnGL - 11.1 - 实现简单的Gouraud光照模型 & dot 点积/点乘的作用
文章目录PhongReferencesLearnGL - 学习笔记目录前一篇:LearnGL - 11 - 光与颜色前置篇这篇:我们将对 Phong 光照模型实现一个简单的实现本人才疏学浅,如有什么错误,望不吝指出。Phong在百度百科中也有简介:Phong光照模型Phong 着色器模型,中文也叫:冯氏着色法,该光照模型是很简单的光照模型,只有:环境光、漫反射、高光。环境光 用于模拟物体反射周围的物体颜色,在 phong 中,只是纯颜色值作为环境光直接叠加。漫反射 用于模拟光入射到物体原创 2020-07-21 11:05:10 · 2498 阅读 · 0 评论 -
LearnGL - 11 - 光与颜色前置篇
文章目录光子眼球大脑接收物体颜色总结ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。说到颜色,就会联系到光。个人理解:颜色,就是我们的大脑对某种生物信号的识别,这种生物信号是由:眼球感光后的视网神经编码的生物电信号。分不同光波编码可见光大脑接收解码光子眼球大脑接收呈像光子光是什么?是如何产生的?用通俗之言解读,让你瞬间走进光的世界 - 说的是能量溢出也就是说光子是基本上是从一个物质上能量溢出后而喷发出来的微粒子而光子是按一定的波形运动的微粒子原创 2020-07-16 11:34:03 · 574 阅读 · 0 评论 -
LearnGL -10 - 添加各种封装便于后续管理、添加Hierarchy、Inspector 面板
文章目录Camera RenderLayer - 相机的渲染对象的层级设置GameObject Layer - 游戏对象的层级设置MeshFilter inspector - MeshFilter 可以查看网格的一些信息Material - 使用的材质预览Hierarchy - 层级对象的面板功能总结LearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上些篇:LearnGL - 09 - Include IMGUI - Dear ImGui - 添加Dashboard、Deb原创 2020-07-10 19:49:46 · 479 阅读 · 0 评论 -
LearnGL - 09 - Include IMGUI - Dear ImGui - 添加Dashboard、Debugging Panel
文章目录Dashboard - 仪表板CodeContextMenu - 上下文菜单/右键菜单Debugging Panel - 调试面板Shortcuts - 快捷键Informations - 其他信息Time - 时间相关的Draw State - 绘制状态Camera - 相机Reset - 重置Enabled Camera Control - 启用相机控制Transform - 变换CodeReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上些篇:原创 2020-07-03 15:51:52 · 1861 阅读 · 0 评论 -
Introduction to Turing Mesh Shaders
顺便一提:UE5 中的 Nanite 技术,虚拟多边形,官方暂时也未公布技术细节,说明几何体可以不限制顶点数量、多边形的数量,可以做到非常密集的的数量,密集到一个像素还可以容纳到数个多边形。目前我也完全不知道是怎么个思路,TQL。多人认为 Nanite 是用 Mesh Shader 来实现的::如何评价虚幻5引擎的Nanite虚拟微多边形几何体技术?。技术不断在升级改革(科技服务在升级、在变化)。唯独不变的还是数学的内容,所以说,数学的魅力有多大(运算模型不变)。Mesh Shader 是201翻译 2020-07-01 19:19:27 · 1811 阅读 · 1 评论 -
LearnGL - 08.1 - Camera - GLM 版
文章目录ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上些篇:LearnGL - 08 - Camera - linmath.h 版,了解OpenGL 的一些几何变换,其中包含了摄像机的封装。LearnGL - 08.0.1 - Camera - GLM版前置篇,了解 GLM 的简单介绍,是很适合 OpenGL 数学库使用的。这一篇:我们还是实现一样的功能,只不过是:GLM 线性数学库版本的(这个库不有线性代数库,也包含了其他的)。Refer原创 2020-06-30 11:26:57 · 501 阅读 · 0 评论 -
LearnGL - 08.0.1 - Camera - GLM版前置篇
文章目录GLM 简单介绍Git 仓库使用ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上一篇:LearnGL - 08 - Camera - linmath.h 版,了解OpenGL 的一些几何变换,其中包含了摄像机的封装。这一篇:因为 上次封装使用的 Camera 使用的线性代数库 是: linmath.h ,使用起来很不方便,所以这边我们先了一下:GLM,后面再实现一篇 GLM 的 Camera,并将之前所有用到 linmath.h 的地方的内容,都原创 2020-06-29 23:37:58 · 312 阅读 · 0 评论 -
LearnGL - 08 - Camera - linmath.h 版
文章目录ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上一篇:LearnGL - 07 - DrawCube - 旋转Cube、深度缓存/测试,了解如何绘制一个Cube立方体、旋转3D 几何体、深度缓存、深度测试都了一些基础的认识。这一篇搬砖:矩阵来实现 摄像机/镜头 类,便于测试项目中对镜头的:位移,和部分轴向的旋转。看了一下 摄像机 这篇实现的够详细的,再搬砖一下。References摄像机...原创 2020-06-29 19:57:57 · 727 阅读 · 0 评论 -
LearnGL - 07 - DrawCube - 旋转Cube、深度缓存/测试
文章目录构造顶点、索引、uv数据绘制 36 个索引对应的顶点让 Cube 旋转起来绘制效果深度测试开启深度测试设置深度比较枚举清理缓存再次绘制效果ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上些篇:LearnGL - 06 - Matrix - 矩阵01,了解了矩阵就是定义一个坐标空间的轴向LearnGL - 06.1 - Matrix - 矩阵02,了解了一些矩阵的乘法的维度限制LearnGL - 06.2 - Matrix - 矩阵03,了解原创 2020-06-28 16:58:36 · 999 阅读 · 0 评论 -
LearnGL - 06.2 - Matrix - 矩阵03 - 逆矩阵、行列式、伴随矩阵、余子式、代数余子式、练习
文章目录逆矩阵-inverse matrix行列式-determinant伴随矩阵-adjugate、adjoint matrix余子式-Cofactor、Minor余子项余子式代数余子式-Algebraic cofactor、Minor伴随矩阵-二维的例子ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上些篇:LearnGL - 06 - Matrix - 矩阵01,了解了矩阵就是定义一个坐标空间的轴向LearnGL - 06.1 - Matrix原创 2020-06-24 22:15:05 · 2185 阅读 · 0 评论 -
LearnGL - 06.1 - Matrix - 矩阵02 - 向量空间、向量空间的维度、为何矩阵乘法要有 [M x N] * [N * P] 的 N 要相等的限制
文章目录矩阵乘法为何有维度限制?什么是向量空间?什么是向量空间的维度?理解为何有这个限制LearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上一篇:LearnGL - 06 - Matrix - 矩阵01,了解了矩阵就是定义一个坐标空间的轴向这一篇:这篇再讲一丢丢关于矩阵的乘法内容,这些都是个人看的零散资料总结的内容。矩阵乘法为何有维度限制?就是 3x3 不能和 4x1 的矩阵相乘。但是3x3 的矩阵可以和 3x1 的矩阵向量。第一次遇到这个限制的同学,在看教科书上可能只会原创 2020-06-22 15:43:48 · 424 阅读 · 0 评论 -
LearnGL - 06 - Matrix - 矩阵01 - 齐次坐标、缩放、旋转矩阵(欧拉 Euler 角)
文章目录点在坐标系下的定位3x3扩展4x4添加偏移量齐次坐标缩放矩阵旋转矩阵在 Shader 中实现一些旋转旋转顶点运行效果旋转纹理 UV运行效果总结ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上一篇:LearnGL - 05.3 - 封装 Main.cpp 中重复 GLFW代码,让新建的项目更方便的开展。这一篇:这篇我们在讲一丢丢关于矩阵的内容。本来我不想写关于矩阵的内容。因为要排版很多内容(Katex挺多),-_-!!!,但是想了一下,还是加上原创 2020-06-19 22:20:06 · 1373 阅读 · 0 评论 -
LearnGL - 05.3 - 封装 Main.cpp 中重复 GLFW代码
文章目录my_init.hmy_gl_check_error.hmy_simple_load_tex.h外部使用LearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上一篇:LearnGL - 05.2 - Texture - 实现类似2D UI流光动画。这一篇:到这篇,我终于忍不了了,太多重复代码了。所以我们将一些可复用代码整理一下,一些通用型比较强的功能都统统封装一下。这次先提取 Main 中的重复代码。后面再提炼:GameObject、Mesh、Camera、Mater原创 2020-06-16 21:13:12 · 260 阅读 · 0 评论 -
LearnGL - 05.2 - Texture - 实现类似2D UI流光动画
文章目录思路着色器创建三个纹理对象绑定到纹理单元加载三个纹理对象设置采样器采样对应的纹理单元传入 time 时间控制 uv 纹理坐标动画运行效果完整代码LearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上一篇:LearnGL - 05.1 - Texture Wrap Mode,了解到可以使用纹理坐标来滚动动画。这一篇:我们使用纹理坐标滚动动画 + 多纹理,实现类似 2D UI 流光动画实现过程与思路的参考可以查看我之前写的:Unity Shader - 实现类似UI遮罩流原创 2020-06-16 16:54:18 · 533 阅读 · 0 评论