[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fou6a9e0fer6l":3},{"code":4,"message":5,"data":6,"timestamp":68},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":46,"summary_md":47,"topic":48,"github_topics":51,"license":64,"homepage":65,"updated_at":66,"history":67},"mrdoob\u002Fthree.js",13,"JavaScript 3D Library.","JavaScript",116872,36710,1355,6059,[16,22,28,34,40],{"id":17,"title":18,"points":19,"comments":20,"posted_at":21},40510468,"Three.js Shading Language",160,47,"2024-05-29",{"id":23,"title":24,"points":25,"comments":26,"posted_at":27},12149048,"PR converts the Three.js codebase to ES2015 modules",134,38,"2016-07-23",{"id":29,"title":30,"points":31,"comments":32,"posted_at":33},1293544,"Three.js: Javascript 3D engine",118,17,"2010-04-25",{"id":35,"title":36,"points":37,"comments":38,"posted_at":39},1709249,"Three.js: JavaScript 3D engine for canvas, svg, and WebGL",93,25,"2010-09-20",{"id":41,"title":42,"points":43,"comments":44,"posted_at":45},2439857,"Three.js - Javascript 3D Engine",43,7,"2011-04-12","面向浏览器的通用 3D 渲染库，用于产品展示、数据可视化等网页图形，无需引入完整游戏引擎。","## 解决什么问题\n\n在网页里做 3D，过去要么直接写 WebGL，自己处理矩阵、着色器和绘制顺序，要么引入一整套游戏引擎、让引擎决定应用结构。three.js 在 WebGL 和 WebGPU 之上提供场景图、相机、材质和渲染循环，屏幕上出现一个立方体只需要十几行代码。README 很简短——它是个库，不是产品宣传页——真正的资料在示例和文档站点里。\n\n## 有什么不同\n\n相对原生 WebGL，它去掉了样板代码，但仍贴近 GPU：你思考的是 mesh、geometry、material 和 light，而不是引擎级的 entity 和 prefab。相对 Unity、Godot 这类游戏引擎（Web 导出是一个编译后的运行时），它是嵌进现有 JavaScript 应用里的渲染库——没有编辑器、没有专有场景文件格式、没有强制的生命周期，这也正是它成为数据可视化、产品配置器和 WebXR 实验默认选择的原因。值得注意的方向是它自研的着色语言（three.js 一直在推进基于节点的 shader 体系，Hacker News 上的 \"Three.js Shading Language\" 帖子讨论的正是这个），以及多后端：主构建包含 WebGL 和 WebGPU 渲染器，SVG 和 CSS3D 渲染器以 addon 形式提供。\n\n## 适合谁\n\n需要在网页产品里放 3D 的前端开发者和创意编程者——产品配置器、可视化、作品集、小型 WebXR 场景——以及想用 JavaScript 写图形程序的研究者和艺术家。如果你需要带物理、关卡编辑和资源管线的完整游戏引擎，或者目标平台是原生应用，它并不合适。场景规模特别大的团队也应评估更底层或更专用的渲染器，因为 three.js 优先考虑易用性，而不是极限渲染吞吐。\n\n## 上手成本\n\nMIT 许可，可从 npm 安装；README 里给出的是 `import * as THREE from 'three';`，不强制任何构建工具。成本主要在概念上：理解场景图和渲染器生命周期，并持续关注 release note，因为项目迭代快，文档专门有迁移指南正是因为 API 会变。完整 clone 历史约有 2GB，这也侧面说明了项目的年头和体量。README 对架构和限制着墨很少，学习基本要靠示例站点。\n\n## 点评\n\n作为 Web 图形库，它的成熟度几乎到顶：2010 年创建，116,000+ stars、36,000+ forks，3D、WebGL、WebGPU、WebXR 都是活跃 topic。它没有上过每日 trending 榜，但月度 JavaScript 榜显示单月 +1,355 stars、排在第 13——是稳定而广泛的关注，不是短期爆发。成熟意味着示例和答案极多，也意味着 API 变化快、需要跟进。做浏览器 3D，它就是那个基准线；只有达到游戏级需求时才该考虑别的方案。",{"slug":49,"name":50},"media","多媒体与设计",[52,53,54,55,56,57,58,59,60,61,62,63],"3d","augmented-reality","canvas","html5","javascript","svg","virtual-reality","webaudio","webgl","webgl2","webgpu","webxr","MIT","https:\u002F\u002Fthreejs.org\u002F","2026-10-24T18:35:31Z",[],1792883082]