ABAB Pedia

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]

在 2011 年的 Canonical 訪談中,他把接觸家庭電腦的時間追溯到 1990 年代初、約十歲或十一歲時。他看哥哥編程,自己起初更喜歡圖形創作,接觸了 Animator Pro、3D Studio 和 Deluxe Paint 等工具。Mozilla 的同年採訪則將哥哥引介演示藝術文化的時間記為十二歲左右。⁠[4][5]

早期:從演示藝術走向網頁工作

演示藝術社群是他學習圖形制作的重要環境。他最初偏向繪圖、低多邊形模型和創意構思,之後逐步轉向程序開發。按 Mozilla 2011 年的訪談,他曾從事 HTML、PHP 相關工作,後來移居倫敦,擔任設計師及 Flash 開發者;個人實驗網站也成為客戶發現其作品的渠道。⁠[5]

Mr.doob 這一名稱也與倫敦工作經歷有關。他在一篇郵件採訪中解釋,自己工作時常戴耳機,並把即時通信暱稱設為 do_ob 及不同表情變體。一位同事以 Mr.doob 稱呼他後,這個名字逐漸固定下來。該解釋出自本人答覆,採訪頁面未給出明確發佈日期。⁠[6]

個人實驗網站與圖形編程

個人作品年表將 Mr.doob 網站的起點標為 2006 年 4 月。這個網站成為他展示交互實驗和圖形作品的長期入口;在此後訪談中,他也把持續發佈實驗與獲得合作機會聯繫起來。⁠[7][5]

他在 2015 年回顧早期學習時,用從旋轉立方體頂點、連接線段到繪製和排序表面的過程解釋自己的入門方式:先做出可見結果,再逐步理解底層圖形機制。他也使用過 Papervision3D,後來因項目需要更容易自行調整的結構,繼續開發自己的引擎。⁠[8]

Johnny Cash 合作項目

Cabello 的作品年表將 The Johnny Cash Project 列在 2010 年 3 月。他在郵件採訪中說,自己先在這個項目中與 Aaron Koblin、Chris Milk 合作,之後團隊又製作了 The Wilderness Downtown 和 3 Dreams of Black。該合作關係解釋了其瀏覽器實驗如何進入更大規模的互動音樂製作。⁠[7][6]

公開 Three.js

2010 年 4 月 24 日,Cabello 在 GitHub 提交了標記為首個公開版本的 Three.js 代碼。項目來自其已有 ActionScript 三維引擎向 JavaScript 的遷移;早期目標是把反覆需要的圖形功能做成能夠持續複用的工具,而不是為每次演示重新編寫一次性引擎。⁠[9][3]

The Wilderness Downtown

個人年表將 The Wilderness Downtown 記在 2010 年 8 月。Cabello 後來在 FITC 演講中展示其技術構成:Three.js 被用於低多邊形飛鳥以及全景畫面中的樹木等三維元素,項目還有其他 Canvas 代碼。該作品體現了 Three.js 在早期互動音樂網站中的應用,並非整部作品均由這一庫或由他一人完成。⁠[7][8]

ROME / 3 Dreams of Black

2011 年 5 月,作品年表收錄 ROME / 3 Dreams of Black。Cabello 在後來的採訪中把它描述為規模更大、協作更具挑戰、也讓他非常投入的團隊項目;其 2015 年回顧特別提到,作品中的動物變形與動畫需求推動了 Three.js 的相關功能。⁠[7][6][8]

在 2011 年 Canonical 採訪中,他介紹了該項目採用的開放工具流程,包括以 Python 處理轉換、使用 BlenderBlenderBlender 是自由開源的三維創作軟件,覆蓋建模、動畫、渲染、二維繪製、合成與視頻編輯等工作流程。它起源於 Ton Roosendaal 為動畫工作室開發的內部工具,2002年轉為開源,由 Blender Foundation 支持並與全球開發者和藝術家社區共同發展。點擊查看完整詞條 組織場景,並公開項目代碼。他把代碼視為創作工具,也重視工具能夠跨平臺使用,避免作品被鎖定在單一專有軟件或操作系統中。⁠[4]

輕量實驗與開放工具觀

Mozilla 於 2011 年 7 月刊出的採訪列舉了 Ball Pool、Harmony 等作品,以及 stats.js、tween.js、sequencer.js 等工具。Cabello 當時強調代碼清晰和開放共享,也表示自己常以性能較弱的設備開發,以免作品只能在高端圖形硬件上展示。這是其當時的設計取向,而不是對所有 Three.js 應用的性能保證。⁠[5]

