← 全部标签
# 光照
7 篇页面
页面
图形学基于图像的光照Image-Based Lighting用纹理数据(通常是相机拍摄的 360° HDR 全景)照明场景称为基于图像的光照。实时引擎常用预滤波的高光立方体贴图(配合 split-sum 近似)处理高光,用辐照度环境贴图或球谐系数处理漫反射。它们只依赖少量光照图元而不需要知道场景其他表面,因此仍属局部光照。图形学球面函数基Spherical Basis Functions要让环境光照超越常数项,需要表示"每个入射方向的辐亮度"这样的球面函数。把函数转成某种表示叫投影,从表示求值叫重建。本页对比表格形式、环境立方体、球面高斯、球谐函数,以及专门为半球设计的 AHD、Half-Life 2 基和 H-basis。图形学着色模型与光源Shading Models & Light Sources着色模型描述物体颜色如何随表面朝向、观察方向和光照变化。光源通过两个参数与着色模型交互:指向光源的方向 \mathbf{l} 和光的颜色 \mathbf{c}{\text{light}}。方向光、点光源、聚光灯的区别就在于这两个量如何随场景变化;距离衰减和方向衰减函数的选择同时影响画面与性能。图形学辐射度量学与光度学Radiometry & Photometry辐射度量学精确度量电磁辐射,是基于物理渲染的第一步;光度学用人眼灵敏度对它加权。渲染中最重要的量是辐射亮度 L:眼睛和相机测的就是它,着色方程要算的也是沿视线的辐射亮度。图形学面光源Area Lights真实光源从来不是点。面光源要求对光源所张立体角 \omegal 积分 BRDF,实时渲染倾向于用闭式解或近似而不是多条光线取平均。主要做法有:Lambert 表面的矢量辐照度与包裹光照、光泽表面的粗糙度修正和"最具代表性的点",以及最准确的线性变换余弦 (LTC)。游戏开发 · GodotGodot 2D 渲染与画布Godot 2D Canvas2D 一切可绘节点继承 CanvasItem(Node2D 与 Control);视口持有 canvastransform。CanvasLayer 把视差背景、世界与 HUD 分到不同层,避免整树跟着相机平移。游戏策划光影、负空间与高度Shade, Shadow, Negative Space & Height光与暗、高与低都是人类态度含糊的空间条件:暗处既能藏身也藏着危险,高处既是优势也令人恐惧。Totten 用漫射光 (shade)、阴影 (shadow)、负空间 (negative space) 与高度制造张力、吸引探索和引导视线,并提出氛围含糊 (atmospheric ambiguity)——玩家无法确定一个空间是否安全(第 6 章,p.277–291)。