图灵奖系列 · DoggyDad 原创
Ed Catmull & Pat Hanrahan:他们把计算机图形学从实验室搬进了好莱坞,让数字世界拥有了物理的真实感
Ed Catmull & Pat Hanrahan:他们把计算机图形学从实验室搬进了好莱坞,让数字世界拥有了物理的真实感
ANSWER-FIRST SUMMARY
本文回答什么问题
Ed Catmull & Pat Hanrahan:他们把计算机图形学从实验室搬进了好莱坞,让数字世界拥有了物理的真实感
- 主题分类:图灵奖系列
- 关键词:图灵奖、计算机历史、算法、人工智能
- 人物实体:Ed Catmull & Pat Hanrahan
图灵奖第五十四届(2019)| Ed Catmull & Pat Hanrahan:他们把计算机图形学从实验室搬进了好莱坞,让数字世界拥有了物理的真实感
一句话概括:当别人还在画线框模型时,他们已经在思考如何让数字曲面像真实物体一样平滑、让虚拟光线像物理世界一样传播——Catmull创造了细分曲面和纹理映射,Hanrahan设计了RenderMan着色语言,他们共同定义了现代计算机图形学的技术基础。
🏆 获奖简介
Edwin Earl “Ed” Catmull(埃德温·厄尔·“艾德”·卡特莫尔,1945-)和Patrick M. “Pat” Hanrahan(帕特里克·M·“帕特”·汉拉罕,1954-)是计算机图形学的先驱,现代三维渲染技术的奠基人。
Ed Catmull:
- 出生时间:1945年3月31日
- 出生地点:美国西弗吉尼亚州帕克斯堡
- 主要成就:发明细分曲面(Catmull-Clark subdivision)、纹理映射(texture mapping)、Z-buffer算法改进;皮克斯动画工作室创始人之一,担任总裁长达25年
- 教育背景:
- 1969年:犹他大学物理学与计算机科学学士
- 1974年:犹他大学计算机科学博士(导师:Ivan Sutherland)
Pat Hanrahan:
-
出生时间:1954年
-
出生地点:美国威斯康星州格林贝
-
主要成就:RenderMan着色语言设计者、体积渲染(volume rendering)先驱、基于物理的渲染理论贡献者
-
教育背景:
- 1977年:威斯康星大学麦迪逊分校核工程学士
- 1978年:威斯康星大学麦迪逊分校生物物理学硕士
- 1985年:威斯康星大学麦迪逊分校生物物理学博士
-
获奖年份:2019年(共同获奖)
-
获奖原因:对三维计算机图形学的概念创新及对计算机生成图像(CGI)电影产业的重大影响
为什么他们是第五十四位? 1960-70年代,计算机图形学还停留在绘制简单线框和平面多边形的阶段。Catmull在1974年的博士论文中提出了三项革命性技术——细分曲面让粗糙的多边形网格变得光滑如丝,纹理映射让简单几何体披上复杂细节,改进的Z-buffer算法解决了三维场景的可见性判断。Hanrahan在1980-90年代设计了RenderMan着色语言和渲染架构,将物理光学原理转化为可编程的图形管线,使真实感渲染从理论走向工程实践。从《玩具总动员》到《阿凡达》,从游戏引擎到虚拟现实,今天所有三维图形技术都建立在他们奠定的基础上。他们不仅是技术发明者,更是将计算机图形学转化为数十亿美元产业的架构师。
🚀 Ed Catmull的重大贡献
1. 细分曲面:让多边形变得平滑
背景(1970年代初):
- 问题:三维模型由多边形网格构成,但多边形是平面的,无法表现光滑曲面
- 传统方案:
- 增加多边形数量(导致数据量爆炸)
- 使用参数曲面(如NURBS),但拓扑受限,难以建模复杂形状
- 挑战:如何用少量数据表示任意拓扑的光滑曲面?
Catmull-Clark细分曲面的突破(1978):
核心思想:
不是一开始就定义最终曲面,而是定义一个递归细化过程:
- 从粗糙的”控制网格”(control mesh)开始
- 通过细分规则生成更密集的网格
- 迭代细分,收敛到光滑的极限曲面
细分规则:
对于每个多边形面:
- 面点(Face point):面的中心点
- 边点(Edge point):边的中点与相邻两个面点的加权平均
- 顶点(Vertex point):原顶点与相邻面点、边点的加权平均
关键数学性质:
- C²连续性:曲面二阶导数连续(除了少数”非常规”顶点)
- 局部性:修改控制网格的一个顶点只影响局部曲面
- 收敛性:迭代细分保证收敛到唯一的极限曲面
与Doo-Sabin细分的对比:
同期Daniel Doo和Malcolm Sabin也提出了细分方案,但:
- Doo-Sabin:每次细分产生四边形面,适合规整网格
- Catmull-Clark:处理任意拓扑(三角形、四边形、N边形混合),适合艺术家建模
实际应用:
传统建模:
头部模型 = 50,000个三角形(文件:10MB)
细分曲面建模:
控制网格 = 500个四边形(文件:100KB)
渲染时细分 → 动态生成高精度网格
影响:
- 皮克斯电影:《怪兽电力公司》中Sulley的毛发底层使用细分曲面
- 工业软件:Maya、Blender、ZBrush的核心建模技术
- 游戏引擎:OpenSubdiv库(皮克斯开源)用于实时细分
2. 纹理映射:给几何体穿上”外衣”
背景(1974年博士论文):
- 问题:三维模型的细节(木纹、皮肤纹理)如果用几何表示,计算量巨大
- Catmull的方案:将二维图像”贴”到三维表面
技术细节:
UV坐标:
- 三维表面上每个点 → (u,v) 坐标 ∈ [0,1]×[0,1]
- (u,v) → 纹理图像的像素坐标
- 挑战:如何将球面、圆柱等曲面”展开”成平面?(UV展开问题)
透视校正:
- 问题:直接在屏幕空间插值UV坐标会产生透视失真
- 解决:在三维空间插值 (u/z, v/z, 1/z),然后除以1/z恢复uv
- 这一技术今天仍是GPU光栅化的标准步骤
Mipmap(1983): 虽然由Lance Williams正式提出,但Catmull的早期工作奠定了基础:
- 问题:远处物体纹理采样不足导致摩尔纹(aliasing)
- 方案:预计算纹理的多分辨率金字塔,根据距离选择合适层级
- 命名:Mip = “multum in parvo”(拉丁语:在小空间中包含多内容)
现代应用:
游戏纹理资产:
BaseColor.png - 4096×4096(漫反射颜色)
Normal.png - 4096×4096(法线贴图,伪造凹凸)
Roughness.png - 4096×4096(粗糙度)
AmbientOcclusion - 4096×4096(环境光遮蔽)
一个角色模型可能使用10+张纹理,全部基于Catmull的纹理映射框架。
3. Z-Buffer算法的改进与推广
背景:
- Z-buffer由Catmull在犹他大学的同事Wolfgang Straßer独立发明
- Catmull在博士论文中对算法进行了深入分析和优化
基本原理:
对屏幕每个像素维护:
- 颜色缓冲(color buffer):当前可见物体的颜色
- 深度缓冲(depth buffer / z-buffer):当前可见物体的深度值
渲染算法:
对于场景中每个三角形:
对于三角形覆盖的每个像素(x,y):
计算该像素处三角形的深度z
if z < depth_buffer[x,y]: // 更靠近相机
color_buffer[x,y] = 三角形颜色
depth_buffer[x,y] = z
优势:
- 对象顺序无关:无需预先排序物体
- 硬件友好:可并行处理每个像素
- 今天的地位:所有GPU都实现了Z-buffer
Catmull的优化:
- 分层Z-buffer:粗粒度快速剔除不可见物体
- 深度精度分配:非线性深度编码减少Z-fighting(深度冲突)
4. 从技术到产业:皮克斯的诞生
历程:
- 1979年:加入卢卡斯影业(Lucasfilm)计算机部门担任副总裁
- 研发成果:
- 开发数字合成技术(后来的Pixar Image Computer)
- 创作短片《安德鲁和威利的冒险》(The Adventures of André and Wally B., 1984),展示运动模糊技术
- 1986年:Steve Jobs以1000万美元收购该部门,成立皮克斯动画工作室
- 1995年:《玩具总动员》上映,全球首部全CG长篇动画电影
- 管理生涯:担任皮克斯总裁(1986-2019),主导制作超过20部电影,总票房超140亿美元
管理哲学(著作《创新公司:皮克斯的启示》Creativity, Inc.):
- 失败的价值:早期项目失败是创新的必要成本
- 人才第一:好创意来自好团队,而非相反
- 坦率文化:“智囊团”(Braintrust)机制让同事诚实反馈
🚀 Pat Hanrahan的重大贡献
1. RenderMan着色语言:可编程的渲染管线
背景(1988-1990):
- 问题:
- 每种材质(金属、玻璃、皮肤)需要专门的渲染代码
- 艺术家依赖程序员修改着色器
- 渲染器缺乏灵活性
RenderMan的革命:
设计理念:
- 着色器是程序:不是预定义的材质类型,而是由C-like语言编写的小程序
- 管线可编程化:将渲染过程分解为多个可替换的阶段
RenderMan着色语言(RenderMan Shading Language, RSL):
示例:塑料材质
surface plastic (
float Ka = 0.1, // 环境光系数
float Kd = 0.7, // 漫反射系数
float Ks = 0.3, // 镜面反射系数
float roughness = 0.1;
color specularcolor = 1;
) {
normal Nf = faceforward(normalize(N), I);
vector V = -normalize(I);
Ci = Cs * (Ka*ambient() + Kd*diffuse(Nf)) +
specularcolor * Ks*specular(Nf, V, roughness);
}
语言特性:
- 全局变量:
P:表面位置N:表面法线I:入射方向(从相机到表面)Ci:输出颜色
- 内置函数:
diffuse():计算朗伯漫反射specular():计算镜面高光noise():程序化纹理
- 光线追踪接口:
trace():发射光线查询场景- 支持反射、折射、全局光照
渲染管线:
场景描述(RIB文件)
↓
RenderMan API
↓
几何处理(细分、位移)
↓
着色器执行(RSL)
├─ Surface Shader(表面外观)
├─ Displacement Shader(几何变形)
├─ Light Shader(光源特性)
└─ Volume Shader(体积效果,如雾)
↓
最终图像
产业影响:
- 电影:从《玩具总动员》到《阿凡达》,23部奥斯卡最佳视效电影使用RenderMan
- 标准化:影响了后来的GLSL(OpenGL着色语言)、HLSL(DirectX)、OSL(Open Shading Language)
- 教育:成为图形学课程讲授着色器编程的标准教材
2. 基于物理的渲染(Physically Based Rendering, PBR)
理论贡献(1993年论文:Reflection from Layered Surfaces):
问题:
传统着色模型(Phong、Blinn-Phong)是经验模型:
- 参数没有物理意义(什么叫”镜面系数=0.3”?)
- 不同光照下表现不一致
- 艺术家需要为每个场景调整参数
Hanrahan的分层表面模型:
核心思想: 真实材质是多层结构:
- 塑料 = 透明涂层 + 漫反射基底
- 皮肤 = 表皮 + 真皮(次表面散射)
- 车漆 = 清漆 + 金属片层 + 底漆
数学建模:
- BSDF(双向散射分布函数):描述光线在表面如何反射/透射
- 分层叠加:
总BSDF = 顶层Fresnel反射 + 透射光 × 内层BSDF × 透射光 - 能量守恒:反射+透射 ≤ 1(物理约束)
实际应用: 现代游戏引擎(Unreal、Unity)的PBR材质系统:
- Albedo(固有色):无关光照的纯色
- Metallic(金属度):0=绝缘体,1=金属
- Roughness(粗糙度):0=镜面,1=完全漫反射
- 优势:同一套参数在任何光照下都物理正确
3. 体积渲染:让光在介质中传播
背景(1980年代末):
- 需求:渲染云、雾、火焰等”体积”而非”表面”的现象
- 挑战:
- 介质吸收、散射光线
- 需要积分整条光线路径
- 计算量极大
Hanrahan的贡献:
体积渲染方程:
沿光线方向的辐射度变化:
dL/ds = -σ_t * L + σ_s * ∫ p(ω,ω') L(ω') dω' + Q
σ_t:衰减系数(吸收+外散射)σ_s:内散射系数p(ω,ω'):相位函数(散射方向分布)Q:自发光
光线行进算法(Ray Marching):
沿光线按小步长Δs前进:
累积颜色 += 当前位置密度 × 发光 × 透明度
累积透明度 *= exp(-σ_t × Δs)
应用:
- 医学可视化:CT/MRI扫描的三维重建
- 电影特效:《星际穿越》的黑洞吸积盘、《银翼杀手2049》的雾霾
- 游戏:《DOOM 2016》的体积光效、《Control》的雾效
4. 全局光照与光子映射
贡献(1990年代):
- 光子映射算法:
- 从光源发射”光子”,记录其在场景中的反弹
- 构建光子图(photon map)
- 渲染时查询光子图估计间接光照
- 双向路径追踪:同时从相机和光源追踪光线,连接路径
影响:
- 间接光照:墙壁反射的柔和光照(color bleeding)
- 焦散(Caustics):水面、玻璃聚焦的光斑
- 今天的进展:实时光线追踪(NVIDIA RTX)继承了这些思想
5. 学术与教育:斯坦福的图形学传统
教学生涯(1989-至今):
- 1989年:加入普林斯顿大学
- 1995年:转到斯坦福大学,现为计算机科学与电气工程教授
- 课程:
- CS248:交互式计算机图形学
- CS348B:图像合成(渲染算法)
- 学生:培养了数代图形学研究者和产业领军人物
跨学科研究:
- 科学可视化:天文、生物数据的三维展示
- 虚拟现实:早期VR头显的感知研究
- 计算摄影学:Light Field相机、HDR成像
🌍 对世界的深远影响
电影产业的变革
数字特效的崛起:
- 1995年之前:CG仅用于特效片段(《终结者2》的T-1000)
- 1995年《玩具总动员》:首部全CG长片,票房3.73亿美元
- 2000年代:CG成为主流
- 《指环王》三部曲:Gollum等数字角色
- 《阿凡达》(2009):动作捕捉+虚拟摄影机
- 2020年代:
- 《狮子王》(2019):虚拟场景实时预览
- 《曼达洛人》:LED墙虚拟制片(Virtual Production)
就业与经济:
- 全球VFX产业:2023年市场规模超250亿美元
- 从业人员:美国约30万人从事CG相关工作
- 地理分布:好莱坞、温哥华、伦敦、新西兰、印度(外包中心)
游戏产业的技术基础
实时渲染的演进:
- 2000年代:固定管线(预设着色模型)
- 2006年:可编程着色器成为标准(受RenderMan启发)
- 2010年代:基于物理的渲染(PBR)成为主流
- 2020年代:实时光线追踪(RTX技术)
引擎技术:
- Unreal Engine:
- Nanite虚拟几何(动态细分曲面)
- Lumen全局光照(实时光子追踪)
- Unity:
- 可编程渲染管线(URP/HDRP)
- Visual Effect Graph(节点式着色器编辑)
其他领域的扩散
建筑与工程可视化:
- BIM(建筑信息建模):虚拟建筑的真实感渲染
- 汽车设计:实时材质预览,减少物理原型成本
医疗:
- 手术规划:从CT扫描重建三维器官模型
- 医学教育:VR解剖教学
科学研究:
- 天文学:宇宙模拟的可视化(如黑洞视界望远镜数据)
- 气候科学:全球气流、海洋洋流的动态展示
🏆 获奖理由(通俗版)
ACM官方表彰:“对三维计算机图形学的基础性贡献,以及这些技术对电影和其他应用的深远影响。”
更通俗的理解:
Ed Catmull证明:数字物体可以拥有真实的几何曲线和表面细节,无需存储天文数字般的数据。他让三维建模从”工程图纸”变成”雕塑艺术”。
Pat Hanrahan证明:虚拟光线可以遵循物理定律传播,数字材质可以编程定义。他让渲染从”绘画涂色”升级为”光学模拟”。
两人共同:将计算机图形学从学术研究转化为百亿美元产业,让银幕上的数字角色与真人演员同台、让虚拟世界在游戏中栩栩如生,从根本上改变了娱乐、设计和科学可视化的面貌。
👤 个人生平与传奇
Ed Catmull(1945-)
童年梦想:
- 迪士尼的召唤:5岁时看《彼得·潘》,梦想成为动画师
- 现实挑战:发现自己画工不如迪士尼艺术家
- 转向:在犹他大学学习物理和计算机,决定用技术创作动画
博士时期的传奇论文(1974):
- 标题:《A Subdivision Algorithm for Computer Display of Curved Surfaces》
- 内容:一篇论文包含三项重大发明(细分曲面、纹理映射、Z-buffer改进)
- 影响:成为计算机图形学的奠基文献
皮克斯岁月:
- 艰难起步(1986-1995):
- 硬件销售失败(Pixar Image Computer太贵)
- 靠广告和短片维持(Luxo Jr. 获奥斯卡提名)
- Steve Jobs多次考虑关闭公司
- 转折点:与迪士尼合作制作《玩具总动员》
- 黄金时代(1995-2019):
- 15部奥斯卡最佳动画长片
- 2006年迪士尼以74亿美元收购皮克斯,Catmull成为迪士尼/皮克斯动画总裁
荣誉:
- 奥斯卡:
- 1996年:技术成就奖(RenderMan)
- 2001年:技术成就奖(细分曲面软件)
- 2009年:Gordon E. Sawyer奖(终身技术贡献)
- 图灵奖(2019)
退休(2019): 卸任总裁,但仍担任迪士尼顾问。
性格:
- 谦逊:将成功归功于团队而非个人
- 创新文化的捍卫者:强调”失败是通向创新的必经之路”
- 桥梁:连接技术极客与艺术家的翻译官
Pat Hanrahan(1954-)
跨学科背景:
- 核工程→生物物理:本科学核工程,博士转向生物物理
- 转折:意识到计算机可视化是理解复杂数据的关键
- 1980年代:在纽约理工学院计算机图形实验室研究体积渲染
皮克斯时期(1986-1989):
- 首席架构师:设计RenderMan系统
- 关键决策:
- 着色语言应该图灵完备(即可以编写任意复杂的程序)
- 渲染器应该模块化、可扩展
- 挑战:硬件性能有限,如何平衡灵活性与速度?
学术生涯:
- 普林斯顿(1989-1995):建立图形学组
- 斯坦福(1995-至今):
- 培养学生数十名,许多成为产业领袖
- 发表论文100+篇
- 合著教材《Physically Based Rendering: From Theory to Implementation》(简称PBR Book)
研究风格:
- 理论与实践结合:数学严谨性 + 工程可实现性
- 跨学科:图形学、视觉感知、硬件架构
- 开源精神:主张公开算法和代码
荣誉:
- SIGGRAPH:Steven A. Coons奖(2003)、计算机图形学成就奖(2020)
- NAE(美国工程院院士)
- NAS(美国科学院院士)
- 图灵奖(2019)
哲学:
“渲染的本质是模拟光的物理行为。理解物理,才能创造真实。“
两人的合作与互补
Catmull:
- 专注几何与建模
- 产业领导者(皮克斯总裁)
- 从技术到管理的完美转型
Hanrahan:
- 专注光照与渲染
- 学术传承者(斯坦福教授)
- 理论奠基与人才培养
共同点:
- 都在皮克斯工作过(虽未完全重叠)
- 都将数学、物理与艺术结合
- 都相信技术应服务于创造力而非取代创造力
象征意义: 他们的共同获奖象征着计算机图形学”双轮驱动”——几何建模与渲染算法缺一不可。
💭 为什么他们值得纪念?
1. 他们让”不可能”成为可能
1980年代的怀疑:
- 主流观点:CG只能做简单的科幻场景,无法表现真实生活
- 挑战:人物、毛发、流体太复杂,计算量无法承受
他们的回答:
- Catmull:细分曲面 + 纹理映射让复杂几何变得可行
- Hanrahan:RenderMan让艺术家而非程序员掌控外观
结果:《玩具总动员》证明全CG故事片可行,打开数字动画的大门。
2. 他们定义了现代图形学的”语言”
概念贡献:
- 细分曲面:今天所有3D软件的标准工具
- 可编程着色器:GPU编程的基础范式
- PBR材质:游戏、电影、设计的通用标准
教育影响:
- 图形学教材必讲Catmull-Clark、RenderMan
- 全球数十万学生通过他们的工作入门图形学
3. 他们兼顾技术与人文
技术:
- 算法创新(细分、着色语言)
- 系统工程(RenderMan架构)
人文:
- Catmull的《创新公司》探讨创造力文化
- Hanrahan关注可视化如何帮助科学发现
他们提醒我们:技术的终极目的是讲述故事、揭示真理、激发情感。
4. 他们的遗产仍在增长
当前趋势:
- 实时光线追踪:Hanrahan的全局光照理论从离线渲染进入游戏
- 神经渲染(Neural Rendering):用AI加速光线传播计算
- 虚拟制片:《曼达洛人》的LED墙技术结合实时渲染与传统拍摄
未来方向:
- 元宇宙:虚拟世界需要更高效的几何表示和渲染
- 数字人:逼真的虚拟角色需要更精细的材质和光照
- 科学模拟:气候、生物、材料科学的可视化
🔍 技术深度:细分曲面的数学
Catmull-Clark细分详解
符号定义:
n:顶点的价数(相邻边数)F:相邻面点(Face points)R:相邻边中点(edge midpoints)V:原顶点(old Vertex)
新顶点位置:
新面点 F_new = (V1 + V2 + V3 + V4) / 4 (四边形四个顶点的平均)
新边点 E_new = (V1 + V2 + F1 + F2) / 4 (边的两端点+相邻两个面点)
新顶点 V_new = (F̄ + 2R̄ + (n-3)V) / n
其中:
F̄ = 相邻所有面点的平均
R̄ = 相邻所有边中点的平均
n = 顶点价数
收敛性证明(简化):
- 特征值分析:细分矩阵的最大特征值 = 1
- 第二大特征值 < 1 → 迭代收敛
- 在”常规”顶点(n=4)处达到C²连续
RenderMan的渲染方程
表面渲染方程:
L_o(x, ω_o) = L_e(x, ω_o) + ∫_Ω f_r(x, ω_i, ω_o) L_i(x, ω_i) (n·ω_i) dω_i
L_o:出射辐射度(摄像机看到的)L_e:自发光f_r:BRDF(双向反射分布函数)L_i:入射辐射度(来自光源或其他表面)n·ω_i:余弦衰减因子
RenderMan如何求解:
- Whitted光线追踪:递归追踪反射/折射光线
- 路径追踪:蒙特卡洛采样光线路径
- Reyes算法(RenderMan早期):
- 将曲面细分为微多边形(micropolygons,约0.5像素大小)
- 着色器在微多边形顶点执行
- 光栅化微多边形到像素
🧪 实践意义:今天的开发者如何使用这些技术
对游戏开发者
细分曲面:
- LOD系统:
- 远处物体使用低细分级别(少三角形,性能高)
- 近处物体动态细分(高细节)
- 工具:
- OpenSubdiv(皮克斯开源)
- DirectX 11的硬件细分(Tessellation Shader)
可编程着色器:
// Vertex Shader(顶点着色器)
#version 330 core
layout(location = 0) in vec3 aPos;
layout(location = 1) in vec3 aNormal;
layout(location = 2) in vec2 aTexCoord;
out vec3 FragPos;
out vec3 Normal;
out vec2 TexCoord;
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
void main() {
FragPos = vec3(model * vec4(aPos, 1.0));
Normal = mat3(transpose(inverse(model))) * aNormal;
TexCoord = aTexCoord;
gl_Position = projection * view * vec4(FragPos, 1.0);
}
// Fragment Shader(片段着色器)
#version 330 core
in vec3 FragPos;
in vec3 Normal;
in vec2 TexCoord;
out vec4 FragColor;
uniform sampler2D albedoMap;
uniform sampler2D normalMap;
uniform sampler2D roughnessMap;
uniform vec3 lightPos;
uniform vec3 viewPos;
void main() {
// PBR着色(基于Hanrahan的理论)
vec3 albedo = texture(albedoMap, TexCoord).rgb;
float roughness = texture(roughnessMap, TexCoord).r;
vec3 N = normalize(Normal);
vec3 V = normalize(viewPos - FragPos);
vec3 L = normalize(lightPos - FragPos);
// Cook-Torrance BRDF
vec3 H = normalize(V + L);
float NDF = DistributionGGX(N, H, roughness);
float G = GeometrySmith(N, V, L, roughness);
vec3 F = fresnelSchlick(max(dot(H, V), 0.0), F0);
vec3 kD = (1.0 - F) * (1.0 - metallic);
vec3 diffuse = kD * albedo / PI;
vec3 specular = (NDF * G * F) / (4.0 * max(dot(N, V), 0.0) * max(dot(N, L), 0.0) + 0.001);
FragColor = vec4((diffuse + specular) * radiance * max(dot(N, L), 0.0), 1.0);
}
对VFX艺术家
工作流程(基于Catmull和Hanrahan的技术):
- 建模:Blender/Maya中使用细分曲面建模角色
- UV展开:为纹理映射准备坐标
- 材质制作:Substance Painter绘制PBR纹理
- 渲染:
- 离线:Pixar RenderMan、Arnold、V-Ray
- 实时:Unreal Engine、Unity
对研究者
前沿方向:
- 神经细分:用深度学习学习最优细分规则
- 可微分渲染:渲染过程可求导,用于逆向优化场景参数
- NeRF(神经辐射场):隐式表示场景,融合体积渲染与深度学习
📚 延伸阅读
书籍
- Ed Catmull: “Creativity, Inc.”(《创新公司:皮克斯的启示》,2014)
- 管理创意团队的哲学,非技术书但值得所有技术领导者阅读
- Matt Pharr, Wenzel Jakob, Greg Humphreys: “Physically Based Rendering: From Theory to Implementation”(PBR圣经,Hanrahan为主要影响者)
- Steve Upstill: “The RenderMan Companion”(1990)
- RenderMan编程入门
论文
- Catmull & Clark: “Recursively generated B-spline surfaces on arbitrary topological meshes” (1978)
- 细分曲面的原始论文
- Catmull: “A Subdivision Algorithm for Computer Display of Curved Surfaces” (博士论文, 1974)
- 包含纹理映射和Z-buffer
- Hanrahan & Krueger: “Reflection from Layered Surfaces due to Subsurface Scattering” (1993)
- 次表面散射的理论基础
课程
- Stanford CS248(Hanrahan授课):
- 课程网站提供Lecture Notes
- CMU 15-462/662 Computer Graphics:
- 详细讲解渲染管线
- Scratchapixel(免费在线教程):
- 从零实现光线追踪器
开源项目
- OpenSubdiv(皮克斯):细分曲面库
- pbrt-v3(PBR Book配套代码):教学用光线追踪器
- Blender:开源3D软件,集成Cycles渲染器(路径追踪)
🌟 精神遗产
Catmull:“技术服务于艺术”
在皮克斯,技术人员与艺术家地位平等。Catmull创建的文化强调:
- 技术的目的不是炫技,而是让故事更动人
- 好工具应该”隐形”,让艺术家专注创作而非操作复杂按钮
- 失败是创新的必经之路——《玩具总动员2》曾因技术问题几乎全部重做
启示: 今天的AI工具(如Stable Diffusion)引发争议——是赋能创作者还是取代艺术家?Catmull的答案是:技术应该扩展而非限制人类创造力。
Hanrahan:“严谨的物理,灵活的表达”
RenderMan的设计哲学:
- 渲染器应该基于物理(能量守恒、光线传播定律)
- 但着色器应该自由(艺术家可以打破物理规则追求风格)
- 教育和开放:论文、教材、开源代码让知识传播
启示: 在深度学习主导的今天,Hanrahan提醒我们:理解原理比只会调用API更重要。他的PBR Book详细讲解从数学推导到代码实现的每一步,培养了”知其然且知其所以然”的工程师。
总结语: Ed Catmull和Pat Hanrahan是计算机图形学从”技术演示”走向”主流艺术形式”的关键推动者。Catmull让数字几何体拥有了真实物体的平滑曲线和丰富细节,Hanrahan让虚拟光线遵循物理定律传播并赋予艺术家完全的控制权。他们不仅发明了算法,更设计了产业标准、建立了公司、培养了人才、撰写了教材。
从《玩具总动员》的巴斯光年到《阿凡达》的潘多拉星球,从《塞尔达传说:旷野之息》的海拉尔大陆到建筑师屏幕上的虚拟大楼,他们的技术无处不在。但他们最伟大的遗产或许是这一信念:技术与艺术不是对立的,当两者完美结合时,我们可以创造出既美丽又真实、既梦幻又可信的数字世界。这束光从1970年代犹他大学的实验室射出,穿过皮克斯的动画工作室,照亮了21世纪的每一块屏幕,并将继续指引计算机图形学走向更广阔的未来。
最后更新: 2024年12月 本文为图灵奖系列文章,旨在以通俗方式介绍计算机科学先驱的贡献
DISCUSSION
评论与补充