CSS3DRenderer 與瀏覽器兼容實驗

在原發表於 2012 年 10 月 28 日、後來由本人存檔的文章中,Cabello 介紹了 CSS3DRenderer。他當時希望應對 iOS 的圖形支持限制,並通過全景圖和元素週期表實驗展示 CSS 三維變換的效果,也改進了 TrackballControls 的觸摸操作。⁠[10]

這篇文章同時回應了 famo.us 對其三維界面的展示方式。Cabello 以自己的重現實驗提出技術解釋;它屬於開發者對渲染實現的公開討論,文章並不能證明對方存在違法行為,也不應被擴寫為資金或欺詐指控。⁠[10]

自由職業與 Three.js 的維護取向

2013 年 1 月的 Real-Time Rendering 採訪中,Cabello 自述是一名自由職業網頁開發者,當時主要與 Google Data Arts Team 合作。他把 Three.js 的易用性和可擴展性看得較重,也承認 API 會隨著設計改進發生變化,使用者需通過遷移說明跟進。此處的自由職業合作身份有明確時間邊界,不能據此推定其現任僱主或職務。⁠[3]

Obsidian

2013 年 7 月,Experiments with GoogleGoogleGoogle是一家美國科技公司,由Larry Page與Sergey Brin創辦,1998年註冊成立,2015年成為Alphabet旗下企業。其業務涵蓋互聯網搜索、廣告、軟件平臺、雲計算及人工智能。點擊查看完整詞條 收錄其 Obsidian,並將其歸為使用 JavaScript、WebGL 的三維演示藝術作品。該項目展示了他在維護通用圖形工具之外繼續進行獨立實時視覺創作的路線。⁠[11]

回顧五年協作與編輯器方向

FITC 於 2015 年 4 月 20 日發佈其五週年回顧演講。Cabello 介紹了從 Canvas、SVG 到社區貢獻 WebGL 渲染器的演變,以及應用項目對功能發展的推動。他同時展示瀏覽器編輯器,希望讓設計者能導入模型、組織場景並導出成果,降低必須從代碼開始製作的門檻。⁠[8]

這次回顧把 Three.js 的發展放在社區協作中解釋:早期引擎由他發起,渲染、加載、動畫等能力則由實際項目與其他貢獻者共同推動。官網代碼庫的持續貢獻記錄也表明,不能把庫的全部實現歸為創建者個人成果。⁠[2][8]

WebGPU 與著色語言演講

在個人年表列於 2024 年 11 月的 JSConf JP 演講中,Cabello 以 Moving Three.js from WebGL to WebGPU 為題介紹新圖形後端的機會與遷移挑戰。主辦方摘要特別提及模塊化著色語言,用於簡化著色器編寫和定製,並延續 Three.js 易於使用的目標。⁠[7][1]

經典遊戲的瀏覽器移植

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]

移植 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月:公開身份與持續創作

截至 2026 年 9 月 6 日,Cabello 的公開作品年表仍以 Ricardo Cabello 為名,X 賬號使用 @mrdoob,個人實驗入口為 mrdoob.com。其公開資料將個人視覺實驗、工具開發和 Three.js 創建者身份聯繫在一起;個人賬號中的戲謔式簡介不宜作為正式職稱。⁠[7][15]

來源

  1. Moving Three.js from WebGL to WebGPU — Mr.doob(在新窗口打開)
  2. Three.js 官方代码库与 README(在新窗口打開)
  3. Interview with three.js Creator(在新窗口打開)
  4. Interview with Mr Doob(在新窗口打開)
  5. People of HTML5 – Mr. Doob(在新窗口打開)
  6. An interview with Mr.doob(在新窗口打開)
  7. Ricardo Cabello:个人作品与演讲年表(在新窗口打開)
  8. Ricardo Cabello (Mr doob) — 5 years of three.js(在新窗口打開)
  9. Three.js 首个公开版本提交(在新窗口打開)
  10. CSS3DRenderer:原 2012 年 Google+ 文章存档(在新窗口打開)
  11. Obsidian by Mr.doob(在新窗口打開)
  12. three-descent README(在新窗口打開)
  13. Mr.doob:移植 Farbrausch 的 fr-041: debris.(在新窗口打開)
  14. fr-041: debris. browser port README(在新窗口打開)
  15. Mr.doob 的公开 X 资料(在新窗口打開)