Ricardo Cabello
概述
Ricardo Cabello,公开使用 Mr.doob、mrdoob 等名称,是图形程序员、网页交互创作者和开源 JavaScript 三维图形库 Three.jsThree.jsThree.js 是由 Ricardo Cabello(Mr.doob)于 2010 年公开发布、由开源社区共同开发的 JavaScript 三维图形库。它为网页中的三维场景提供相机、几何体、材质、纹理、灯光和渲染等抽象,减少开发者直接编写底层图形接口代码的负担。项目以 MIT 许可证发布,官网为 threejs.org,核心代码库为 mrdoob/three.js。点击查看完整词条 的创建者。他的工作横跨演示艺术、浏览器实验、互动音乐项目和图形工具开发;Three.js 将场景、相机、几何体、材质等功能整理为可复用的接口,是其持续维护的代表项目。[1][2]
本页目录18 节
词条资料
早期:绘画、教育与自学
Cabello 在 2013 年接受 Eric Haines 采访时回忆,自己除小学教育外曾在漫画学校学习,随后在中学阶段先学电子技术、再转向艺术,并在进入大学前停止了正规求学。其职业技能主要来自个人实验,而非该采访所记载的计算机专业大学训练。[3]
早期:从演示艺术走向网页工作
演示艺术社群是他学习图形制作的重要环境。他最初偏向绘图、低多边形模型和创意构思,之后逐步转向程序开发。按 Mozilla 2011 年的访谈,他曾从事 HTML、PHP 相关工作,后来移居伦敦,担任设计师及 Flash 开发者;个人实验网站也成为客户发现其作品的渠道。[5]
Mr.doob 这一名称也与伦敦工作经历有关。他在一篇邮件采访中解释,自己工作时常戴耳机,并把即时通信昵称设为 do_ob 及不同表情变体。一位同事以 Mr.doob 称呼他后,这个名字逐渐固定下来。该解释出自本人答复,采访页面未给出明确发布日期。[6]
2006年个人实验网站与图形编程
他在 2015 年回顾早期学习时,用从旋转立方体顶点、连接线段到绘制和排序表面的过程解释自己的入门方式:先做出可见结果,再逐步理解底层图形机制。他也使用过 Papervision3D,后来因项目需要更容易自行调整的结构,继续开发自己的引擎。[8]
2010年Johnny Cash 合作项目
2010年4月24日公开 Three.js
2010年8月The Wilderness Downtown
2011年5月ROME / 3 Dreams of Black
2011 年 5 月,作品年表收录 ROME / 3 Dreams of Black。Cabello 在后来的采访中把它描述为规模更大、协作更具挑战、也让他非常投入的团队项目;其 2015 年回顾特别提到,作品中的动物变形与动画需求推动了 Three.js 的相关功能。[7][6][8]
在 2011 年 Canonical 采访中,他介绍了该项目采用的开放工具流程,包括以 Python 处理转换、使用 Blender 组织场景,并公开项目代码。他把代码视为创作工具,也重视工具能够跨平台使用,避免作品被锁定在单一专有软件或操作系统中。[4]
2011年轻量实验与开放工具观
Mozilla 于 2011 年 7 月刊出的采访列举了 Ball Pool、Harmony 等作品,以及 stats.js、tween.js、sequencer.js 等工具。Cabello 当时强调代码清晰和开放共享,也表示自己常以性能较弱的设备开发,以免作品只能在高端图形硬件上展示。这是其当时的设计取向,而不是对所有 Three.js 应用的性能保证。[5]
2012年10月CSS3DRenderer 与浏览器兼容实验
在原发表于 2012 年 10 月 28 日、后来由本人存档的文章中,Cabello 介绍了 CSS3DRenderer。他当时希望应对 iOS 的图形支持限制,并通过全景图和元素周期表实验展示 CSS 三维变换的效果,也改进了 TrackballControls 的触摸操作。[10]
这篇文章同时回应了 famo.us 对其三维界面的展示方式。Cabello 以自己的重现实验提出技术解释;它属于开发者对渲染实现的公开讨论,文章并不能证明对方存在违法行为,也不应被扩写为资金或欺诈指控。[10]
2013年自由职业与 Three.js 的维护取向
2013 年 1 月的 Real-Time Rendering 采访中,Cabello 自述是一名自由职业网页开发者,当时主要与 Google Data Arts Team 合作。他把 Three.js 的易用性和可扩展性看得较重,也承认 API 会随着设计改进发生变化,使用者需通过迁移说明跟进。此处的自由职业合作身份有明确时间边界,不能据此推定其现任雇主或职务。[3]
2013年7月Obsidian
2013 年 7 月,Experiments with Google 收录其 Obsidian,并将其归为使用 JavaScript、WebGL 的三维演示艺术作品。该项目展示了他在维护通用图形工具之外继续进行独立实时视觉创作的路线。[11]
2015年回顾五年协作与编辑器方向
FITC 于 2015 年 4 月 20 日发布其五周年回顾演讲。Cabello 介绍了从 Canvas、SVG 到社区贡献 WebGL 渲染器的演变,以及应用项目对功能发展的推动。他同时展示浏览器编辑器,希望让设计者能导入模型、组织场景并导出成果,降低必须从代码开始制作的门槛。[8]
2024年WebGPU 与着色语言演讲
2026年经典游戏的浏览器移植
2026 年 2 月的个人作品年表列出 Three.js Quake 和 Three.js Descent,5 月又列出 Three.js Doom。以 three-descent 为例,仓库明确将其称为 Descent 到 Three.js 的移植,署名原作为 Parallax Software,并记载 Mr.doob 与 Claude 参与移植。[7][12]
three-descent 区分了代码和素材的使用条件:项目代码采用 MIT 许可,随附第一章的共享软件素材;完整游戏需要使用者自行提供已注册副本中的文件,OPL3 模块另有 LGPL 许可。开源移植的出现因此不代表原游戏的全部内容变成公共领域。[12]
2026年8月移植 fr-041: debris.
2026 年 8 月 26 日,Cabello 在自己的 X 账号宣布将 Farbrausch 的 fr-041: debris. 移植到 JavaScript,并给出 Demoscene Ports 的演示链接。该记录所确认的是移植工作;2007 年原始演示作品的创作归属于 Farbrausch 团队。[13][14]
按移植仓库的说明,浏览器版本使用 JavaScript、WebGL2 与 Web Audio,重新实现程序化几何、纹理、时间线和声音合成,而非执行原 Windows 程序。仓库也说明字体替代、图形驱动和数值精度等会影响画面一致性,并分别保留原引擎、作品、音乐及第三方组件的许可。[14]
截至2026年9月:公开身份与持续创作
来源
- Moving Three.js from WebGL to WebGPU — Mr.doob(在新窗口打开)
- Three.js 官方代码库与 README(在新窗口打开)
- Interview with three.js Creator(在新窗口打开)
- Interview with Mr Doob(在新窗口打开)
- People of HTML5 – Mr. Doob(在新窗口打开)
- An interview with Mr.doob(在新窗口打开)
- Ricardo Cabello:个人作品与演讲年表(在新窗口打开)
- Ricardo Cabello (Mr doob) — 5 years of three.js(在新窗口打开)
- Three.js 首个公开版本提交(在新窗口打开)
- CSS3DRenderer:原 2012 年 Google+ 文章存档(在新窗口打开)
- Obsidian by Mr.doob(在新窗口打开)
- three-descent README(在新窗口打开)
- Mr.doob:移植 Farbrausch 的 fr-041: debris.(在新窗口打开)
- fr-041: debris. browser port README(在新窗口打开)
- Mr.doob 的公开 X 资料(在新窗口打开)