用途:面向 Three.js 项目,指导渲染器初始化、渲染循环、窗口缩放、色调映射、色彩空间、阴影、相机与渲染目标等核心渲染配置。
主要能力:提供标准初始化模式(WebGLRenderer、Scene、PerspectiveCamera、setAnimationLoop);列出构造参数(canvas、context、precision、alpha、antialias、stencil、preserveDrawingBuffer、powerPreference、depth、logarithmicDepthBuffer)及关键属性(domElement、shadowMap、toneMapping、outputColorSpace、autoClear、sortObjects、clippingPlanes、info);说明色彩管理规则(颜色贴图用 SRGBColorSpace,数据贴图用 LinearSRGBColorSpace)与色调映射选择(PBR 推荐 ACESFilmicToneMapping 或 AgXToneMapping);给出阴影类型对比(Basic、PCF、PCFSoft、VSM);覆盖透视/正交/阵列/立方相机、WebGLRenderTarget、compileAsync 预编译、viewport/scissor、全局与逐材质裁剪、dispose 清理。
使用方式:按资料中的初始化代码创建 renderer 并 append domElement;用 renderer.setAnimationLoop 驱动渲染;resize 时先更新 camera.aspect 并调用 updateProjectionMatrix(),再 setSize();修改 fov/aspect/near/far/zoom 后必须调用 updateProjectionMatrix();清理时 setAnimationLoop(null)、dispose()、移除 domElement。
限制与注意:antialias 构造后不可改;shadowMap.type 首次渲染后不可改;像素比需用 Math.min(window.devicePixelRatio, 2) 限制;生产循环避免 preserveDrawingBuffer: true;相机 near 不可为 0,far/near 比控制在 10000 以内;r160+ 用 setAnimationLoop 而非 requestAnimationFrame;静态环境勿每帧调用 cubeCamera.update()。WebGPU 渲染器为实验性,另有专门技能说明。官方文档链接见 threejs.org 对应 API 页面。