@aura3d/rendering 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ArchitecturalMaterialCatalog.d.ts +3 -3
- package/dist/CanonicalProductScene.d.ts +1 -1
- package/dist/CascadedShadowMaps.d.ts +7 -7
- package/dist/ClusteredForwardLighting.d.ts +2 -2
- package/dist/DecalGeometry.d.ts +2 -2
- package/dist/DepthPass.d.ts +4 -4
- package/dist/EnvironmentBackgroundPass.d.ts +4 -4
- package/dist/EnvironmentBackgroundResources.d.ts +2 -2
- package/dist/EnvironmentLighting.d.ts +1 -1
- package/dist/EnvironmentMapResources.d.ts +2 -2
- package/dist/EnvironmentPipeline.d.ts +2 -2
- package/dist/EnvironmentPlatform.d.ts +3 -3
- package/dist/EnvironmentPreset.d.ts +1 -1
- package/dist/Exposure.d.ts +1 -1
- package/dist/ExternalParityRenderPreset.d.ts +3 -3
- package/dist/ForwardPass.d.ts +9 -9
- package/dist/Geometry.d.ts +3 -3
- package/dist/GeometryPrimitives.d.ts +2 -2
- package/dist/HDRRenderPipeline.d.ts +4 -4
- package/dist/IBL.d.ts +4 -4
- package/dist/IndexBuffer.d.ts +1 -1
- package/dist/InstancedPBRMaterial.d.ts +2 -2
- package/dist/InstancedUnlitMaterial.d.ts +1 -1
- package/dist/Instancing.d.ts +1 -1
- package/dist/LightUniforms.d.ts +2 -2
- package/dist/LightingDebug.d.ts +2 -2
- package/dist/LightingDefaults.d.ts +2 -2
- package/dist/LightingRig.d.ts +1 -1
- package/dist/LineGeometry.d.ts +2 -2
- package/dist/Material.d.ts +1 -1
- package/dist/MaterialBinding.d.ts +3 -3
- package/dist/MaterialInstance.d.ts +2 -2
- package/dist/MaterialPresets.d.ts +2 -2
- package/dist/MeshConsolidation.d.ts +2 -2
- package/dist/MorphTarget.d.ts +1 -1
- package/dist/MorphTargetPlan.d.ts +1 -1
- package/dist/MorphUnlitMaterial.d.ts +1 -1
- package/dist/NormalMappedPBRMaterial.d.ts +4 -4
- package/dist/PBRLightingDefaults.d.ts +1 -1
- package/dist/PBRMaterial.d.ts +2 -2
- package/dist/PMREM.d.ts +2 -2
- package/dist/PortableShaderMaterial.d.ts +3 -3
- package/dist/PostProcessPass.d.ts +2 -2
- package/dist/ProceduralTexture.d.ts +1 -1
- package/dist/ProductTurntable.d.ts +3 -3
- package/dist/ReflectionProbe.d.ts +4 -4
- package/dist/ReflectionSurfaces.d.ts +2 -2
- package/dist/RenderBackend.d.ts +3 -3
- package/dist/RenderDevice.d.ts +6 -6
- package/dist/RenderGraph.d.ts +1 -1
- package/dist/RenderPass.d.ts +1 -1
- package/dist/RenderPipeline.d.ts +3 -3
- package/dist/RenderQueue.d.ts +2 -2
- package/dist/RenderState.d.ts +2 -2
- package/dist/Renderer.d.ts +14 -14
- package/dist/RendererFeatureGates.d.ts +1 -1
- package/dist/RendererPostprocessPlan.d.ts +1 -1
- package/dist/RendererVisualPipelineReport.d.ts +4 -4
- package/dist/ResourceLifecycle.d.ts +1 -1
- package/dist/SceneOptimization.d.ts +2 -2
- package/dist/ScreenSpaceLineMaterial.d.ts +1 -1
- package/dist/ShaderChunks.d.ts.map +1 -1
- package/dist/ShaderChunks.js +11 -5
- package/dist/ShaderChunks.js.map +1 -1
- package/dist/ShaderLibrary.d.ts +2 -2
- package/dist/ShaderLibrary.d.ts.map +1 -1
- package/dist/ShaderLibrary.js +17 -58
- package/dist/ShaderLibrary.js.map +1 -1
- package/dist/ShaderLibraryCore.d.ts +3 -3
- package/dist/ShaderLibraryCore.d.ts.map +1 -1
- package/dist/ShaderLibraryCore.js +3 -11
- package/dist/ShaderLibraryCore.js.map +1 -1
- package/dist/ShaderModule.d.ts +3 -3
- package/dist/ShaderReflection.d.ts +1 -1
- package/dist/ShadowMap.d.ts +1 -1
- package/dist/ShadowPass.d.ts +5 -5
- package/dist/ShadowProjection.d.ts +1 -1
- package/dist/SkinnedLitMaterial.d.ts +3 -3
- package/dist/SkinnedUnlitMaterial.d.ts +1 -1
- package/dist/SkinningBounds.d.ts +2 -2
- package/dist/SpecularPrefilter.d.ts +1 -1
- package/dist/SpriteGeometry.d.ts +1 -1
- package/dist/StereoCameraRig.d.ts +1 -1
- package/dist/StereoEffects.d.ts +1 -1
- package/dist/TerrainHeightfield.d.ts +1 -1
- package/dist/TextureBinding.d.ts +2 -2
- package/dist/TexturedPBRMaterial.d.ts +4 -4
- package/dist/TexturedUnlitMaterial.d.ts +3 -3
- package/dist/ToneMapping.d.ts +1 -1
- package/dist/UniformBinder.d.ts +1 -1
- package/dist/UnlitMaterial.d.ts +1 -1
- package/dist/VegetationScatter.d.ts +1 -1
- package/dist/VertexBuffer.d.ts +2 -2
- package/dist/WebGL2Device.d.ts +1 -1
- package/dist/WebGPUDevice.d.ts +2 -2
- package/dist/WebGPURenderToTextureProof.d.ts +1 -1
- package/dist/advanced-runtime/AdvancedRenderer.d.ts +3 -3
- package/dist/advanced-runtime/index.d.ts +9 -9
- package/dist/cinematic/BloomPass.d.ts +1 -1
- package/dist/cinematic/CinematicDepthComposition.d.ts +1 -1
- package/dist/cinematic/CinematicLightingRig.d.ts +2 -2
- package/dist/cinematic/CinematicMaterialPresets.d.ts +2 -2
- package/dist/cinematic/CinematicPostProcess.d.ts +6 -6
- package/dist/cinematic/DepthHazePass.d.ts +1 -1
- package/dist/cinematic/EmissivePracticalLightSystem.d.ts +2 -2
- package/dist/cinematic/FilmGrainPass.d.ts +1 -1
- package/dist/cinematic/FogVolumeSystem.d.ts +1 -1
- package/dist/cinematic/GlowCardSystem.d.ts +2 -2
- package/dist/cinematic/RainParticleSystem.d.ts +2 -2
- package/dist/cinematic/VignettePass.d.ts +1 -1
- package/dist/cinematic/WetReflectionApproximation.d.ts +1 -1
- package/dist/cinematic/index.d.ts +14 -14
- package/dist/index.d.ts +230 -230
- package/dist/materials/PhysicalMaterial.d.ts +1 -1
- package/dist/performance/BVH.d.ts +2 -2
- package/dist/performance/Batcher.d.ts +2 -2
- package/dist/performance/FrustumCuller.d.ts +1 -1
- package/dist/performance/Octree.d.ts +1 -1
- package/dist/postprocess/BloomPass.d.ts +1 -1
- package/dist/postprocess/CinematicDiagnostics.d.ts +1 -1
- package/dist/postprocess/ColorGradingPass.d.ts +1 -1
- package/dist/postprocess/DepthOfFieldPass.d.ts +1 -1
- package/dist/postprocess/EffectComposer.d.ts +3 -3
- package/dist/postprocess/SSAOPass.d.ts +1 -1
- package/dist/postprocess/index.d.ts +10 -10
- package/dist/production-runtime/AnimationControlsPipeline.d.ts +1 -1
- package/dist/production-runtime/PBRHDRPipeline.d.ts +4 -4
- package/dist/production-runtime/ProductionEffectsPipeline.d.ts +2 -2
- package/dist/production-runtime/ProductionRendererTypes.d.ts +2 -2
- package/dist/production-runtime/ProductionRuntimeRenderer.d.ts +3 -3
- package/dist/production-runtime/ProductionWebGL2Renderer.d.ts +4 -4
- package/dist/production-runtime/ProductionWebGPURenderer.d.ts +4 -4
- package/dist/production-runtime/TransmissionBackdropCapture.d.ts +3 -3
- package/dist/production-runtime/backends/RendererBackend.d.ts +1 -1
- package/dist/production-runtime/backends/WebGL2RendererBackend.d.ts +3 -3
- package/dist/production-runtime/backends/WebGPURendererBackend.d.ts +1 -1
- package/dist/production-runtime/backends/webgl2/WebGL2StateCache.d.ts +1 -1
- package/dist/production-runtime/diagnostics/FrameCapture.d.ts +1 -1
- package/dist/production-runtime/environment/HDRLoader.d.ts +2 -2
- package/dist/production-runtime/environment/PMREMGenerator.d.ts +1 -1
- package/dist/production-runtime/framegraph/FrameGraph.d.ts +1 -1
- package/dist/production-runtime/geometry/ProjectedDecalGeometry.d.ts +1 -1
- package/dist/production-runtime/index.d.ts +74 -74
- package/dist/production-runtime/lights/LightManager.d.ts +1 -1
- package/dist/production-runtime/lights/ShadowMapRenderer.d.ts +1 -1
- package/dist/production-runtime/materials/GLTFMaterialAdapter.d.ts +1 -1
- package/dist/production-runtime/materials/GLTFPBRMaterialAdapter.d.ts +2 -2
- package/dist/production-runtime/materials/MaterialCompiler.d.ts +2 -2
- package/dist/production-runtime/materials/MaterialTextureBindings.d.ts +1 -1
- package/dist/production-runtime/passes/ContactShadowPass.d.ts +1 -1
- package/dist/production-runtime/passes/DepthPrepass.d.ts +1 -1
- package/dist/production-runtime/passes/OpaquePass.d.ts +1 -1
- package/dist/production-runtime/passes/ShadowPass.d.ts +1 -1
- package/dist/production-runtime/passes/SkyboxPass.d.ts +1 -1
- package/dist/production-runtime/passes/ToneMappingPass.d.ts +1 -1
- package/dist/production-runtime/passes/TransparentPass.d.ts +1 -1
- package/dist/production-runtime/postprocess/BloomPass.d.ts +2 -2
- package/dist/production-runtime/postprocess/ColorGradingPass.d.ts +2 -2
- package/dist/production-runtime/postprocess/DOFPass.d.ts +2 -2
- package/dist/production-runtime/postprocess/FXAAPass.d.ts +2 -2
- package/dist/production-runtime/postprocess/ProductionEffectComposer.d.ts +1 -1
- package/dist/production-runtime/postprocess/ProductionPostProcessTypes.d.ts +1 -1
- package/dist/production-runtime/postprocess/SSAOPass.d.ts +2 -2
- package/dist/production-runtime/resources/RenderTarget.d.ts +1 -1
- package/dist/production-runtime/scene/RenderableMesh.d.ts +1 -1
- package/dist/production-runtime/scene/RenderableScene.d.ts +3 -3
- package/dist/shadows/CascadedShadowPipeline.d.ts +1 -1
- package/dist/shadows/ShadowDebugViews.d.ts +2 -2
- package/dist/threejs-example-parity/index.d.ts +4 -4
- package/dist/webgpu/WebGPUBuffer.d.ts +1 -1
- package/dist/webgpu/WebGPUCompute.d.ts +2 -2
- package/dist/webgpu/WebGPUPostProcess.d.ts +2 -2
- package/dist/webgpu/WebGPUTexture.d.ts +2 -2
- package/dist/webgpu.d.ts +3 -3
- package/package.json +3 -3
- package/dist/ArchitecturalLightingFixtures.d.ts +0 -40
- package/dist/ArchitecturalLightingFixtures.d.ts.map +0 -1
- package/dist/ArchitecturalLightingFixtures.js +0 -171
- package/dist/ArchitecturalLightingFixtures.js.map +0 -1
- package/dist/ArchitecturalMeasurementFixtures.d.ts +0 -30
- package/dist/ArchitecturalMeasurementFixtures.d.ts.map +0 -1
- package/dist/ArchitecturalMeasurementFixtures.js +0 -115
- package/dist/ArchitecturalMeasurementFixtures.js.map +0 -1
- package/dist/CanonicalSceneFixtures.d.ts +0 -13
- package/dist/CanonicalSceneFixtures.d.ts.map +0 -1
- package/dist/CanonicalSceneFixtures.js +0 -78
- package/dist/CanonicalSceneFixtures.js.map +0 -1
- package/dist/CullingFixtures.d.ts +0 -70
- package/dist/CullingFixtures.d.ts.map +0 -1
- package/dist/CullingFixtures.js +0 -191
- package/dist/CullingFixtures.js.map +0 -1
- package/dist/OceanFixtures.d.ts +0 -62
- package/dist/OceanFixtures.d.ts.map +0 -1
- package/dist/OceanFixtures.js +0 -240
- package/dist/OceanFixtures.js.map +0 -1
- package/dist/ProceduralTextureFixtures.d.ts +0 -27
- package/dist/ProceduralTextureFixtures.d.ts.map +0 -1
- package/dist/ProceduralTextureFixtures.js +0 -336
- package/dist/ProceduralTextureFixtures.js.map +0 -1
- package/dist/ProductTurntableFixtures.d.ts +0 -96
- package/dist/ProductTurntableFixtures.d.ts.map +0 -1
- package/dist/ProductTurntableFixtures.js +0 -639
- package/dist/ProductTurntableFixtures.js.map +0 -1
- package/dist/SpaceEnvironmentFixtures.d.ts +0 -59
- package/dist/SpaceEnvironmentFixtures.d.ts.map +0 -1
- package/dist/SpaceEnvironmentFixtures.js +0 -132
- package/dist/SpaceEnvironmentFixtures.js.map +0 -1
- package/dist/TerrainFixtures.d.ts +0 -60
- package/dist/TerrainFixtures.d.ts.map +0 -1
- package/dist/TerrainFixtures.js +0 -239
- package/dist/TerrainFixtures.js.map +0 -1
- package/dist/VegetationFixtures.d.ts +0 -68
- package/dist/VegetationFixtures.d.ts.map +0 -1
- package/dist/VegetationFixtures.js +0 -241
- package/dist/VegetationFixtures.js.map +0 -1
- package/dist/VoxelWorldFixtures.d.ts +0 -54
- package/dist/VoxelWorldFixtures.d.ts.map +0 -1
- package/dist/VoxelWorldFixtures.js +0 -186
- package/dist/VoxelWorldFixtures.js.map +0 -1
- package/dist/WeatherFixtures.d.ts +0 -46
- package/dist/WeatherFixtures.d.ts.map +0 -1
- package/dist/WeatherFixtures.js +0 -142
- package/dist/WeatherFixtures.js.map +0 -1
- package/dist/cartoon/CartoonMaterialStyle.d.ts +0 -19
- package/dist/cartoon/CartoonMaterialStyle.d.ts.map +0 -1
- package/dist/cartoon/CartoonMaterialStyle.js +0 -13
- package/dist/cartoon/CartoonMaterialStyle.js.map +0 -1
- package/dist/cartoon/CartoonRenderPreset.d.ts +0 -36
- package/dist/cartoon/CartoonRenderPreset.d.ts.map +0 -1
- package/dist/cartoon/CartoonRenderPreset.js +0 -23
- package/dist/cartoon/CartoonRenderPreset.js.map +0 -1
- package/dist/cartoon/CartoonToonMaterial.d.ts +0 -130
- package/dist/cartoon/CartoonToonMaterial.d.ts.map +0 -1
- package/dist/cartoon/CartoonToonMaterial.js +0 -303
- package/dist/cartoon/CartoonToonMaterial.js.map +0 -1
- package/dist/cartoon/CartoonVisualQuality.d.ts +0 -28
- package/dist/cartoon/CartoonVisualQuality.d.ts.map +0 -1
- package/dist/cartoon/CartoonVisualQuality.js +0 -39
- package/dist/cartoon/CartoonVisualQuality.js.map +0 -1
- package/dist/cartoon/applyCartoonRenderPreset.d.ts +0 -79
- package/dist/cartoon/applyCartoonRenderPreset.d.ts.map +0 -1
- package/dist/cartoon/applyCartoonRenderPreset.js +0 -88
- package/dist/cartoon/applyCartoonRenderPreset.js.map +0 -1
- package/dist/cartoon/index.d.ts +0 -6
- package/dist/cartoon/index.d.ts.map +0 -1
- package/dist/cartoon/index.js +0 -6
- package/dist/cartoon/index.js.map +0 -1
- package/dist/threejs-compatibility/InstancingSystem.d.ts +0 -10
- package/dist/threejs-compatibility/InstancingSystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/InstancingSystem.js +0 -11
- package/dist/threejs-compatibility/InstancingSystem.js.map +0 -1
- package/dist/threejs-compatibility/LightingSystem.d.ts +0 -11
- package/dist/threejs-compatibility/LightingSystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/LightingSystem.js +0 -14
- package/dist/threejs-compatibility/LightingSystem.js.map +0 -1
- package/dist/threejs-compatibility/MaterialSystem.d.ts +0 -6
- package/dist/threejs-compatibility/MaterialSystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/MaterialSystem.js +0 -7
- package/dist/threejs-compatibility/MaterialSystem.js.map +0 -1
- package/dist/threejs-compatibility/RenderTargetSystem.d.ts +0 -16
- package/dist/threejs-compatibility/RenderTargetSystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/RenderTargetSystem.js +0 -23
- package/dist/threejs-compatibility/RenderTargetSystem.js.map +0 -1
- package/dist/threejs-compatibility/RendererDiagnostics.d.ts +0 -27
- package/dist/threejs-compatibility/RendererDiagnostics.d.ts.map +0 -1
- package/dist/threejs-compatibility/RendererDiagnostics.js +0 -41
- package/dist/threejs-compatibility/RendererDiagnostics.js.map +0 -1
- package/dist/threejs-compatibility/SceneRenderer.d.ts +0 -19
- package/dist/threejs-compatibility/SceneRenderer.d.ts.map +0 -1
- package/dist/threejs-compatibility/SceneRenderer.js +0 -18
- package/dist/threejs-compatibility/SceneRenderer.js.map +0 -1
- package/dist/threejs-compatibility/ShadowSystem.d.ts +0 -11
- package/dist/threejs-compatibility/ShadowSystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/ShadowSystem.js +0 -12
- package/dist/threejs-compatibility/ShadowSystem.js.map +0 -1
- package/dist/threejs-compatibility/TextureSystem.d.ts +0 -9
- package/dist/threejs-compatibility/TextureSystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/TextureSystem.js +0 -14
- package/dist/threejs-compatibility/TextureSystem.js.map +0 -1
- package/dist/threejs-compatibility/ThreeCompatRenderer.d.ts +0 -37
- package/dist/threejs-compatibility/ThreeCompatRenderer.d.ts.map +0 -1
- package/dist/threejs-compatibility/ThreeCompatRenderer.js +0 -77
- package/dist/threejs-compatibility/ThreeCompatRenderer.js.map +0 -1
- package/dist/threejs-compatibility/TransparencySystem.d.ts +0 -11
- package/dist/threejs-compatibility/TransparencySystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/TransparencySystem.js +0 -12
- package/dist/threejs-compatibility/TransparencySystem.js.map +0 -1
- package/dist/threejs-compatibility/index.d.ts +0 -25
- package/dist/threejs-compatibility/index.d.ts.map +0 -1
- package/dist/threejs-compatibility/index.js +0 -15
- package/dist/threejs-compatibility/index.js.map +0 -1
- package/dist/threejs-compatibility/performance/BVH.d.ts +0 -11
- package/dist/threejs-compatibility/performance/BVH.d.ts.map +0 -1
- package/dist/threejs-compatibility/performance/BVH.js +0 -10
- package/dist/threejs-compatibility/performance/BVH.js.map +0 -1
- package/dist/threejs-compatibility/performance/FrustumCulling.d.ts +0 -7
- package/dist/threejs-compatibility/performance/FrustumCulling.d.ts.map +0 -1
- package/dist/threejs-compatibility/performance/FrustumCulling.js +0 -5
- package/dist/threejs-compatibility/performance/FrustumCulling.js.map +0 -1
- package/dist/threejs-compatibility/performance/Instancing.d.ts +0 -7
- package/dist/threejs-compatibility/performance/Instancing.d.ts.map +0 -1
- package/dist/threejs-compatibility/performance/Instancing.js +0 -10
- package/dist/threejs-compatibility/performance/Instancing.js.map +0 -1
- package/dist/threejs-compatibility/performance/LODSystem.d.ts +0 -9
- package/dist/threejs-compatibility/performance/LODSystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/performance/LODSystem.js +0 -11
- package/dist/threejs-compatibility/performance/LODSystem.js.map +0 -1
- package/dist/threejs-compatibility/performance/OcclusionCulling.d.ts +0 -3
- package/dist/threejs-compatibility/performance/OcclusionCulling.d.ts.map +0 -1
- package/dist/threejs-compatibility/performance/OcclusionCulling.js +0 -5
- package/dist/threejs-compatibility/performance/OcclusionCulling.js.map +0 -1
- package/dist/threejs-compatibility/performance/RaycastAcceleration.d.ts +0 -8
- package/dist/threejs-compatibility/performance/RaycastAcceleration.d.ts.map +0 -1
- package/dist/threejs-compatibility/performance/RaycastAcceleration.js +0 -11
- package/dist/threejs-compatibility/performance/RaycastAcceleration.js.map +0 -1
- package/dist/threejs-compatibility/performance/RendererProfiler.d.ts +0 -11
- package/dist/threejs-compatibility/performance/RendererProfiler.d.ts.map +0 -1
- package/dist/threejs-compatibility/performance/RendererProfiler.js +0 -10
- package/dist/threejs-compatibility/performance/RendererProfiler.js.map +0 -1
- package/dist/threejs-compatibility/performance/TextureStreaming.d.ts +0 -7
- package/dist/threejs-compatibility/performance/TextureStreaming.d.ts.map +0 -1
- package/dist/threejs-compatibility/performance/TextureStreaming.js +0 -10
- package/dist/threejs-compatibility/performance/TextureStreaming.js.map +0 -1
- package/dist/threejs-compatibility/performance/index.d.ts +0 -13
- package/dist/threejs-compatibility/performance/index.d.ts.map +0 -1
- package/dist/threejs-compatibility/performance/index.js +0 -9
- package/dist/threejs-compatibility/performance/index.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/BloomPass.d.ts +0 -9
- package/dist/threejs-compatibility/postprocess/BloomPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/BloomPass.js +0 -14
- package/dist/threejs-compatibility/postprocess/BloomPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/ColorGradingPass.d.ts +0 -10
- package/dist/threejs-compatibility/postprocess/ColorGradingPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/ColorGradingPass.js +0 -16
- package/dist/threejs-compatibility/postprocess/ColorGradingPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/DepthOfFieldPass.d.ts +0 -9
- package/dist/threejs-compatibility/postprocess/DepthOfFieldPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/DepthOfFieldPass.js +0 -19
- package/dist/threejs-compatibility/postprocess/DepthOfFieldPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/EffectComposer.d.ts +0 -7
- package/dist/threejs-compatibility/postprocess/EffectComposer.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/EffectComposer.js +0 -11
- package/dist/threejs-compatibility/postprocess/EffectComposer.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/FXAAPass.d.ts +0 -7
- package/dist/threejs-compatibility/postprocess/FXAAPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/FXAAPass.js +0 -10
- package/dist/threejs-compatibility/postprocess/FXAAPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/MotionBlurPass.d.ts +0 -9
- package/dist/threejs-compatibility/postprocess/MotionBlurPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/MotionBlurPass.js +0 -18
- package/dist/threejs-compatibility/postprocess/MotionBlurPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/OutlinePass.d.ts +0 -9
- package/dist/threejs-compatibility/postprocess/OutlinePass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/OutlinePass.js +0 -19
- package/dist/threejs-compatibility/postprocess/OutlinePass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/PostProcessTypes.d.ts +0 -42
- package/dist/threejs-compatibility/postprocess/PostProcessTypes.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/PostProcessTypes.js +0 -123
- package/dist/threejs-compatibility/postprocess/PostProcessTypes.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/RenderPass.d.ts +0 -7
- package/dist/threejs-compatibility/postprocess/RenderPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/RenderPass.js +0 -8
- package/dist/threejs-compatibility/postprocess/RenderPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/SMAAPass.d.ts +0 -7
- package/dist/threejs-compatibility/postprocess/SMAAPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/SMAAPass.js +0 -10
- package/dist/threejs-compatibility/postprocess/SMAAPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/SSAOPass.d.ts +0 -9
- package/dist/threejs-compatibility/postprocess/SSAOPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/SSAOPass.js +0 -19
- package/dist/threejs-compatibility/postprocess/SSAOPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/ShaderPass.d.ts +0 -9
- package/dist/threejs-compatibility/postprocess/ShaderPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/ShaderPass.js +0 -11
- package/dist/threejs-compatibility/postprocess/ShaderPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/TAAPass.d.ts +0 -7
- package/dist/threejs-compatibility/postprocess/TAAPass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/TAAPass.js +0 -10
- package/dist/threejs-compatibility/postprocess/TAAPass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/VignettePass.d.ts +0 -9
- package/dist/threejs-compatibility/postprocess/VignettePass.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/VignettePass.js +0 -14
- package/dist/threejs-compatibility/postprocess/VignettePass.js.map +0 -1
- package/dist/threejs-compatibility/postprocess/index.d.ts +0 -16
- package/dist/threejs-compatibility/postprocess/index.d.ts.map +0 -1
- package/dist/threejs-compatibility/postprocess/index.js +0 -15
- package/dist/threejs-compatibility/postprocess/index.js.map +0 -1
- package/dist/threejs-compatibility/shaders/NodeMaterial.d.ts +0 -14
- package/dist/threejs-compatibility/shaders/NodeMaterial.d.ts.map +0 -1
- package/dist/threejs-compatibility/shaders/NodeMaterial.js +0 -15
- package/dist/threejs-compatibility/shaders/NodeMaterial.js.map +0 -1
- package/dist/threejs-compatibility/shaders/RawShaderMaterial.d.ts +0 -6
- package/dist/threejs-compatibility/shaders/RawShaderMaterial.d.ts.map +0 -1
- package/dist/threejs-compatibility/shaders/RawShaderMaterial.js +0 -6
- package/dist/threejs-compatibility/shaders/RawShaderMaterial.js.map +0 -1
- package/dist/threejs-compatibility/shaders/ShaderDiagnostics.d.ts +0 -7
- package/dist/threejs-compatibility/shaders/ShaderDiagnostics.d.ts.map +0 -1
- package/dist/threejs-compatibility/shaders/ShaderDiagnostics.js +0 -12
- package/dist/threejs-compatibility/shaders/ShaderDiagnostics.js.map +0 -1
- package/dist/threejs-compatibility/shaders/ShaderMaterial.d.ts +0 -12
- package/dist/threejs-compatibility/shaders/ShaderMaterial.d.ts.map +0 -1
- package/dist/threejs-compatibility/shaders/ShaderMaterial.js +0 -20
- package/dist/threejs-compatibility/shaders/ShaderMaterial.js.map +0 -1
- package/dist/threejs-compatibility/shaders/ThreeCompatShaderChunks.d.ts +0 -7
- package/dist/threejs-compatibility/shaders/ThreeCompatShaderChunks.d.ts.map +0 -1
- package/dist/threejs-compatibility/shaders/ThreeCompatShaderChunks.js +0 -7
- package/dist/threejs-compatibility/shaders/ThreeCompatShaderChunks.js.map +0 -1
- package/dist/threejs-compatibility/shaders/Uniforms.d.ts +0 -8
- package/dist/threejs-compatibility/shaders/Uniforms.d.ts.map +0 -1
- package/dist/threejs-compatibility/shaders/Uniforms.js +0 -14
- package/dist/threejs-compatibility/shaders/Uniforms.js.map +0 -1
- package/dist/threejs-compatibility/shaders/index.d.ts +0 -10
- package/dist/threejs-compatibility/shaders/index.d.ts.map +0 -1
- package/dist/threejs-compatibility/shaders/index.js +0 -7
- package/dist/threejs-compatibility/shaders/index.js.map +0 -1
- package/dist/threejs-compatibility/vfx/GPUPointCloud.d.ts +0 -7
- package/dist/threejs-compatibility/vfx/GPUPointCloud.d.ts.map +0 -1
- package/dist/threejs-compatibility/vfx/GPUPointCloud.js +0 -12
- package/dist/threejs-compatibility/vfx/GPUPointCloud.js.map +0 -1
- package/dist/threejs-compatibility/vfx/LineRenderer.d.ts +0 -10
- package/dist/threejs-compatibility/vfx/LineRenderer.d.ts.map +0 -1
- package/dist/threejs-compatibility/vfx/LineRenderer.js +0 -7
- package/dist/threejs-compatibility/vfx/LineRenderer.js.map +0 -1
- package/dist/threejs-compatibility/vfx/ParticleSystem.d.ts +0 -12
- package/dist/threejs-compatibility/vfx/ParticleSystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/vfx/ParticleSystem.js +0 -15
- package/dist/threejs-compatibility/vfx/ParticleSystem.js.map +0 -1
- package/dist/threejs-compatibility/vfx/SpriteSystem.d.ts +0 -11
- package/dist/threejs-compatibility/vfx/SpriteSystem.d.ts.map +0 -1
- package/dist/threejs-compatibility/vfx/SpriteSystem.js +0 -7
- package/dist/threejs-compatibility/vfx/SpriteSystem.js.map +0 -1
- package/dist/threejs-compatibility/vfx/TrailRenderer.d.ts +0 -5
- package/dist/threejs-compatibility/vfx/TrailRenderer.d.ts.map +0 -1
- package/dist/threejs-compatibility/vfx/TrailRenderer.js +0 -9
- package/dist/threejs-compatibility/vfx/TrailRenderer.js.map +0 -1
- package/dist/threejs-compatibility/vfx/VFXDiagnostics.d.ts +0 -21
- package/dist/threejs-compatibility/vfx/VFXDiagnostics.d.ts.map +0 -1
- package/dist/threejs-compatibility/vfx/VFXDiagnostics.js +0 -12
- package/dist/threejs-compatibility/vfx/VFXDiagnostics.js.map +0 -1
- package/dist/threejs-compatibility/vfx/index.d.ts +0 -10
- package/dist/threejs-compatibility/vfx/index.d.ts.map +0 -1
- package/dist/threejs-compatibility/vfx/index.js +0 -7
- package/dist/threejs-compatibility/vfx/index.js.map +0 -1
- package/dist/webgpu-device-entry.d.ts +0 -25
- package/dist/webgpu-device-entry.d.ts.map +0 -1
- package/dist/webgpu-device-entry.js +0 -24
- package/dist/webgpu-device-entry.js.map +0 -1
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import { Material } from "../Material.js";
|
|
2
|
-
/**
|
|
3
|
-
* CartoonToonMaterial — a REAL toon / cel material for the Aura3D rendering engine.
|
|
4
|
-
*
|
|
5
|
-
* Unlike `CartoonMaterialStyle` (which is descriptive metadata consumed by nothing),
|
|
6
|
-
* this module defines an actual material that drives a dedicated GLSL program:
|
|
7
|
-
*
|
|
8
|
-
* - It quantizes the diffuse lighting term (N·L) into a small number of discrete
|
|
9
|
-
* bands ("ramp steps") instead of smoothly shading — the defining trait of cel
|
|
10
|
-
* shading.
|
|
11
|
-
* - It adds a Fresnel-style rim light that brightens silhouette edges.
|
|
12
|
-
* - It is wired into the engine the same way `PBRMaterial` / `UnlitMaterial` are:
|
|
13
|
-
* it extends `Material`, references a `shaderKey`, declares a `uniformSchema`, and
|
|
14
|
-
* seeds `parameters`. The matching shader source is registered into the default
|
|
15
|
-
* `ShaderLibrary` via `registerCartoonToonShader` (called from
|
|
16
|
-
* `createDefaultShaderLibrary`), so any renderer that resolves materials through
|
|
17
|
-
* the shader library can compile and bind this program.
|
|
18
|
-
*
|
|
19
|
-
* WHAT IS WIRED TO PIXELS:
|
|
20
|
-
* - The TS ramp/quantize math (`quantizeToonBand`, `toonDiffuseRamp`, `toonRimTerm`,
|
|
21
|
-
* `toonShadeColor`) is pure, tested, and is the exact same math the GLSL fragment
|
|
22
|
-
* shader performs (mirrored line-for-line). Any renderer that runs the
|
|
23
|
-
* `aura3d/cartoon-toon` program gets banded lighting + rim light on real fragments.
|
|
24
|
-
* - The material's uniforms (band count, rim color/power, light direction, colors)
|
|
25
|
-
* flow through the standard `Material` parameter system, so they reach the GPU
|
|
26
|
-
* through whatever uniform-binding path the active `RenderDevice` uses for other
|
|
27
|
-
* materials.
|
|
28
|
-
*
|
|
29
|
-
* WHAT IS NOT (yet) WIRED:
|
|
30
|
-
* - The cartoon shader is a single-directional-light forward program. It does NOT
|
|
31
|
-
* consume the full `u_lightData[]` array / shadow maps / IBL that the PBR shader
|
|
32
|
-
* does. It is intentionally a focused NPR program, not a PBR superset.
|
|
33
|
-
* - Outlines are NOT drawn by this material. Outlines come from the existing Sobel
|
|
34
|
-
* `outlinePixels()` post-pass, which `applyCartoonRenderPreset` enables separately.
|
|
35
|
-
*/
|
|
36
|
-
export const CARTOON_TOON_SHADER_NAME = "aura3d/cartoon-toon";
|
|
37
|
-
export const CARTOON_TOON_SHADER_MARKER = "@aura3d-shader:cartoon-toon";
|
|
38
|
-
export const CARTOON_TOON_MIN_BANDS = 2;
|
|
39
|
-
export const CARTOON_TOON_MAX_BANDS = 16;
|
|
40
|
-
/* ------------------------------------------------------------------------- *
|
|
41
|
-
* Pure ramp / quantize math.
|
|
42
|
-
*
|
|
43
|
-
* These functions are the single source of truth for the toon lighting model.
|
|
44
|
-
* The GLSL fragment shader below performs the identical computation, so testing
|
|
45
|
-
* these functions validates the actual pixel math (modulo float precision).
|
|
46
|
-
* ------------------------------------------------------------------------- */
|
|
47
|
-
function clamp01(value) {
|
|
48
|
-
return value < 0 ? 0 : value > 1 ? 1 : value;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Quantize a continuous lighting term `t` in [0, 1] into one of `bands` discrete
|
|
52
|
-
* levels, returning the band's representative value in [0, 1].
|
|
53
|
-
*
|
|
54
|
-
* With `bands = 4` the output can only be 0, 1/3, 2/3, or 1 — hard stepped shading.
|
|
55
|
-
* This mirrors GLSL `floor(t * bands) / (bands - 1)` clamped so the brightest band
|
|
56
|
-
* reaches full strength.
|
|
57
|
-
*/
|
|
58
|
-
export function quantizeToonBand(t, bands) {
|
|
59
|
-
const steps = Math.max(CARTOON_TOON_MIN_BANDS, Math.min(CARTOON_TOON_MAX_BANDS, Math.floor(bands)));
|
|
60
|
-
const clamped = clamp01(t);
|
|
61
|
-
// floor into [0, steps-1], then normalize so the top band maps to exactly 1.
|
|
62
|
-
const level = Math.min(steps - 1, Math.floor(clamped * steps));
|
|
63
|
-
return level / (steps - 1);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Toon diffuse ramp: take raw N·L (already clamped to [0, 1]), quantize it into
|
|
67
|
-
* bands, then lift the darkest band off zero by `shadowFloor` so shadows stay
|
|
68
|
-
* readable. Returns a multiplier in [shadowFloor, 1].
|
|
69
|
-
*/
|
|
70
|
-
export function toonDiffuseRamp(ndotl, bands, shadowFloor) {
|
|
71
|
-
const floor = clamp01(shadowFloor);
|
|
72
|
-
const banded = quantizeToonBand(clamp01(ndotl), bands);
|
|
73
|
-
return floor + (1 - floor) * banded;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Fresnel-style rim term: bright at grazing angles (N·V small), dark facing the
|
|
77
|
-
* camera. `ndotv` is clamped N·V. Returns rim strength in [0, rimIntensity].
|
|
78
|
-
*/
|
|
79
|
-
export function toonRimTerm(ndotv, rimPower, rimIntensity) {
|
|
80
|
-
const power = Number.isFinite(rimPower) && rimPower >= 0 ? rimPower : 2;
|
|
81
|
-
const intensity = clamp01(rimIntensity);
|
|
82
|
-
const fresnel = Math.pow(1 - clamp01(ndotv), power);
|
|
83
|
-
return clamp01(fresnel) * intensity;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Full toon shade for one fragment: banded diffuse * base * light, plus additive
|
|
87
|
-
* rim. Returns linear RGB (unclamped channels are clamped to [0, 1] for output
|
|
88
|
-
* parity with the shader's final clamp). This is exactly what the GLSL `main()`
|
|
89
|
-
* computes per pixel.
|
|
90
|
-
*/
|
|
91
|
-
export function toonShadeColor(inputs) {
|
|
92
|
-
const ramp = toonDiffuseRamp(inputs.ndotl, inputs.bands, inputs.shadowFloor);
|
|
93
|
-
const rim = toonRimTerm(inputs.ndotv, inputs.rimPower, inputs.rimIntensity);
|
|
94
|
-
const out = [0, 0, 0];
|
|
95
|
-
for (let i = 0; i < 3; i += 1) {
|
|
96
|
-
const lit = inputs.baseColor[i] * ramp * inputs.lightColor[i];
|
|
97
|
-
const rimContribution = inputs.rimColor[i] * rim;
|
|
98
|
-
out[i] = clamp01(lit + rimContribution);
|
|
99
|
-
}
|
|
100
|
-
return out;
|
|
101
|
-
}
|
|
102
|
-
/* ------------------------------------------------------------------------- *
|
|
103
|
-
* GLSL program. The fragment shader mirrors the TS math above.
|
|
104
|
-
* Registered into the default ShaderLibrary by `registerCartoonToonShader`.
|
|
105
|
-
* ------------------------------------------------------------------------- */
|
|
106
|
-
export const CARTOON_TOON_VERTEX_SOURCE = `#version 300 es
|
|
107
|
-
// ${CARTOON_TOON_SHADER_MARKER}
|
|
108
|
-
precision highp float;
|
|
109
|
-
layout(location = 0) in vec3 a_position;
|
|
110
|
-
layout(location = 1) in vec3 a_normal;
|
|
111
|
-
layout(location = 4) in vec4 a_color;
|
|
112
|
-
uniform mat4 u_modelViewProjection;
|
|
113
|
-
uniform mat4 u_modelMatrix;
|
|
114
|
-
uniform mat4 u_normalMatrix;
|
|
115
|
-
out vec3 v_normal;
|
|
116
|
-
out vec3 v_worldPosition;
|
|
117
|
-
out vec4 v_vertexColor;
|
|
118
|
-
void main() {
|
|
119
|
-
v_normal = mat3(u_normalMatrix) * a_normal;
|
|
120
|
-
v_worldPosition = (u_modelMatrix * vec4(a_position, 1.0)).xyz;
|
|
121
|
-
v_vertexColor = a_color;
|
|
122
|
-
gl_Position = u_modelViewProjection * vec4(a_position, 1.0);
|
|
123
|
-
}
|
|
124
|
-
`;
|
|
125
|
-
export const CARTOON_TOON_FRAGMENT_SOURCE = `#version 300 es
|
|
126
|
-
// ${CARTOON_TOON_SHADER_MARKER}
|
|
127
|
-
precision highp float;
|
|
128
|
-
uniform vec4 u_baseColor;
|
|
129
|
-
uniform float u_alphaCutoff;
|
|
130
|
-
uniform float u_toonBands;
|
|
131
|
-
uniform float u_toonShadowFloor;
|
|
132
|
-
uniform vec3 u_toonLightDirection;
|
|
133
|
-
uniform vec3 u_toonLightColor;
|
|
134
|
-
uniform vec3 u_toonRimColor;
|
|
135
|
-
uniform float u_toonRimPower;
|
|
136
|
-
uniform float u_toonRimIntensity;
|
|
137
|
-
uniform vec3 u_cameraPosition;
|
|
138
|
-
in vec3 v_normal;
|
|
139
|
-
in vec3 v_worldPosition;
|
|
140
|
-
in vec4 v_vertexColor;
|
|
141
|
-
out vec4 outColor;
|
|
142
|
-
|
|
143
|
-
// Quantize t in [0,1] into u_toonBands discrete levels — mirrors quantizeToonBand().
|
|
144
|
-
float a3dToonQuantize(float t, float bands) {
|
|
145
|
-
float steps = clamp(floor(bands + 0.5), 2.0, 16.0);
|
|
146
|
-
float clamped = clamp(t, 0.0, 1.0);
|
|
147
|
-
float level = min(steps - 1.0, floor(clamped * steps));
|
|
148
|
-
return level / (steps - 1.0);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
void main() {
|
|
152
|
-
vec3 normal = normalize(v_normal);
|
|
153
|
-
if (!gl_FrontFacing) normal = -normal;
|
|
154
|
-
vec3 lightDir = normalize(u_toonLightDirection);
|
|
155
|
-
vec3 viewDir = normalize(u_cameraPosition - v_worldPosition);
|
|
156
|
-
|
|
157
|
-
float ndotl = max(dot(normal, lightDir), 0.0);
|
|
158
|
-
float ndotv = clamp(dot(normal, viewDir), 0.0, 1.0);
|
|
159
|
-
|
|
160
|
-
// Banded diffuse ramp lifted off zero by the shadow floor — mirrors toonDiffuseRamp().
|
|
161
|
-
float floorTerm = clamp(u_toonShadowFloor, 0.0, 1.0);
|
|
162
|
-
float banded = a3dToonQuantize(ndotl, u_toonBands);
|
|
163
|
-
float ramp = floorTerm + (1.0 - floorTerm) * banded;
|
|
164
|
-
|
|
165
|
-
// Fresnel rim — mirrors toonRimTerm().
|
|
166
|
-
float rim = clamp(pow(1.0 - ndotv, max(u_toonRimPower, 0.0)), 0.0, 1.0) * clamp(u_toonRimIntensity, 0.0, 1.0);
|
|
167
|
-
|
|
168
|
-
vec3 base = u_baseColor.rgb * v_vertexColor.rgb;
|
|
169
|
-
vec3 lit = base * ramp * u_toonLightColor;
|
|
170
|
-
vec3 color = clamp(lit + u_toonRimColor * rim, 0.0, 1.0);
|
|
171
|
-
|
|
172
|
-
float alpha = u_baseColor.a * v_vertexColor.a;
|
|
173
|
-
if (alpha < u_alphaCutoff) discard;
|
|
174
|
-
outColor = vec4(color, alpha);
|
|
175
|
-
}
|
|
176
|
-
`;
|
|
177
|
-
export function registerCartoonToonShader(library) {
|
|
178
|
-
library.register({
|
|
179
|
-
name: CARTOON_TOON_SHADER_NAME,
|
|
180
|
-
marker: CARTOON_TOON_SHADER_MARKER,
|
|
181
|
-
vertex: CARTOON_TOON_VERTEX_SOURCE,
|
|
182
|
-
fragment: CARTOON_TOON_FRAGMENT_SOURCE
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
function identityMatrix() {
|
|
186
|
-
return new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
|
|
187
|
-
}
|
|
188
|
-
function validateUnit(value, label) {
|
|
189
|
-
if (!Number.isFinite(value) || value < 0 || value > 1) {
|
|
190
|
-
throw new RangeError(`CartoonToonMaterial ${label} must be finite and within [0, 1]`);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
function validateColor4(value, label) {
|
|
194
|
-
if (value.length !== 4 || value.some((c) => !Number.isFinite(c) || c < 0 || c > 1)) {
|
|
195
|
-
throw new RangeError(`CartoonToonMaterial ${label} must contain four finite values in [0, 1]`);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
function validateColor3(value, label) {
|
|
199
|
-
if (value.length !== 3 || value.some((c) => !Number.isFinite(c) || c < 0 || c > 1)) {
|
|
200
|
-
throw new RangeError(`CartoonToonMaterial ${label} must contain three finite values in [0, 1]`);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
function validateFiniteVec3(value, label) {
|
|
204
|
-
if (value.length !== 3 || value.some((c) => !Number.isFinite(c))) {
|
|
205
|
-
throw new RangeError(`CartoonToonMaterial ${label} must contain three finite values`);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
export class CartoonToonMaterial extends Material {
|
|
209
|
-
constructor(options = {}) {
|
|
210
|
-
const baseColor = options.baseColor ?? [0.92, 0.58, 0.16, 1];
|
|
211
|
-
const lightDirection = options.lightDirection ?? [0.3, 0.8, 0.5];
|
|
212
|
-
const lightColor = options.lightColor ?? [1, 1, 1];
|
|
213
|
-
const rimColor = options.rimColor ?? [0.6, 0.7, 1];
|
|
214
|
-
const bands = options.bands ?? 4;
|
|
215
|
-
const shadowFloor = options.shadowFloor ?? 0.35;
|
|
216
|
-
const rimPower = options.rimPower ?? 3;
|
|
217
|
-
const rimIntensity = options.rimIntensity ?? 0.5;
|
|
218
|
-
const alphaCutoff = options.alphaCutoff ?? 0;
|
|
219
|
-
validateColor4(baseColor, "baseColor");
|
|
220
|
-
validateFiniteVec3(lightDirection, "lightDirection");
|
|
221
|
-
if (Math.hypot(...lightDirection) <= 0) {
|
|
222
|
-
throw new RangeError("CartoonToonMaterial lightDirection must be non-zero");
|
|
223
|
-
}
|
|
224
|
-
validateColor3(lightColor, "lightColor");
|
|
225
|
-
validateColor3(rimColor, "rimColor");
|
|
226
|
-
if (!Number.isInteger(bands) || bands < CARTOON_TOON_MIN_BANDS || bands > CARTOON_TOON_MAX_BANDS) {
|
|
227
|
-
throw new RangeError(`CartoonToonMaterial bands must be an integer in [${CARTOON_TOON_MIN_BANDS}, ${CARTOON_TOON_MAX_BANDS}]`);
|
|
228
|
-
}
|
|
229
|
-
validateUnit(shadowFloor, "shadowFloor");
|
|
230
|
-
if (!Number.isFinite(rimPower) || rimPower < 0) {
|
|
231
|
-
throw new RangeError("CartoonToonMaterial rimPower must be finite and non-negative");
|
|
232
|
-
}
|
|
233
|
-
validateUnit(rimIntensity, "rimIntensity");
|
|
234
|
-
validateUnit(alphaCutoff, "alphaCutoff");
|
|
235
|
-
super({
|
|
236
|
-
name: options.name ?? "cartoon-toon",
|
|
237
|
-
shaderKey: CARTOON_TOON_SHADER_NAME,
|
|
238
|
-
renderState: options.renderState,
|
|
239
|
-
parameters: {
|
|
240
|
-
u_baseColor: baseColor,
|
|
241
|
-
u_alphaCutoff: alphaCutoff,
|
|
242
|
-
u_toonBands: bands,
|
|
243
|
-
u_toonShadowFloor: shadowFloor,
|
|
244
|
-
u_toonLightDirection: lightDirection,
|
|
245
|
-
u_toonLightColor: lightColor,
|
|
246
|
-
u_toonRimColor: rimColor,
|
|
247
|
-
u_toonRimPower: rimPower,
|
|
248
|
-
u_toonRimIntensity: rimIntensity,
|
|
249
|
-
u_cameraPosition: [0, 0, 0],
|
|
250
|
-
u_modelViewProjection: identityMatrix(),
|
|
251
|
-
u_modelMatrix: identityMatrix(),
|
|
252
|
-
u_normalMatrix: identityMatrix()
|
|
253
|
-
},
|
|
254
|
-
requiredAttributes: ["a_position", "a_normal"],
|
|
255
|
-
uniformSchema: [
|
|
256
|
-
{ name: "u_baseColor", kind: "vec4" },
|
|
257
|
-
{ name: "u_alphaCutoff", kind: "float" },
|
|
258
|
-
{ name: "u_toonBands", kind: "float" },
|
|
259
|
-
{ name: "u_toonShadowFloor", kind: "float" },
|
|
260
|
-
{ name: "u_toonLightDirection", kind: "vec3" },
|
|
261
|
-
{ name: "u_toonLightColor", kind: "vec3" },
|
|
262
|
-
{ name: "u_toonRimColor", kind: "vec3" },
|
|
263
|
-
{ name: "u_toonRimPower", kind: "float" },
|
|
264
|
-
{ name: "u_toonRimIntensity", kind: "float" },
|
|
265
|
-
{ name: "u_cameraPosition", kind: "vec3" },
|
|
266
|
-
{ name: "u_modelViewProjection", kind: "mat4" },
|
|
267
|
-
{ name: "u_modelMatrix", kind: "mat4" },
|
|
268
|
-
{ name: "u_normalMatrix", kind: "mat4" }
|
|
269
|
-
]
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
set baseColor(value) {
|
|
273
|
-
validateColor4(value, "baseColor");
|
|
274
|
-
this.setParameter("u_baseColor", value);
|
|
275
|
-
}
|
|
276
|
-
get baseColor() {
|
|
277
|
-
return this.getParameter("u_baseColor");
|
|
278
|
-
}
|
|
279
|
-
set bands(value) {
|
|
280
|
-
if (!Number.isInteger(value) || value < CARTOON_TOON_MIN_BANDS || value > CARTOON_TOON_MAX_BANDS) {
|
|
281
|
-
throw new RangeError(`CartoonToonMaterial bands must be an integer in [${CARTOON_TOON_MIN_BANDS}, ${CARTOON_TOON_MAX_BANDS}]`);
|
|
282
|
-
}
|
|
283
|
-
this.setParameter("u_toonBands", value);
|
|
284
|
-
}
|
|
285
|
-
get bands() {
|
|
286
|
-
return this.getParameter("u_toonBands");
|
|
287
|
-
}
|
|
288
|
-
set shadowFloor(value) {
|
|
289
|
-
validateUnit(value, "shadowFloor");
|
|
290
|
-
this.setParameter("u_toonShadowFloor", value);
|
|
291
|
-
}
|
|
292
|
-
get shadowFloor() {
|
|
293
|
-
return this.getParameter("u_toonShadowFloor");
|
|
294
|
-
}
|
|
295
|
-
set rimIntensity(value) {
|
|
296
|
-
validateUnit(value, "rimIntensity");
|
|
297
|
-
this.setParameter("u_toonRimIntensity", value);
|
|
298
|
-
}
|
|
299
|
-
get rimIntensity() {
|
|
300
|
-
return this.getParameter("u_toonRimIntensity");
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
//# sourceMappingURL=CartoonToonMaterial.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CartoonToonMaterial.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/cartoon/CartoonToonMaterial.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type FrameVisualMetrics, type FrameVisualQualityThresholds } from "../FrameVisualMetrics.js";
|
|
2
|
-
export interface CartoonFrameVisualInput {
|
|
3
|
-
readonly id: string;
|
|
4
|
-
readonly metrics: FrameVisualMetrics;
|
|
5
|
-
readonly characterCount?: number | undefined;
|
|
6
|
-
readonly captionOccluded?: boolean | undefined;
|
|
7
|
-
readonly routeChromeVisible?: boolean | undefined;
|
|
8
|
-
readonly debugOverlayVisible?: boolean | undefined;
|
|
9
|
-
}
|
|
10
|
-
export interface CartoonFrameVisualQuality {
|
|
11
|
-
readonly id: string;
|
|
12
|
-
readonly ok: boolean;
|
|
13
|
-
readonly failures: readonly string[];
|
|
14
|
-
}
|
|
15
|
-
export interface CartoonVisualQualityReport {
|
|
16
|
-
readonly kind: "cartoon-visual-quality";
|
|
17
|
-
readonly ok: boolean;
|
|
18
|
-
readonly frames: readonly CartoonFrameVisualQuality[];
|
|
19
|
-
readonly visibleCharacterCount: number;
|
|
20
|
-
readonly blockers: readonly string[];
|
|
21
|
-
}
|
|
22
|
-
export interface CartoonVisualQualityOptions {
|
|
23
|
-
readonly thresholds?: FrameVisualQualityThresholds | undefined;
|
|
24
|
-
readonly minVisibleCharacters?: number | undefined;
|
|
25
|
-
}
|
|
26
|
-
export declare function createCartoonVisualQualityReport(frames: readonly CartoonFrameVisualInput[], options?: CartoonVisualQualityOptions): CartoonVisualQualityReport;
|
|
27
|
-
export declare const defaultCartoonVisualQualityThresholds: FrameVisualQualityThresholds;
|
|
28
|
-
//# sourceMappingURL=CartoonVisualQuality.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CartoonVisualQuality.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/cartoon/CartoonVisualQuality.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,kBAAkB,EAAE,KAAK,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAElI,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACtD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpD;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,SAAS,uBAAuB,EAAE,EAC1C,OAAO,GAAE,2BAAgC,GACxC,0BAA0B,CA0B5B;AAED,eAAO,MAAM,qCAAqC,EAAE,4BASnD,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { evaluateFrameVisualQuality } from "../FrameVisualMetrics.js";
|
|
2
|
-
export function createCartoonVisualQualityReport(frames, options = {}) {
|
|
3
|
-
const thresholds = options.thresholds ?? defaultCartoonVisualQualityThresholds;
|
|
4
|
-
const frameResults = frames.map((frame) => {
|
|
5
|
-
const base = evaluateFrameVisualQuality(frame.metrics, thresholds);
|
|
6
|
-
const failures = [
|
|
7
|
-
...base.failures,
|
|
8
|
-
frame.captionOccluded ? "caption occludes important action" : undefined,
|
|
9
|
-
frame.routeChromeVisible ? "route chrome is visible" : undefined,
|
|
10
|
-
frame.debugOverlayVisible ? "debug overlay is visible" : undefined
|
|
11
|
-
].filter((failure) => Boolean(failure));
|
|
12
|
-
return { id: frame.id, ok: failures.length === 0, failures };
|
|
13
|
-
});
|
|
14
|
-
const visibleCharacterCount = Math.max(0, ...frames.map((frame) => frame.characterCount ?? 0));
|
|
15
|
-
const blockers = [
|
|
16
|
-
...frameResults.flatMap((frame) => frame.failures.map((failure) => `${frame.id}: ${failure}`)),
|
|
17
|
-
visibleCharacterCount < (options.minVisibleCharacters ?? 2)
|
|
18
|
-
? `visibleCharacterCount ${visibleCharacterCount} < ${options.minVisibleCharacters ?? 2}`
|
|
19
|
-
: undefined
|
|
20
|
-
].filter((blocker) => Boolean(blocker));
|
|
21
|
-
return {
|
|
22
|
-
kind: "cartoon-visual-quality",
|
|
23
|
-
ok: blockers.length === 0,
|
|
24
|
-
frames: frameResults,
|
|
25
|
-
visibleCharacterCount,
|
|
26
|
-
blockers
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
export const defaultCartoonVisualQualityThresholds = {
|
|
30
|
-
minNonDarkRatio: 0.08,
|
|
31
|
-
minSalientRatio: 0.035,
|
|
32
|
-
minOccupiedAreaRatio: 0.08,
|
|
33
|
-
minOccupiedQuadrants: 2,
|
|
34
|
-
minColorBuckets: 6,
|
|
35
|
-
maxDominantBucketRatio: 0.92,
|
|
36
|
-
maxFlatPixelRatio: 0.98,
|
|
37
|
-
minLocalContrastRatio: 0.002
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=CartoonVisualQuality.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CartoonVisualQuality.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/cartoon/CartoonVisualQuality.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA8D,MAAM,0BAA0B,CAAC;AA8BlI,MAAM,UAAU,gCAAgC,CAC9C,MAA0C,EAC1C,UAAuC,EAAE;IAEzC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,qCAAqC,CAAC;IAC/E,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAA6B,EAAE;QACnE,MAAM,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG;YACf,GAAG,IAAI,CAAC,QAAQ;YAChB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,SAAS;YACvE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS;YAChE,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS;SACnE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG;QACf,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QAC9F,qBAAqB,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC;YACzD,CAAC,CAAC,yBAAyB,qBAAqB,MAAM,OAAO,CAAC,oBAAoB,IAAI,CAAC,EAAE;YACzF,CAAC,CAAC,SAAS;KACd,CAAC,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,EAAE,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QACzB,MAAM,EAAE,YAAY;QACpB,qBAAqB;QACrB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,qCAAqC,GAAiC;IACjF,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,IAAI;IAC1B,oBAAoB,EAAE,CAAC;IACvB,eAAe,EAAE,CAAC;IAClB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,KAAK;CAC7B,CAAC"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { CartoonToonMaterial, type CartoonToonMaterialOptions } from "./CartoonToonMaterial.js";
|
|
2
|
-
import type { CartoonRenderPresetEvidence } from "./CartoonRenderPreset.js";
|
|
3
|
-
import type { CartoonMaterialStyle } from "./CartoonMaterialStyle.js";
|
|
4
|
-
import { type ColorGradeResult, type OutlineResult } from "../PostProcessPass.js";
|
|
5
|
-
/**
|
|
6
|
-
* applyCartoonRenderPreset — turns a (metadata) CartoonRenderPreset into the
|
|
7
|
-
* concrete, pixel-affecting treatment it describes:
|
|
8
|
-
*
|
|
9
|
-
* 1. MATERIAL: builds a real `CartoonToonMaterial` (banded N·L ramp + rim) from
|
|
10
|
-
* the preset's `materialStyle`. The band count comes from `materialStyle.rampSteps`.
|
|
11
|
-
* 2. OUTLINE: runs the existing Sobel `outlinePixels()` post-pass when the style
|
|
12
|
-
* requests outlines.
|
|
13
|
-
* 3. COLOR GRADE: pushes a stylized, slightly-saturated, gently-contrasted grade
|
|
14
|
-
* consistent with the preset (storybook look), honoring `reducedFlash`.
|
|
15
|
-
*
|
|
16
|
-
* WHAT ACTUALLY AFFECTS PIXELS (honest accounting):
|
|
17
|
-
* - `material` is a fully-wired engine material. Assigning it to scene meshes and
|
|
18
|
-
* rendering with a ShaderLibrary that has the cartoon program registered produces
|
|
19
|
-
* banded toon shading on real fragments. THIS FUNCTION DOES NOT REASSIGN SCENE
|
|
20
|
-
* MESH MATERIALS — there is no scene-graph type imported here — it RETURNS the
|
|
21
|
-
* material so the caller (which owns the scene) can assign it. That assignment
|
|
22
|
-
* step is the one piece that is the caller's responsibility, not this function's.
|
|
23
|
-
* - `outline` (when present) is a real OutlineResult whose `.pixels` ARE modified
|
|
24
|
-
* image bytes. If you pass a frame buffer, the returned bytes are drawn pixels.
|
|
25
|
-
* - `colorGrade` (when a frame is passed) is a real ColorGradeResult — modified
|
|
26
|
-
* pixels.
|
|
27
|
-
*
|
|
28
|
-
* WHAT IS NOT WIRED:
|
|
29
|
-
* - Lights / shadows from the preset are reflected in the returned `lighting`
|
|
30
|
-
* descriptor and fed into the toon material's single key-light uniforms, but the
|
|
31
|
-
* multi-light rig (`preset.lights`) is descriptive — the toon program consumes one
|
|
32
|
-
* directional key light, not the full named rig.
|
|
33
|
-
* - Bloom/fog from the preset are NOT applied here (they belong to the HDR pipeline);
|
|
34
|
-
* only outline + color grade run as post-passes in this function.
|
|
35
|
-
*/
|
|
36
|
-
export interface ApplyCartoonRenderPresetFrame {
|
|
37
|
-
/** RGBA8 pixel buffer (length === width * height * 4). */
|
|
38
|
-
readonly pixels: Uint8Array;
|
|
39
|
-
readonly width: number;
|
|
40
|
-
readonly height: number;
|
|
41
|
-
}
|
|
42
|
-
export interface CartoonRenderPresetLightingDescriptor {
|
|
43
|
-
readonly keyLightDirection: readonly [number, number, number];
|
|
44
|
-
readonly keyLightColor: readonly [number, number, number];
|
|
45
|
-
readonly softShadows: boolean;
|
|
46
|
-
readonly contactShadows: boolean;
|
|
47
|
-
/** The full named rig from the preset (descriptive — not all consumed by the toon program). */
|
|
48
|
-
readonly namedRig: readonly string[];
|
|
49
|
-
}
|
|
50
|
-
export interface ApplyCartoonRenderPresetOptions {
|
|
51
|
-
/** Optional explicit base color override for the toon material. */
|
|
52
|
-
readonly baseColor?: readonly [number, number, number, number] | undefined;
|
|
53
|
-
/** Optional toon material override knobs (light direction/colors/rim). */
|
|
54
|
-
readonly material?: Partial<CartoonToonMaterialOptions> | undefined;
|
|
55
|
-
/** Optional frame to run the outline + color-grade post-passes against. */
|
|
56
|
-
readonly frame?: ApplyCartoonRenderPresetFrame | undefined;
|
|
57
|
-
}
|
|
58
|
-
export interface ApplyCartoonRenderPresetResult {
|
|
59
|
-
readonly kind: "cartoon-render-preset-application";
|
|
60
|
-
/** Real engine material — assign to scene meshes to get banded toon pixels. */
|
|
61
|
-
readonly material: CartoonToonMaterial;
|
|
62
|
-
readonly materialStyle: CartoonMaterialStyle;
|
|
63
|
-
/** Key-light descriptor derived from the preset, also baked into the material. */
|
|
64
|
-
readonly lighting: CartoonRenderPresetLightingDescriptor;
|
|
65
|
-
/** True when the Sobel outline pass is enabled for this preset. */
|
|
66
|
-
readonly outlineEnabled: boolean;
|
|
67
|
-
/** Present only when a frame was supplied AND outlines are enabled. Real modified pixels. */
|
|
68
|
-
readonly outline?: OutlineResult | undefined;
|
|
69
|
-
/** Present only when a frame was supplied. Real modified pixels. */
|
|
70
|
-
readonly colorGrade?: ColorGradeResult | undefined;
|
|
71
|
-
/** Honest per-stage record of what touched pixels. */
|
|
72
|
-
readonly appliedToPixels: {
|
|
73
|
-
readonly toonMaterial: "returned-for-caller-assignment";
|
|
74
|
-
readonly outline: boolean;
|
|
75
|
-
readonly colorGrade: boolean;
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
export declare function applyCartoonRenderPreset(preset: CartoonRenderPresetEvidence, options?: ApplyCartoonRenderPresetOptions): ApplyCartoonRenderPresetResult;
|
|
79
|
-
//# sourceMappingURL=applyCartoonRenderPreset.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"applyCartoonRenderPreset.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/cartoon/applyCartoonRenderPreset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAmC,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,6BAA6B;IAC5C,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,+BAA+B;IAC9C,mEAAmE;IACnE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC3E,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,SAAS,CAAC;IACpE,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;CAC5D;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,mCAAmC,CAAC;IACnD,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,qCAAqC,CAAC;IACzD,mEAAmE;IACnE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACnD,sDAAsD;IACtD,QAAQ,CAAC,eAAe,EAAE;QACxB,QAAQ,CAAC,YAAY,EAAE,gCAAgC,CAAC;QACxD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;KAC9B,CAAC;CACH;AAsBD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,2BAA2B,EACnC,OAAO,GAAE,+BAAoC,GAC5C,8BAA8B,CAyEhC"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { CartoonToonMaterial } from "./CartoonToonMaterial.js";
|
|
2
|
-
import { colorGradePixels, outlinePixels } from "../PostProcessPass.js";
|
|
3
|
-
const DEFAULT_KEY_LIGHT_DIRECTION = [0.3, 0.8, 0.5];
|
|
4
|
-
/**
|
|
5
|
-
* Map a CartoonMaterialStyle.treatment to a shadow-floor that keeps the chosen
|
|
6
|
-
* look readable: flatter treatments use a higher floor (less contrast between bands).
|
|
7
|
-
*/
|
|
8
|
-
function shadowFloorForTreatment(style) {
|
|
9
|
-
switch (style.treatment) {
|
|
10
|
-
case "flat-readable":
|
|
11
|
-
return 0.6;
|
|
12
|
-
case "soft-toon":
|
|
13
|
-
return 0.45;
|
|
14
|
-
case "cel":
|
|
15
|
-
return 0.3;
|
|
16
|
-
case "preserve-pbr":
|
|
17
|
-
default:
|
|
18
|
-
return 0.4;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export function applyCartoonRenderPreset(preset, options = {}) {
|
|
22
|
-
const style = preset.materialStyle;
|
|
23
|
-
const keyLightDirection = options.material?.lightDirection ?? DEFAULT_KEY_LIGHT_DIRECTION;
|
|
24
|
-
const keyLightColor = options.material?.lightColor ?? [1, 0.97, 0.9];
|
|
25
|
-
// 1. MATERIAL — band count comes straight from the style's rampSteps (clamped to
|
|
26
|
-
// the toon material's supported [2, 16] range).
|
|
27
|
-
const bands = Math.max(2, Math.min(16, Math.round(style.rampSteps)));
|
|
28
|
-
const material = new CartoonToonMaterial({
|
|
29
|
-
name: `${preset.name}-toon`,
|
|
30
|
-
baseColor: options.baseColor ?? options.material?.baseColor ?? [0.92, 0.58, 0.16, 1],
|
|
31
|
-
bands,
|
|
32
|
-
shadowFloor: options.material?.shadowFloor ?? shadowFloorForTreatment(style),
|
|
33
|
-
lightDirection: keyLightDirection,
|
|
34
|
-
lightColor: keyLightColor,
|
|
35
|
-
rimColor: options.material?.rimColor ?? [0.6, 0.72, 1],
|
|
36
|
-
rimPower: options.material?.rimPower ?? 3,
|
|
37
|
-
// Cel treatment leans on a stronger rim for graphic edges.
|
|
38
|
-
rimIntensity: options.material?.rimIntensity ?? (style.treatment === "cel" ? 0.6 : 0.4)
|
|
39
|
-
});
|
|
40
|
-
const lighting = {
|
|
41
|
-
keyLightDirection,
|
|
42
|
-
keyLightColor: keyLightColor,
|
|
43
|
-
softShadows: preset.shadows.soft,
|
|
44
|
-
contactShadows: preset.shadows.contact,
|
|
45
|
-
namedRig: preset.lights
|
|
46
|
-
};
|
|
47
|
-
const outlineEnabled = style.outline;
|
|
48
|
-
let outline;
|
|
49
|
-
let colorGrade;
|
|
50
|
-
if (options.frame) {
|
|
51
|
-
const { pixels, width, height } = options.frame;
|
|
52
|
-
// 2. OUTLINE — real Sobel edge pass over the supplied frame.
|
|
53
|
-
let working = pixels;
|
|
54
|
-
if (outlineEnabled) {
|
|
55
|
-
outline = outlinePixels(working, width, height, {
|
|
56
|
-
// Warm storybook ink that reads against the night palette.
|
|
57
|
-
color: [24, 18, 12, 255],
|
|
58
|
-
width: 1,
|
|
59
|
-
threshold: 0.22,
|
|
60
|
-
opacity: 0.85
|
|
61
|
-
});
|
|
62
|
-
working = outline.pixels;
|
|
63
|
-
}
|
|
64
|
-
// 3. COLOR GRADE — stylized grade; reducedFlash trims saturation/contrast.
|
|
65
|
-
const punch = preset.reducedFlash ? 1 : 1.05;
|
|
66
|
-
colorGrade = colorGradePixels(working, width, height, {
|
|
67
|
-
contrast: punch,
|
|
68
|
-
saturation: 1 + style.saturationBoost,
|
|
69
|
-
vibrance: preset.reducedFlash ? 0.05 : 0.12,
|
|
70
|
-
vignette: 0.18
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
return {
|
|
74
|
-
kind: "cartoon-render-preset-application",
|
|
75
|
-
material,
|
|
76
|
-
materialStyle: style,
|
|
77
|
-
lighting,
|
|
78
|
-
outlineEnabled,
|
|
79
|
-
outline,
|
|
80
|
-
colorGrade,
|
|
81
|
-
appliedToPixels: {
|
|
82
|
-
toonMaterial: "returned-for-caller-assignment",
|
|
83
|
-
outline: outline !== undefined,
|
|
84
|
-
colorGrade: colorGrade !== undefined
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=applyCartoonRenderPreset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"applyCartoonRenderPreset.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/cartoon/applyCartoonRenderPreset.ts"],"names":[],"mappings":"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"}
|
package/dist/cartoon/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/cartoon/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC"}
|
package/dist/cartoon/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/cartoon/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface ThreeCompatInstancingSystemStatus {
|
|
2
|
-
readonly hardwareInstancing: boolean;
|
|
3
|
-
readonly perInstanceTransforms: boolean;
|
|
4
|
-
readonly perInstanceMaterialOverrides: boolean;
|
|
5
|
-
readonly instanceCountLimit: number;
|
|
6
|
-
}
|
|
7
|
-
export declare class ThreeCompatInstancingSystem {
|
|
8
|
-
getStatus(): ThreeCompatInstancingSystemStatus;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=InstancingSystem.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstancingSystem.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/threejs-compatibility/InstancingSystem.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,4BAA4B,EAAE,OAAO,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,qBAAa,2BAA2B;IACtC,SAAS,IAAI,iCAAiC;CAQ/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstancingSystem.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/threejs-compatibility/InstancingSystem.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,2BAA2B;IACtC,SAAS;QACP,OAAO;YACL,kBAAkB,EAAE,IAAI;YACxB,qBAAqB,EAAE,IAAI;YAC3B,4BAA4B,EAAE,IAAI;YAClC,kBAAkB,EAAE,MAAM;SAC3B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type ThreeCompatLightKind = "directional" | "point" | "spot" | "hemisphere" | "ambient" | "rect-area";
|
|
2
|
-
export interface ThreeCompatLightDescriptor {
|
|
3
|
-
readonly kind: ThreeCompatLightKind;
|
|
4
|
-
readonly intensity: number;
|
|
5
|
-
readonly castsShadow?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare class ThreeCompatLightingSystem {
|
|
8
|
-
readonly lightKinds: readonly ThreeCompatLightKind[];
|
|
9
|
-
createDefaultRig(): readonly ThreeCompatLightDescriptor[];
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=LightingSystem.d.ts.map
|