9.1 环绕顺序与法线朝向
屏幕空间边函数 E(A,B,C) 的符号就是三角形的朝向。本节在《烛影山谷》的 896 个三角形上实测 606 正面、290 背面、0 退化,与光栅化器剔除的 290 完全一致;再证明世界空间几何法线与视线方向的点积是同一条判据,并用 det<0 的镜像矩阵说明手性反转时法线必须跟着翻。
tag
屏幕空间边函数 E(A,B,C) 的符号就是三角形的朝向。本节在《烛影山谷》的 896 个三角形上实测 606 正面、290 背面、0 退化,与光栅化器剔除的 290 完全一致;再证明世界空间几何法线与视线方向的点积是同一条判据,并用 det<0 的镜像矩阵说明手性反转时法线必须跟着翻。
1.1 的脚本能用,但四步糊在一个 main 里。本节把它重构成规格、几何、屏幕坐标、像素四段,每段一个有名字、可单独调用的函数,再串起来渲染《烛影山谷》的第一帧并逐段计时;同时说明 S 层与 P 层如何共用同一份规格,做到像素缓冲逐字节相同。
当场景有上百个动态光源时,传统前向渲染要为每个物体遍历全部光源,延迟渲染又受限于 G-Buffer 带宽与透明度处理。集群前向渲染(Clustered Forward / Forward+)把视锥切成三维簇,为每个簇预计算光源列表,让着色时只遍历真正影响该片元的光源。本文讲解 Tiled 分桶、Clustered 三维切分、光源分配数据结构与着色阶段查找,并给出性能取舍。
渲染图(Render Graph)把一帧的渲染流程抽象成 Pass 与资源的依赖图,由框架自动推导屏障、管理瞬态资源生命周期、做内存别名复用并调度异步计算队列。本文从手工管线的痛点讲起,剖析资源抽象、依赖推导、屏障生成、瞬态内存别名与帧调度机制,并对比 Unreal RDG、Unity SRP 与 Frostbite FrameGraph 的落地差异。
拆解低代码平台的渲染机制与性能优化:渲染管线的整体结构、解释执行与预编译、组件树渲染粒度、依赖追踪与精确更新、虚拟化大列表、数据请求优化、元数据加载与缓存、首屏与骨架屏、性能度量与预算,以及常见性能反模式,给出可运行的依赖追踪与虚拟化实现,回答为什么低代码应用容易卡以及如何系统性优化。
沿渲染管线逐级展开图形学核心概念:从模型视图投影矩阵与齐次坐标的变换链,到 Lambert、Phong、Blinn-Phong 光照模型与 BRDF 入门,再讲纹理映射与 Mipmap 采样、深度缓冲与 Z-fighting、背面剔除与视锥裁剪,并对比光栅化与光线追踪两种范式,最后落到着色器职责、伽马校正与 MSAA 抗锯齿。
系统讲解 Defold 渲染管线:内置 render script 原理、摄像机栈管理、视口与多分辨率适配、后处理(Bloom/Blur)实现、多摄像机同屏叠加、全屏特效 shader 与材质系统。
传统渲染每帧由 CPU 逐个物体提交绘制指令,场景规模一大 CPU 立即成为瓶颈。GPU Driven 渲染把物体的可见性判断、LOD 选择与绘制命令生成全部搬进 GPU,用间接绘制与计算着色器完成剔除与批处理,让 CPU 只上传少量数据。本文讲解 CPU 提交瓶颈、间接绘制原理、GPU 视锥/遮挡剔除、Hi-Z 剔除、LOD 误差指标与实例化批处理,并给出完整架构。
锯齿是光栅化把连续几何离散成像素网格的必然产物。本文从锯齿成因与采样理论讲起,系统对比几何级 MSAA、后处理级 FXAA/MLAA/SMAA、时序级 TAA 三类方案的原理、成本与画质,深入时序累积的历史缓冲、抖动与鬼影抑制,最后延伸到 DLSS/FSR 这类以超分为目标的时域重建技术,给出工程组合与选型建议。
延迟渲染把材质属性写入 G-Buffer、把光照从逐物体解耦为逐像素,再以 Tiled/Clustered 网格在计算着色器中批量剔除光源,成为现代引擎渲染成千上万动态灯光的标准方案。本文讲解 G-Buffer 布局与延迟管线、Tiled/Clustered 剔除原理与实作、前向与延迟与前向+的取舍、MSAA 与延迟渲染的矛盾,以及移动端带宽优化策略。
后处理(Post-Processing)是渲染管线的最后一道工序,在屏幕上对整幅图像执行 HDR 合成、Bloom 泛光、色调映射与抗锯齿,决定最终视觉观感。本文详解 HDR/LDR 工作流、Bloom 的金字塔降采样与模糊实现、Reinhard/ACES 色调映射曲线、MSAA/FXAA/TAA 三大抗锯齿方案,以及运动模糊、景深与全屏 quad 管线的性能权衡。
深入讲解 OpenGL Core Profile 核心概念与渲染管线流程:版本演进、Core/Compatibility 区别、现代管线各阶段、FBO 离屏渲染、GLSL 着色器编程,以及 OpenGL 与 Vulkan 的 API 哲学差异。
五大现代图形 API 全面对比与选型决策:WebGPU、OpenGL、Vulkan、Metal、DirectX 12。覆盖功能特性、性能表现、学习曲线、平台支持、生态系统、工具链、文档质量、社区活跃度、调试能力、部署成本等 10 大维度横向对比表,含 Rust wgpu 完整代码示例、选型决策树、OpenGL→Vulkan/WebGL→WebGPU 迁移指南与未来趋势分析。
渲染管线是现代 GPU 执行 3D 图形绘制的核心流水线,从应用程序提交顶点数据到屏幕上呈现像素,其间经历了顶点处理、图元装配、光栅化、片段处理和输出合并等多个阶段。本文从理论层面深入讲解渲染管线的每个阶段、各阶段的数据流变换、现代 GPU 的并行执行模型,以及与实时光线追踪管线的对比。