标签:渲染器
-
Compatibility 渲染器:GLES3 的 fallback 路径
Compatibility 渲染器不走 RD,而是 Godot 3.x 血统的 GLES3 光栅器直通驱动层。这篇讲它的代码从哪来、为什么不走 RD、哪些特性被静默降级,以及 WebGL2 这个最苛刻目标带来的约束。
-
RenderSceneBuffers 与帧缓冲管理:分辨率改变时哪些资源重建了
每个视口的 color/depth/velocity 缓冲都归 RenderSceneBuffersRD 管,配置变更时整套 RID 销毁重建。这篇拆配置结构、重建的触发链与成本,以及 XR 多视角下的 buffer 布局。
-
LOD 与遮挡剔除的实现现状:Godot 在这块还缺什么
Godot 4.x 的剔除全部发生在 CPU 侧的 RendererSceneCull:视锥、距离、网格 LOD、Portal/Room 都有,但没有 GPU 遮挡查询和节点级自动 LOD。这篇梳理现状的边界,以及每个缺口对应的自救方案。
-
Forward+ 的 cluster shading:光源如何被分配到 cluster
Forward+ 用"屏幕 tile × 深度切片"的三维网格给每个像素预筛光源,把逐像素遍历全部光源的 O(n) 降到 O(1)。这篇给 cluster 索引的数学推导、光源影响域的 AABB 求交,以及 Godot 4.x 的具体参数来源。
-
Mobile 渲染器:tile-based GPU 上省带宽的设计取舍
Godot 4 的 Mobile 渲染器和 Forward+ 共享 RD 抽象层,却砍掉了 cluster shading 和一堆屏幕空间效果。砍掉的东西对应的是移动端 GPU 的物理约束:tile 内存容量和外部带宽。这篇按"带宽账本"的思路解释每一项取舍。
-
ClusterBuilder 的 CPU/GPU 分工:每帧光源剔除的真实成本
Godot 4.x 的 ClusterBuilderRD 同时带着 CPU 路径和 compute shader 路径两套光源入桶实现,按设备和配置选路。这篇拆两条路径的实现差异、选择逻辑,以及每帧剔除在 profiler 里到底占多少。