314 words
简介 为了渲染一个巨大的地形,可能需要使用一个超大分辨率的纹理。大到装不进GPU的显存。128K*128K的纹理将消耗大概64GB的GPU显存。当GPU上的内存空间有限时,操作系统会使用虚拟内存来进行内存管理,根据需要将数据从驱动程序交换到CPU内存中。虚拟纹理提供相似的功能。 应用程序会决定每个mipmap层级中的哪些区域(瓦片tile)应当驻留在GPU显存中。一个tile通常为64kb,其分辨率取决于具体的纹理格式。在理想情况下,所需要的纹素数量应当与正在渲染的最终图像的分辨率成比例,并且与纹理本身分辨率无关。 优点能够把地表贴花预渲染到地形纹理 缺点高精度代表要分配更多的RT尺寸和内容,占用大量的显存和带宽 硬件支持虚拟纹理
179 words
记录工作中做到一些小玩意 星空,从ShaderToy上找的一个效果移植到Egret中。你的浏览器不支持播放该视频 ShaderToy FadeOut,渐变渐出你的浏览器不支持播放该视频 ShaderToy 飘雪你的浏览器不支持播放该视频 ShaderToy 星系初始版本,用到了Game101作业1的空间坐标转换、球形映射、Catmull-Rom 你的浏览器不支持播放该视频
230 words
概述记录从实时渲染4这本书里学到的种种,以及现有引擎中怎么运用、自己如何使用等 目录图形渲染管线利用给定的虚拟相机、三维物体、光源等信息,来生成或渲染一张二维图像 图形处理单元Transform变换着色基础纹理给出了纹理化过程的一般框架,以及如何在纹理表明上应用纹理贴图的过程 阴影光与颜色基于物理的着色基础局部光照全局光照 图像空间特效超越多边形体积和半透明渲染非真实感渲染多边形技术曲线和曲面管线优化加速算法高效着色虚拟现实相交测试方法图像硬件碰撞检测实时光线追踪

SDF

127 words
运用上文本可以使用SDF实现文本放大不失真,实现原理是根据贝塞尔曲线构建uvPDFGPUGems DFAOSigned Distance Field - 拳四郎的文章 - 知乎 SDF贴图生成8ssedt Signed Distance Field - 欧克欧克的文章 - 知乎 交互雾
97 words
简介考虑根据八方旅人分享的内容,做一个简单的游戏 内容 场景设计场景相关 后处理PostP 功能Function 性能优化及性能审核图形引擎实战:手游URP渲染管线升级 经验分享 - 搜狐畅游引擎部的文章 - 知乎
365 words
简介没想好 AOAO贴图SSAO计算一个球面所受到的光,但是实际上面所受到的光是半球面SSAO+HBAO计算多大面积可见,属于基于半球面的积分GTAO光从各个角度的结果不一样Ray-Tracing AO每帧每个像素发射一两根射线,在时序上进行数据的收集,完成球面采样的近似 雾效 抗锯齿 后处理常见的三种后处理 降低计算复杂度 渲染管线处理顺序,先阴影,再渲染物体,最后后处理 透明物体排序,由远及近,三个棍子重叠则根据中心点进行排序 移动端的Tile base rendering移动端存储芯片容易发热,使用TBR进行优化减少对 FrameBuffer 的读写 可以得到哪几个Tile被点光源照射到 FrameGraphUnitySRP的设计思想 V-Sync Technology防止画面割裂为了防止出现这种情况,在FrameBuffer全部写完后才计算下一帧
1.5k words
简介记录学习程序动画的记录 来源learn.unity.comDocs Animation RiggingProcedural Animation Video NotesMoveen tutorialyoutube 效果 你的浏览器不支持播放该视频 你的浏览器不支持播放该视频 类型Multi-Parent Constraint提供像父子对象的约束 Damped Transform阻尼变换约束允许阻尼从源游戏对象到受约束游戏对象的位置和旋转变换值。“保持目标”选项强制受约束对象始终瞄准源对象 ChainIK Constraint允许反转对游戏对象层次结构的控制,以便提供行为类似于链的操作。通过定义根和尖端游戏对象,链 IK 约束将能够找到并约束其间包含的所有游戏对象 TwistChain Constraint允许控制游戏对象链层次结构两端的世界旋转。根部和尖端旋转沿着链插值到游戏对象之间,以创建平滑的动画层次结构 Two Bone IK两个骨骼 IK 是一种约束,它将由 2 个骨骼组成的简单 FK 层次结构转换为可由目标游戏对象(类似手的控件)和提示游戏对象(类似肘的控件...
14k words
简介记录 Precomputed Radiance Transfer Global Illumination 的研究 预览 你的浏览器不支持播放该视频 来源预计算辐照度全局光照(PRTGI)从理论到实战 - AKG4e3的文章 - 知乎Unity移动端可用实时GI方案细节补充 - 方木君的文章 - 知乎10.3 球面函数和半球函数 - Justin的文章 - 知乎体探针漏光解决方案 - jackie 偶尔不帅的文章 - 知乎全局光照技术:从离线到实时渲染 思路 场景几何信息 探针获取 CubeMap,存储的数据过大,通过只存储指定数量的 Surfel 数据节省内存 实时光照计算 运行时计算每个 Surfel 受到的 radiance 为了计算屏幕像素得到光照,而不是单个 Surfel 的光照,需要将 Surfel 代表的环境光照信息编码到 Probe 上,像素着色时访问 Probe 得到其周围环境光照信息 光照信息编码 通过球谐函数和球谐系数和构成函数,可以得到给定方向上的光照颜色(对 radiance 进行编码) 根据 “当进行球面对称的核函数与原始信号函数的卷积...
7.8k words
简介记录常用的 Sprite Shader Glow(发光)叠加自发光颜色 Outline(描边) 12345678910111213141516171819202122232425half spriteLeft = tex2D(_MainTex, i.uv + half2(destUv.x, 0)).a;half spriteRight = tex2D(_MainTex, i.uv - half2(destUv.x, 0)).a;half spriteBottom = tex2D(_MainTex, i.uv + half2(0, destUv.y)).a;half spriteTop = tex2D(_MainTex, i.uv - half2(0, destUv.y)).a;half result = spriteLeft + spriteRight + spriteBottom + spriteTop;#if OUTBASE8DIR_ONhalf spriteTopLeft = tex2D(_MainTex, i.uv + half2(destUv.x, destUv....
908 words
hybridclrhybridclrC#原生热更方案TEngine具体使用框架 热更流程InitResourcesUpdateVersion获取最新版本数据 PackageVersion(PackageManifest_DefaultPackage.version)文件保存最新版本(2023-10-14-1140) UpdateManifest流程更新 Mainfest 清单 LoadCacheManifestOperation GetSandboxPackageHashFilePath(获取沙盒内包裹的哈希文件路径) 比对本地 hash 文件的md5值 和 文件计算出的 md5 码是否一致 不一致则清除本地缓存文件 一致则加载 Manifest 文件,根据其中的内容,初始化 AssetBundle和Asset、Asset和GUID的关系 QueryBuildInPackageVersion 获取服务器上的 Version 文件 服务器上的 Hash 文件覆盖本地沙盒内的 Hash 文件 LoadBuildinManifestOperation 服务器上的 Manife...