@aura3d/rendering

中文文档
4.7.0发布于 2026/10/31MITTypeScriptES Module

Render-device abstraction, WebGL2/mock backends, buffers, textures, shader modules, materials, render graphs, lighting, shadows, and particle rendering for Aura3D.

原始使用文档

@aura3d/rendering

@aura3d/rendering owns render-device abstraction, WebGL2/mock backends, buffers, geometry, textures, samplers, shader modules, shader libraries, material schemas, render pipelines, render graphs, lighting, shadows, diagnostics-facing render state, and particle rendering/effects.

Public API

  • RenderDevice, createRenderDevice, MockRenderDevice, WebGL2Device, WebGPUDevice: backend lifecycle, resource creation, draw commands, diagnostics, WebGPU device-lost reporting, and explicit WebGPU capability handling.
  • VertexFormat, VertexBuffer, IndexBuffer, Geometry, Texture, Sampler, UniformLayout, TextureBinding: GPU resource and layout data, including texture readiness and color-space binding validation.
  • PortableShaderMaterial, ShaderModule, ShaderLibrary, ShaderPreprocessor, SHADER_CHUNKS: paired GLSL/WGSL custom materials, typed portable bindings, native compiler diagnostics, atomic live replacement, shader source ownership, named variants, reflection, preprocessing, and cache-safe revisions. See docs/rendering/portable-custom-materials.md.
  • Material, MaterialInstance, MaterialBinding, UnlitMaterial, TexturedUnlitMaterial, PBRMaterial, NormalMappedPBRMaterial, MaterialPresetRegistry: material schemas, uniform/texture binding, diagnostics, and presets.
  • RenderGraph, ForwardPass, DepthPass, ShadowPass, ShadowMap, ShadowProjectionBuilder, CascadedShadowMaps, ToneMappingPass, BloomPass, FXAAPass: pass orchestration, resource lifetime plans, forward rendering, depth/shadow contracts, cascade data, and deterministic post-process passes.
  • LightCollector, LightUniforms, LightingDebug: directional, point, and spot light collection, uniform packing, and debug lines.
  • Renderer: public facade for render source submission, resize, diagnostics, and disposal.
  • Particle, ParticleEmitter, particle modules, ParticleRenderer, ParticleRenderPass, GPUParticleBackend, ParticleSystem: CPU/GPU particle spawn/update contracts, diagnostics counters, and render integration.

Verification

Renderer resources, portable custom materials, vertex formats, shader libraries, shader markers, material binding, PBR lighting, render graph ordering/lifetime plans, deterministic tone-mapping/bloom/FXAA post-process passes, shadow pass/projection, lighting debug cascades, particle rendering, GPU particle spawn/update paths, WebGPU device-lost diagnostics, WebGL2 browser pixels, visual pixels, shader verification, and performance baselines are covered by tests/unit/rendering/*.test.ts, tests/browser/portable-custom-materials.spec.ts, tests/browser/rendering-webgl2.spec.ts, tests/browser/shadow-browser.spec.ts, tests/browser/particle-browser.spec.ts, tests/browser/gpu-particle-backend.spec.ts, tests/visual/*.spec.ts, and tests/performance/system-baselines.ts. Export and import consistency is covered by pnpm verify:exports and pnpm verify:imports.

The supported low-level extension contract, lifecycle ownership, semantic-version compatibility policy, and two external-consumer proofs are documented in docs/architecture/extension-points.md and gated by pnpm renderer:extension-escape-hatch. renderer.device is a public readonly escape hatch; the renderer owns that device and disposes it.

版本与发布记录

@aura3d/rendering 共发布 47 个版本,首次发布于 2026/06/06;过去 12 个月发布了 47 个版本。

版本发布日期距今
4.7.0latest2026/10/312 天前
4.6.22026/10/304 天前
4.6.12026/10/304 天前
4.6.02026/10/304 天前
4.5.02026/10/295 天前
4.3.72026/10/286 天前

关于 @aura3d/rendering 的常见问题

@aura3d/rendering 是什么?

渲染设备抽象,WebGL2/模拟后端,缓冲,纹理,着色器模块,材料,渲染图,照明,阴影和Aura3D的粒子渲染。

如何安装 @aura3d/rendering?

在项目目录运行 npm install @aura3d/rendering,或使用 pnpm add / yarn add / bun add。

@aura3d/rendering 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aura3d/rendering 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aura3d/rendering 可以商用吗?

@aura3d/rendering 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aura3d/rendering 还在维护吗?

最新版本 4.7.0 发布于 2026/10/31(2 天前);至今共发布 47 个版本,其中过去 12 个月发布了 47 个;首次发布于 2026/06/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。