@aura3d/engine 1.0.0
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/README.md +115 -0
- package/dist/animation/AnimationAction.d.ts +40 -0
- package/dist/animation/AnimationAction.d.ts.map +1 -0
- package/dist/animation/AnimationAction.js +143 -0
- package/dist/animation/AnimationAction.js.map +1 -0
- package/dist/animation/AnimationClip.d.ts +24 -0
- package/dist/animation/AnimationClip.d.ts.map +1 -0
- package/dist/animation/AnimationClip.js +45 -0
- package/dist/animation/AnimationClip.js.map +1 -0
- package/dist/animation/AnimationEvents.d.ts +10 -0
- package/dist/animation/AnimationEvents.d.ts.map +1 -0
- package/dist/animation/AnimationEvents.js +26 -0
- package/dist/animation/AnimationEvents.js.map +1 -0
- package/dist/animation/AnimationLayer.d.ts +27 -0
- package/dist/animation/AnimationLayer.d.ts.map +1 -0
- package/dist/animation/AnimationLayer.js +53 -0
- package/dist/animation/AnimationLayer.js.map +1 -0
- package/dist/animation/AnimationMixer.d.ts +54 -0
- package/dist/animation/AnimationMixer.d.ts.map +1 -0
- package/dist/animation/AnimationMixer.js +319 -0
- package/dist/animation/AnimationMixer.js.map +1 -0
- package/dist/animation/AnimationStateMachine.d.ts +43 -0
- package/dist/animation/AnimationStateMachine.d.ts.map +1 -0
- package/dist/animation/AnimationStateMachine.js +92 -0
- package/dist/animation/AnimationStateMachine.js.map +1 -0
- package/dist/animation/AnimationTrack.d.ts +23 -0
- package/dist/animation/AnimationTrack.d.ts.map +1 -0
- package/dist/animation/AnimationTrack.js +124 -0
- package/dist/animation/AnimationTrack.js.map +1 -0
- package/dist/animation/BlendTree.d.ts +23 -0
- package/dist/animation/BlendTree.d.ts.map +1 -0
- package/dist/animation/BlendTree.js +68 -0
- package/dist/animation/BlendTree.js.map +1 -0
- package/dist/animation/Bone.d.ts +20 -0
- package/dist/animation/Bone.d.ts.map +1 -0
- package/dist/animation/Bone.js +24 -0
- package/dist/animation/Bone.js.map +1 -0
- package/dist/animation/CrowdAnimation.d.ts +13 -0
- package/dist/animation/CrowdAnimation.d.ts.map +1 -0
- package/dist/animation/CrowdAnimation.js +14 -0
- package/dist/animation/CrowdAnimation.js.map +1 -0
- package/dist/animation/ECSAnimationBridge.d.ts +9 -0
- package/dist/animation/ECSAnimationBridge.d.ts.map +1 -0
- package/dist/animation/ECSAnimationBridge.js +24 -0
- package/dist/animation/ECSAnimationBridge.js.map +1 -0
- package/dist/animation/IK.d.ts +24 -0
- package/dist/animation/IK.d.ts.map +1 -0
- package/dist/animation/IK.js +76 -0
- package/dist/animation/IK.js.map +1 -0
- package/dist/animation/Keyframe.d.ts +50 -0
- package/dist/animation/Keyframe.d.ts.map +1 -0
- package/dist/animation/Keyframe.js +118 -0
- package/dist/animation/Keyframe.js.map +1 -0
- package/dist/animation/LocomotionController.d.ts +47 -0
- package/dist/animation/LocomotionController.d.ts.map +1 -0
- package/dist/animation/LocomotionController.js +106 -0
- package/dist/animation/LocomotionController.js.map +1 -0
- package/dist/animation/MotionMatchingFixtures.d.ts +58 -0
- package/dist/animation/MotionMatchingFixtures.d.ts.map +1 -0
- package/dist/animation/MotionMatchingFixtures.js +175 -0
- package/dist/animation/MotionMatchingFixtures.js.map +1 -0
- package/dist/animation/MotionQuality.d.ts +36 -0
- package/dist/animation/MotionQuality.d.ts.map +1 -0
- package/dist/animation/MotionQuality.js +117 -0
- package/dist/animation/MotionQuality.js.map +1 -0
- package/dist/animation/Retargeting.d.ts +12 -0
- package/dist/animation/Retargeting.d.ts.map +1 -0
- package/dist/animation/Retargeting.js +19 -0
- package/dist/animation/Retargeting.js.map +1 -0
- package/dist/animation/RootMotion.d.ts +21 -0
- package/dist/animation/RootMotion.d.ts.map +1 -0
- package/dist/animation/RootMotion.js +84 -0
- package/dist/animation/RootMotion.js.map +1 -0
- package/dist/animation/SceneAnimationBridge.d.ts +18 -0
- package/dist/animation/SceneAnimationBridge.d.ts.map +1 -0
- package/dist/animation/SceneAnimationBridge.js +69 -0
- package/dist/animation/SceneAnimationBridge.js.map +1 -0
- package/dist/animation/SecondaryAnimationFixtures.d.ts +55 -0
- package/dist/animation/SecondaryAnimationFixtures.d.ts.map +1 -0
- package/dist/animation/SecondaryAnimationFixtures.js +147 -0
- package/dist/animation/SecondaryAnimationFixtures.js.map +1 -0
- package/dist/animation/Skeleton.d.ts +9 -0
- package/dist/animation/Skeleton.d.ts.map +1 -0
- package/dist/animation/Skeleton.js +31 -0
- package/dist/animation/Skeleton.js.map +1 -0
- package/dist/animation/Skinning.d.ts +7 -0
- package/dist/animation/Skinning.d.ts.map +1 -0
- package/dist/animation/Skinning.js +12 -0
- package/dist/animation/Skinning.js.map +1 -0
- package/dist/animation/browser-index.d.ts +21 -0
- package/dist/animation/browser-index.d.ts.map +1 -0
- package/dist/animation/browser-index.js +21 -0
- package/dist/animation/browser-index.js.map +1 -0
- package/dist/animation/index.d.ts +24 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/animation/index.js +24 -0
- package/dist/animation/index.js.map +1 -0
- package/dist/animation/threejs-compatibility/AnimationAction.d.ts +16 -0
- package/dist/animation/threejs-compatibility/AnimationAction.d.ts.map +1 -0
- package/dist/animation/threejs-compatibility/AnimationAction.js +25 -0
- package/dist/animation/threejs-compatibility/AnimationAction.js.map +1 -0
- package/dist/animation/threejs-compatibility/AnimationClip.d.ts +14 -0
- package/dist/animation/threejs-compatibility/AnimationClip.d.ts.map +1 -0
- package/dist/animation/threejs-compatibility/AnimationClip.js +11 -0
- package/dist/animation/threejs-compatibility/AnimationClip.js.map +1 -0
- package/dist/animation/threejs-compatibility/AnimationDiagnostics.d.ts +44 -0
- package/dist/animation/threejs-compatibility/AnimationDiagnostics.d.ts.map +1 -0
- package/dist/animation/threejs-compatibility/AnimationDiagnostics.js +31 -0
- package/dist/animation/threejs-compatibility/AnimationDiagnostics.js.map +1 -0
- package/dist/animation/threejs-compatibility/AnimationMixer.d.ts +9 -0
- package/dist/animation/threejs-compatibility/AnimationMixer.d.ts.map +1 -0
- package/dist/animation/threejs-compatibility/AnimationMixer.js +24 -0
- package/dist/animation/threejs-compatibility/AnimationMixer.js.map +1 -0
- package/dist/animation/threejs-compatibility/MorphTargetMixer.d.ts +10 -0
- package/dist/animation/threejs-compatibility/MorphTargetMixer.d.ts.map +1 -0
- package/dist/animation/threejs-compatibility/MorphTargetMixer.js +10 -0
- package/dist/animation/threejs-compatibility/MorphTargetMixer.js.map +1 -0
- package/dist/animation/threejs-compatibility/Skeleton.d.ts +10 -0
- package/dist/animation/threejs-compatibility/Skeleton.d.ts.map +1 -0
- package/dist/animation/threejs-compatibility/Skeleton.js +8 -0
- package/dist/animation/threejs-compatibility/Skeleton.js.map +1 -0
- package/dist/animation/threejs-compatibility/SkinnedMesh.d.ts +11 -0
- package/dist/animation/threejs-compatibility/SkinnedMesh.d.ts.map +1 -0
- package/dist/animation/threejs-compatibility/SkinnedMesh.js +16 -0
- package/dist/animation/threejs-compatibility/SkinnedMesh.js.map +1 -0
- package/dist/animation/threejs-compatibility/index.d.ts +12 -0
- package/dist/animation/threejs-compatibility/index.d.ts.map +1 -0
- package/dist/animation/threejs-compatibility/index.js +8 -0
- package/dist/animation/threejs-compatibility/index.js.map +1 -0
- package/dist/apps/index.d.ts +50 -0
- package/dist/apps/index.d.ts.map +1 -0
- package/dist/apps/index.js +99 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/assets/AdvancedAssetCorpus.d.ts +124 -0
- package/dist/assets/AdvancedAssetCorpus.d.ts.map +1 -0
- package/dist/assets/AdvancedAssetCorpus.js +266 -0
- package/dist/assets/AdvancedAssetCorpus.js.map +1 -0
- package/dist/assets/AssetBundleCacheFixtures.d.ts +62 -0
- package/dist/assets/AssetBundleCacheFixtures.d.ts.map +1 -0
- package/dist/assets/AssetBundleCacheFixtures.js +222 -0
- package/dist/assets/AssetBundleCacheFixtures.js.map +1 -0
- package/dist/assets/AssetCache.d.ts +21 -0
- package/dist/assets/AssetCache.d.ts.map +1 -0
- package/dist/assets/AssetCache.js +54 -0
- package/dist/assets/AssetCache.js.map +1 -0
- package/dist/assets/AssetCompatibility.d.ts +54 -0
- package/dist/assets/AssetCompatibility.d.ts.map +1 -0
- package/dist/assets/AssetCompatibility.js +122 -0
- package/dist/assets/AssetCompatibility.js.map +1 -0
- package/dist/assets/AssetCorpus.d.ts +88 -0
- package/dist/assets/AssetCorpus.d.ts.map +1 -0
- package/dist/assets/AssetCorpus.js +215 -0
- package/dist/assets/AssetCorpus.js.map +1 -0
- package/dist/assets/AssetDependencyGraph.d.ts +12 -0
- package/dist/assets/AssetDependencyGraph.d.ts.map +1 -0
- package/dist/assets/AssetDependencyGraph.js +66 -0
- package/dist/assets/AssetDependencyGraph.js.map +1 -0
- package/dist/assets/AssetHandle.d.ts +26 -0
- package/dist/assets/AssetHandle.d.ts.map +1 -0
- package/dist/assets/AssetHandle.js +53 -0
- package/dist/assets/AssetHandle.js.map +1 -0
- package/dist/assets/AssetImportPreflight.d.ts +43 -0
- package/dist/assets/AssetImportPreflight.d.ts.map +1 -0
- package/dist/assets/AssetImportPreflight.js +117 -0
- package/dist/assets/AssetImportPreflight.js.map +1 -0
- package/dist/assets/AssetInspection.d.ts +183 -0
- package/dist/assets/AssetInspection.d.ts.map +1 -0
- package/dist/assets/AssetInspection.js +397 -0
- package/dist/assets/AssetInspection.js.map +1 -0
- package/dist/assets/AssetLoader.d.ts +26 -0
- package/dist/assets/AssetLoader.d.ts.map +1 -0
- package/dist/assets/AssetLoader.js +12 -0
- package/dist/assets/AssetLoader.js.map +1 -0
- package/dist/assets/AssetManager.d.ts +37 -0
- package/dist/assets/AssetManager.d.ts.map +1 -0
- package/dist/assets/AssetManager.js +161 -0
- package/dist/assets/AssetManager.js.map +1 -0
- package/dist/assets/AssetRegistry.d.ts +10 -0
- package/dist/assets/AssetRegistry.d.ts.map +1 -0
- package/dist/assets/AssetRegistry.js +34 -0
- package/dist/assets/AssetRegistry.js.map +1 -0
- package/dist/assets/AssetRenderDefaults.d.ts +13 -0
- package/dist/assets/AssetRenderDefaults.d.ts.map +1 -0
- package/dist/assets/AssetRenderDefaults.js +23 -0
- package/dist/assets/AssetRenderDefaults.js.map +1 -0
- package/dist/assets/AudioLoader.d.ts +17 -0
- package/dist/assets/AudioLoader.d.ts.map +1 -0
- package/dist/assets/AudioLoader.js +23 -0
- package/dist/assets/AudioLoader.js.map +1 -0
- package/dist/assets/BlenderExportValidation.d.ts +64 -0
- package/dist/assets/BlenderExportValidation.d.ts.map +1 -0
- package/dist/assets/BlenderExportValidation.js +143 -0
- package/dist/assets/BlenderExportValidation.js.map +1 -0
- package/dist/assets/CarConceptMaterialStability.d.ts +28 -0
- package/dist/assets/CarConceptMaterialStability.d.ts.map +1 -0
- package/dist/assets/CarConceptMaterialStability.js +1308 -0
- package/dist/assets/CarConceptMaterialStability.js.map +1 -0
- package/dist/assets/EXRLoader.d.ts +2 -0
- package/dist/assets/EXRLoader.d.ts.map +1 -0
- package/dist/assets/EXRLoader.js +2 -0
- package/dist/assets/EXRLoader.js.map +1 -0
- package/dist/assets/ExternalParityGLTFCorpus.d.ts +39 -0
- package/dist/assets/ExternalParityGLTFCorpus.d.ts.map +1 -0
- package/dist/assets/ExternalParityGLTFCorpus.js +32 -0
- package/dist/assets/ExternalParityGLTFCorpus.js.map +1 -0
- package/dist/assets/GLTFAnimationRuntime.d.ts +243 -0
- package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -0
- package/dist/assets/GLTFAnimationRuntime.js +954 -0
- package/dist/assets/GLTFAnimationRuntime.js.map +1 -0
- package/dist/assets/GLTFCompressionDecoders.d.ts +42 -0
- package/dist/assets/GLTFCompressionDecoders.d.ts.map +1 -0
- package/dist/assets/GLTFCompressionDecoders.js +99 -0
- package/dist/assets/GLTFCompressionDecoders.js.map +1 -0
- package/dist/assets/GLTFExtensionSupport.d.ts +33 -0
- package/dist/assets/GLTFExtensionSupport.d.ts.map +1 -0
- package/dist/assets/GLTFExtensionSupport.js +85 -0
- package/dist/assets/GLTFExtensionSupport.js.map +1 -0
- package/dist/assets/GLTFLoader.d.ts +361 -0
- package/dist/assets/GLTFLoader.d.ts.map +1 -0
- package/dist/assets/GLTFLoader.js +2735 -0
- package/dist/assets/GLTFLoader.js.map +1 -0
- package/dist/assets/GLTFRenderResources.d.ts +162 -0
- package/dist/assets/GLTFRenderResources.d.ts.map +1 -0
- package/dist/assets/GLTFRenderResources.js +1684 -0
- package/dist/assets/GLTFRenderResources.js.map +1 -0
- package/dist/assets/HDRLoader.d.ts +2 -0
- package/dist/assets/HDRLoader.d.ts.map +1 -0
- package/dist/assets/HDRLoader.js +2 -0
- package/dist/assets/HDRLoader.js.map +1 -0
- package/dist/assets/ImageLoader.d.ts +15 -0
- package/dist/assets/ImageLoader.d.ts.map +1 -0
- package/dist/assets/ImageLoader.js +36 -0
- package/dist/assets/ImageLoader.js.map +1 -0
- package/dist/assets/ImportPipeline.d.ts +39 -0
- package/dist/assets/ImportPipeline.d.ts.map +1 -0
- package/dist/assets/ImportPipeline.js +105 -0
- package/dist/assets/ImportPipeline.js.map +1 -0
- package/dist/assets/KTX2BasisTextureTranscoder.d.ts +9 -0
- package/dist/assets/KTX2BasisTextureTranscoder.d.ts.map +1 -0
- package/dist/assets/KTX2BasisTextureTranscoder.js +178 -0
- package/dist/assets/KTX2BasisTextureTranscoder.js.map +1 -0
- package/dist/assets/LoadContext.d.ts +20 -0
- package/dist/assets/LoadContext.d.ts.map +1 -0
- package/dist/assets/LoadContext.js +42 -0
- package/dist/assets/LoadContext.js.map +1 -0
- package/dist/assets/MaterialLoader.d.ts +17 -0
- package/dist/assets/MaterialLoader.d.ts.map +1 -0
- package/dist/assets/MaterialLoader.js +138 -0
- package/dist/assets/MaterialLoader.js.map +1 -0
- package/dist/assets/MeshOptimization.d.ts +20 -0
- package/dist/assets/MeshOptimization.d.ts.map +1 -0
- package/dist/assets/MeshOptimization.js +65 -0
- package/dist/assets/MeshOptimization.js.map +1 -0
- package/dist/assets/OBJLoader.d.ts +13 -0
- package/dist/assets/OBJLoader.d.ts.map +1 -0
- package/dist/assets/OBJLoader.js +492 -0
- package/dist/assets/OBJLoader.js.map +1 -0
- package/dist/assets/SceneAnalysisFixtures.d.ts +100 -0
- package/dist/assets/SceneAnalysisFixtures.d.ts.map +1 -0
- package/dist/assets/SceneAnalysisFixtures.js +331 -0
- package/dist/assets/SceneAnalysisFixtures.js.map +1 -0
- package/dist/assets/SceneLoader.d.ts +27 -0
- package/dist/assets/SceneLoader.d.ts.map +1 -0
- package/dist/assets/SceneLoader.js +40 -0
- package/dist/assets/SceneLoader.js.map +1 -0
- package/dist/assets/ShaderLoader.d.ts +12 -0
- package/dist/assets/ShaderLoader.d.ts.map +1 -0
- package/dist/assets/ShaderLoader.js +18 -0
- package/dist/assets/ShaderLoader.js.map +1 -0
- package/dist/assets/TextureLoader.d.ts +16 -0
- package/dist/assets/TextureLoader.d.ts.map +1 -0
- package/dist/assets/TextureLoader.js +17 -0
- package/dist/assets/TextureLoader.js.map +1 -0
- package/dist/assets/TexturePipeline.d.ts +24 -0
- package/dist/assets/TexturePipeline.d.ts.map +1 -0
- package/dist/assets/TexturePipeline.js +64 -0
- package/dist/assets/TexturePipeline.js.map +1 -0
- package/dist/assets/TextureStreaming.d.ts +10 -0
- package/dist/assets/TextureStreaming.d.ts.map +1 -0
- package/dist/assets/TextureStreaming.js +11 -0
- package/dist/assets/TextureStreaming.js.map +1 -0
- package/dist/assets/WorkerAssetJobs.d.ts +18 -0
- package/dist/assets/WorkerAssetJobs.d.ts.map +1 -0
- package/dist/assets/WorkerAssetJobs.js +37 -0
- package/dist/assets/WorkerAssetJobs.js.map +1 -0
- package/dist/assets/advanced-gallery/index.d.ts +3 -0
- package/dist/assets/advanced-gallery/index.d.ts.map +1 -0
- package/dist/assets/advanced-gallery/index.js +2 -0
- package/dist/assets/advanced-gallery/index.js.map +1 -0
- package/dist/assets/asset-corpus/GLTFSceneLoader.d.ts +3 -0
- package/dist/assets/asset-corpus/GLTFSceneLoader.d.ts.map +1 -0
- package/dist/assets/asset-corpus/GLTFSceneLoader.js +2 -0
- package/dist/assets/asset-corpus/GLTFSceneLoader.js.map +1 -0
- package/dist/assets/asset-corpus/ProductionAssetCorpus.d.ts +89 -0
- package/dist/assets/asset-corpus/ProductionAssetCorpus.d.ts.map +1 -0
- package/dist/assets/asset-corpus/ProductionAssetCorpus.js +116 -0
- package/dist/assets/asset-corpus/ProductionAssetCorpus.js.map +1 -0
- package/dist/assets/asset-corpus/ProductionAssetPipeline.d.ts +3 -0
- package/dist/assets/asset-corpus/ProductionAssetPipeline.d.ts.map +1 -0
- package/dist/assets/asset-corpus/ProductionAssetPipeline.js +3 -0
- package/dist/assets/asset-corpus/ProductionAssetPipeline.js.map +1 -0
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts +65 -0
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts.map +1 -0
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js +110 -0
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js.map +1 -0
- package/dist/assets/asset-corpus/ProductionHDRTextureLoader.d.ts +8 -0
- package/dist/assets/asset-corpus/ProductionHDRTextureLoader.d.ts.map +1 -0
- package/dist/assets/asset-corpus/ProductionHDRTextureLoader.js +2 -0
- package/dist/assets/asset-corpus/ProductionHDRTextureLoader.js.map +1 -0
- package/dist/assets/asset-corpus/ProductionKTX2TextureLoader.d.ts +7 -0
- package/dist/assets/asset-corpus/ProductionKTX2TextureLoader.d.ts.map +1 -0
- package/dist/assets/asset-corpus/ProductionKTX2TextureLoader.js +2 -0
- package/dist/assets/asset-corpus/ProductionKTX2TextureLoader.js.map +1 -0
- package/dist/assets/asset-corpus/ProductionTextureLoader.d.ts +7 -0
- package/dist/assets/asset-corpus/ProductionTextureLoader.d.ts.map +1 -0
- package/dist/assets/asset-corpus/ProductionTextureLoader.js +2 -0
- package/dist/assets/asset-corpus/ProductionTextureLoader.js.map +1 -0
- package/dist/assets/asset-corpus/index.d.ts +10 -0
- package/dist/assets/asset-corpus/index.d.ts.map +1 -0
- package/dist/assets/asset-corpus/index.js +8 -0
- package/dist/assets/asset-corpus/index.js.map +1 -0
- package/dist/assets/browser-index.d.ts +48 -0
- package/dist/assets/browser-index.d.ts.map +1 -0
- package/dist/assets/browser-index.js +26 -0
- package/dist/assets/browser-index.js.map +1 -0
- package/dist/assets/createRenderableScene.d.ts +23 -0
- package/dist/assets/createRenderableScene.d.ts.map +1 -0
- package/dist/assets/createRenderableScene.js +94 -0
- package/dist/assets/createRenderableScene.js.map +1 -0
- package/dist/assets/index.d.ts +82 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +45 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/assets/loadRenderableAsset.d.ts +16 -0
- package/dist/assets/loadRenderableAsset.d.ts.map +1 -0
- package/dist/assets/loadRenderableAsset.js +50 -0
- package/dist/assets/loadRenderableAsset.js.map +1 -0
- package/dist/assets/loaders/CubeTextureLoader.d.ts +4 -0
- package/dist/assets/loaders/CubeTextureLoader.d.ts.map +1 -0
- package/dist/assets/loaders/CubeTextureLoader.js +9 -0
- package/dist/assets/loaders/CubeTextureLoader.js.map +1 -0
- package/dist/assets/loaders/EXRLoader.d.ts +4 -0
- package/dist/assets/loaders/EXRLoader.d.ts.map +1 -0
- package/dist/assets/loaders/EXRLoader.js +10 -0
- package/dist/assets/loaders/EXRLoader.js.map +1 -0
- package/dist/assets/loaders/HDRLoader.d.ts +4 -0
- package/dist/assets/loaders/HDRLoader.d.ts.map +1 -0
- package/dist/assets/loaders/HDRLoader.js +7 -0
- package/dist/assets/loaders/HDRLoader.js.map +1 -0
- package/dist/assets/loaders/KTX2Loader.d.ts +4 -0
- package/dist/assets/loaders/KTX2Loader.d.ts.map +1 -0
- package/dist/assets/loaders/KTX2Loader.js +7 -0
- package/dist/assets/loaders/KTX2Loader.js.map +1 -0
- package/dist/assets/loaders/LoaderDiagnostics.d.ts +18 -0
- package/dist/assets/loaders/LoaderDiagnostics.d.ts.map +1 -0
- package/dist/assets/loaders/LoaderDiagnostics.js +18 -0
- package/dist/assets/loaders/LoaderDiagnostics.js.map +1 -0
- package/dist/assets/loaders/MTLLoader.d.ts +10 -0
- package/dist/assets/loaders/MTLLoader.d.ts.map +1 -0
- package/dist/assets/loaders/MTLLoader.js +14 -0
- package/dist/assets/loaders/MTLLoader.js.map +1 -0
- package/dist/assets/loaders/OBJLoader.d.ts +12 -0
- package/dist/assets/loaders/OBJLoader.d.ts.map +1 -0
- package/dist/assets/loaders/OBJLoader.js +16 -0
- package/dist/assets/loaders/OBJLoader.js.map +1 -0
- package/dist/assets/loaders/TextureLoader.d.ts +6 -0
- package/dist/assets/loaders/TextureLoader.d.ts.map +1 -0
- package/dist/assets/loaders/TextureLoader.js +11 -0
- package/dist/assets/loaders/TextureLoader.js.map +1 -0
- package/dist/assets/loaders/ThreeCompatGLTFLoader.d.ts +10 -0
- package/dist/assets/loaders/ThreeCompatGLTFLoader.d.ts.map +1 -0
- package/dist/assets/loaders/ThreeCompatGLTFLoader.js +13 -0
- package/dist/assets/loaders/ThreeCompatGLTFLoader.js.map +1 -0
- package/dist/assets/loaders/index.d.ts +15 -0
- package/dist/assets/loaders/index.d.ts.map +1 -0
- package/dist/assets/loaders/index.js +10 -0
- package/dist/assets/loaders/index.js.map +1 -0
- package/dist/assets/threejs-compatibility/ThreeCompatAssetProvenance.d.ts +34 -0
- package/dist/assets/threejs-compatibility/ThreeCompatAssetProvenance.d.ts.map +1 -0
- package/dist/assets/threejs-compatibility/ThreeCompatAssetProvenance.js +16 -0
- package/dist/assets/threejs-compatibility/ThreeCompatAssetProvenance.js.map +1 -0
- package/dist/assets/threejs-compatibility/ThreeCompatAssetRegistry.d.ts +29 -0
- package/dist/assets/threejs-compatibility/ThreeCompatAssetRegistry.d.ts.map +1 -0
- package/dist/assets/threejs-compatibility/ThreeCompatAssetRegistry.js +33 -0
- package/dist/assets/threejs-compatibility/ThreeCompatAssetRegistry.js.map +1 -0
- package/dist/assets/threejs-example-parity/index.d.ts +20 -0
- package/dist/assets/threejs-example-parity/index.d.ts.map +1 -0
- package/dist/assets/threejs-example-parity/index.js +218 -0
- package/dist/assets/threejs-example-parity/index.js.map +1 -0
- package/dist/audio/AdaptiveMusicFixtures.d.ts +36 -0
- package/dist/audio/AdaptiveMusicFixtures.d.ts.map +1 -0
- package/dist/audio/AdaptiveMusicFixtures.js +90 -0
- package/dist/audio/AdaptiveMusicFixtures.js.map +1 -0
- package/dist/audio/AudioBus.d.ts +13 -0
- package/dist/audio/AudioBus.d.ts.map +1 -0
- package/dist/audio/AudioBus.js +32 -0
- package/dist/audio/AudioBus.js.map +1 -0
- package/dist/audio/AudioClip.d.ts +13 -0
- package/dist/audio/AudioClip.d.ts.map +1 -0
- package/dist/audio/AudioClip.js +18 -0
- package/dist/audio/AudioClip.js.map +1 -0
- package/dist/audio/AudioContextManager.d.ts +31 -0
- package/dist/audio/AudioContextManager.d.ts.map +1 -0
- package/dist/audio/AudioContextManager.js +49 -0
- package/dist/audio/AudioContextManager.js.map +1 -0
- package/dist/audio/AudioEffect.d.ts +8 -0
- package/dist/audio/AudioEffect.d.ts.map +1 -0
- package/dist/audio/AudioEffect.js +2 -0
- package/dist/audio/AudioEffect.js.map +1 -0
- package/dist/audio/AudioEffectsAnalysisFixtures.d.ts +99 -0
- package/dist/audio/AudioEffectsAnalysisFixtures.d.ts.map +1 -0
- package/dist/audio/AudioEffectsAnalysisFixtures.js +192 -0
- package/dist/audio/AudioEffectsAnalysisFixtures.js.map +1 -0
- package/dist/audio/AudioListener.d.ts +12 -0
- package/dist/audio/AudioListener.d.ts.map +1 -0
- package/dist/audio/AudioListener.js +11 -0
- package/dist/audio/AudioListener.js.map +1 -0
- package/dist/audio/AudioMixer.d.ts +12 -0
- package/dist/audio/AudioMixer.d.ts.map +1 -0
- package/dist/audio/AudioMixer.js +33 -0
- package/dist/audio/AudioMixer.js.map +1 -0
- package/dist/audio/AudioSource.d.ts +25 -0
- package/dist/audio/AudioSource.d.ts.map +1 -0
- package/dist/audio/AudioSource.js +58 -0
- package/dist/audio/AudioSource.js.map +1 -0
- package/dist/audio/AudioSystem.d.ts +13 -0
- package/dist/audio/AudioSystem.d.ts.map +1 -0
- package/dist/audio/AudioSystem.js +28 -0
- package/dist/audio/AudioSystem.js.map +1 -0
- package/dist/audio/SceneAudioBridge.d.ts +19 -0
- package/dist/audio/SceneAudioBridge.d.ts.map +1 -0
- package/dist/audio/SceneAudioBridge.js +37 -0
- package/dist/audio/SceneAudioBridge.js.map +1 -0
- package/dist/audio/SpatialAudio.d.ts +17 -0
- package/dist/audio/SpatialAudio.d.ts.map +1 -0
- package/dist/audio/SpatialAudio.js +22 -0
- package/dist/audio/SpatialAudio.js.map +1 -0
- package/dist/audio/SpatialAudioFixtures.d.ts +38 -0
- package/dist/audio/SpatialAudioFixtures.d.ts.map +1 -0
- package/dist/audio/SpatialAudioFixtures.js +94 -0
- package/dist/audio/SpatialAudioFixtures.js.map +1 -0
- package/dist/audio/effects/Filter.d.ts +13 -0
- package/dist/audio/effects/Filter.d.ts.map +1 -0
- package/dist/audio/effects/Filter.js +31 -0
- package/dist/audio/effects/Filter.js.map +1 -0
- package/dist/audio/effects/Reverb.d.ts +12 -0
- package/dist/audio/effects/Reverb.d.ts.map +1 -0
- package/dist/audio/effects/Reverb.js +23 -0
- package/dist/audio/effects/Reverb.js.map +1 -0
- package/dist/audio/index.d.ts +25 -0
- package/dist/audio/index.d.ts.map +1 -0
- package/dist/audio/index.js +15 -0
- package/dist/audio/index.js.map +1 -0
- package/dist/aura3d-cli/cli.d.ts +3 -0
- package/dist/aura3d-cli/cli.d.ts.map +1 -0
- package/dist/aura3d-cli/cli.js +79 -0
- package/dist/aura3d-cli/cli.js.map +1 -0
- package/dist/aura3d-cli/index.d.ts +78 -0
- package/dist/aura3d-cli/index.d.ts.map +1 -0
- package/dist/aura3d-cli/index.js +422 -0
- package/dist/aura3d-cli/index.js.map +1 -0
- package/dist/controls/ControlState.d.ts +14 -0
- package/dist/controls/ControlState.d.ts.map +1 -0
- package/dist/controls/ControlState.js +11 -0
- package/dist/controls/ControlState.js.map +1 -0
- package/dist/controls/DragControls.d.ts +8 -0
- package/dist/controls/DragControls.d.ts.map +1 -0
- package/dist/controls/DragControls.js +14 -0
- package/dist/controls/DragControls.js.map +1 -0
- package/dist/controls/FirstPersonControls.d.ts +5 -0
- package/dist/controls/FirstPersonControls.d.ts.map +1 -0
- package/dist/controls/FirstPersonControls.js +8 -0
- package/dist/controls/FirstPersonControls.js.map +1 -0
- package/dist/controls/FlyControls.d.ts +8 -0
- package/dist/controls/FlyControls.d.ts.map +1 -0
- package/dist/controls/FlyControls.js +12 -0
- package/dist/controls/FlyControls.js.map +1 -0
- package/dist/controls/InteractionControls.d.ts +83 -0
- package/dist/controls/InteractionControls.d.ts.map +1 -0
- package/dist/controls/InteractionControls.js +163 -0
- package/dist/controls/InteractionControls.js.map +1 -0
- package/dist/controls/MapControls.d.ts +6 -0
- package/dist/controls/MapControls.d.ts.map +1 -0
- package/dist/controls/MapControls.js +9 -0
- package/dist/controls/MapControls.js.map +1 -0
- package/dist/controls/NativeControlTypes.d.ts +49 -0
- package/dist/controls/NativeControlTypes.d.ts.map +1 -0
- package/dist/controls/NativeControlTypes.js +58 -0
- package/dist/controls/NativeControlTypes.js.map +1 -0
- package/dist/controls/OrbitControls.d.ts +11 -0
- package/dist/controls/OrbitControls.d.ts.map +1 -0
- package/dist/controls/OrbitControls.js +25 -0
- package/dist/controls/OrbitControls.js.map +1 -0
- package/dist/controls/Picking.d.ts +41 -0
- package/dist/controls/Picking.d.ts.map +1 -0
- package/dist/controls/Picking.js +149 -0
- package/dist/controls/Picking.js.map +1 -0
- package/dist/controls/PickingAnnotations.d.ts +134 -0
- package/dist/controls/PickingAnnotations.d.ts.map +1 -0
- package/dist/controls/PickingAnnotations.js +221 -0
- package/dist/controls/PickingAnnotations.js.map +1 -0
- package/dist/controls/PointerLockControls.d.ts +9 -0
- package/dist/controls/PointerLockControls.d.ts.map +1 -0
- package/dist/controls/PointerLockControls.js +14 -0
- package/dist/controls/PointerLockControls.js.map +1 -0
- package/dist/controls/SelectionManager.d.ts +8 -0
- package/dist/controls/SelectionManager.d.ts.map +1 -0
- package/dist/controls/SelectionManager.js +15 -0
- package/dist/controls/SelectionManager.js.map +1 -0
- package/dist/controls/TrackballControls.d.ts +18 -0
- package/dist/controls/TrackballControls.d.ts.map +1 -0
- package/dist/controls/TrackballControls.js +99 -0
- package/dist/controls/TrackballControls.js.map +1 -0
- package/dist/controls/TransformControls.d.ts +11 -0
- package/dist/controls/TransformControls.d.ts.map +1 -0
- package/dist/controls/TransformControls.js +19 -0
- package/dist/controls/TransformControls.js.map +1 -0
- package/dist/controls/index.d.ts +21 -0
- package/dist/controls/index.d.ts.map +1 -0
- package/dist/controls/index.js +15 -0
- package/dist/controls/index.js.map +1 -0
- package/dist/core/Diagnostics.d.ts +25 -0
- package/dist/core/Diagnostics.d.ts.map +1 -0
- package/dist/core/Diagnostics.js +60 -0
- package/dist/core/Diagnostics.js.map +1 -0
- package/dist/core/Disposable.d.ts +12 -0
- package/dist/core/Disposable.d.ts.map +1 -0
- package/dist/core/Disposable.js +37 -0
- package/dist/core/Disposable.js.map +1 -0
- package/dist/core/Engine.d.ts +46 -0
- package/dist/core/Engine.d.ts.map +1 -0
- package/dist/core/Engine.js +130 -0
- package/dist/core/Engine.js.map +1 -0
- package/dist/core/EngineConfig.d.ts +18 -0
- package/dist/core/EngineConfig.d.ts.map +1 -0
- package/dist/core/EngineConfig.js +23 -0
- package/dist/core/EngineConfig.js.map +1 -0
- package/dist/core/EngineLoop.d.ts +33 -0
- package/dist/core/EngineLoop.d.ts.map +1 -0
- package/dist/core/EngineLoop.js +63 -0
- package/dist/core/EngineLoop.js.map +1 -0
- package/dist/core/Errors.d.ts +14 -0
- package/dist/core/Errors.d.ts.map +1 -0
- package/dist/core/Errors.js +24 -0
- package/dist/core/Errors.js.map +1 -0
- package/dist/core/EventBus.d.ts +18 -0
- package/dist/core/EventBus.d.ts.map +1 -0
- package/dist/core/EventBus.js +45 -0
- package/dist/core/EventBus.js.map +1 -0
- package/dist/core/FixedStepAccumulator.d.ts +15 -0
- package/dist/core/FixedStepAccumulator.d.ts.map +1 -0
- package/dist/core/FixedStepAccumulator.js +34 -0
- package/dist/core/FixedStepAccumulator.js.map +1 -0
- package/dist/core/Logger.d.ts +23 -0
- package/dist/core/Logger.d.ts.map +1 -0
- package/dist/core/Logger.js +53 -0
- package/dist/core/Logger.js.map +1 -0
- package/dist/core/ResourceScope.d.ts +18 -0
- package/dist/core/ResourceScope.d.ts.map +1 -0
- package/dist/core/ResourceScope.js +53 -0
- package/dist/core/ResourceScope.js.map +1 -0
- package/dist/core/Scheduler.d.ts +31 -0
- package/dist/core/Scheduler.d.ts.map +1 -0
- package/dist/core/Scheduler.js +77 -0
- package/dist/core/Scheduler.js.map +1 -0
- package/dist/core/TaskQueue.d.ts +13 -0
- package/dist/core/TaskQueue.d.ts.map +1 -0
- package/dist/core/TaskQueue.js +42 -0
- package/dist/core/TaskQueue.js.map +1 -0
- package/dist/core/Time.d.ts +24 -0
- package/dist/core/Time.d.ts.map +1 -0
- package/dist/core/Time.js +45 -0
- package/dist/core/Time.js.map +1 -0
- package/dist/core/VersionedSerialization.d.ts +96 -0
- package/dist/core/VersionedSerialization.d.ts.map +1 -0
- package/dist/core/VersionedSerialization.js +278 -0
- package/dist/core/VersionedSerialization.js.map +1 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +15 -0
- package/dist/core/index.js.map +1 -0
- package/dist/create-aura3d/cli.d.ts +3 -0
- package/dist/create-aura3d/cli.d.ts.map +1 -0
- package/dist/create-aura3d/cli.js +27 -0
- package/dist/create-aura3d/cli.js.map +1 -0
- package/dist/create-aura3d/index.d.ts +16 -0
- package/dist/create-aura3d/index.d.ts.map +1 -0
- package/dist/create-aura3d/index.js +63 -0
- package/dist/create-aura3d/index.js.map +1 -0
- package/dist/debug/AnimationInspector.d.ts +25 -0
- package/dist/debug/AnimationInspector.d.ts.map +1 -0
- package/dist/debug/AnimationInspector.js +46 -0
- package/dist/debug/AnimationInspector.js.map +1 -0
- package/dist/debug/ChromeTraceExporter.d.ts +35 -0
- package/dist/debug/ChromeTraceExporter.d.ts.map +1 -0
- package/dist/debug/ChromeTraceExporter.js +110 -0
- package/dist/debug/ChromeTraceExporter.js.map +1 -0
- package/dist/debug/DebugLineCanvasRenderer.d.ts +24 -0
- package/dist/debug/DebugLineCanvasRenderer.d.ts.map +1 -0
- package/dist/debug/DebugLineCanvasRenderer.js +58 -0
- package/dist/debug/DebugLineCanvasRenderer.js.map +1 -0
- package/dist/debug/DebugOverlay.d.ts +18 -0
- package/dist/debug/DebugOverlay.d.ts.map +1 -0
- package/dist/debug/DebugOverlay.js +19 -0
- package/dist/debug/DebugOverlay.js.map +1 -0
- package/dist/debug/DrawCallTracker.d.ts +22 -0
- package/dist/debug/DrawCallTracker.d.ts.map +1 -0
- package/dist/debug/DrawCallTracker.js +28 -0
- package/dist/debug/DrawCallTracker.js.map +1 -0
- package/dist/debug/ECSInspector.d.ts +16 -0
- package/dist/debug/ECSInspector.d.ts.map +1 -0
- package/dist/debug/ECSInspector.js +12 -0
- package/dist/debug/ECSInspector.js.map +1 -0
- package/dist/debug/GPUProfiler.d.ts +22 -0
- package/dist/debug/GPUProfiler.d.ts.map +1 -0
- package/dist/debug/GPUProfiler.js +32 -0
- package/dist/debug/GPUProfiler.js.map +1 -0
- package/dist/debug/MaterialDiagnostics.d.ts +17 -0
- package/dist/debug/MaterialDiagnostics.d.ts.map +1 -0
- package/dist/debug/MaterialDiagnostics.js +43 -0
- package/dist/debug/MaterialDiagnostics.js.map +1 -0
- package/dist/debug/PhysicsDebugAdapter.d.ts +29 -0
- package/dist/debug/PhysicsDebugAdapter.d.ts.map +1 -0
- package/dist/debug/PhysicsDebugAdapter.js +57 -0
- package/dist/debug/PhysicsDebugAdapter.js.map +1 -0
- package/dist/debug/Profiler.d.ts +24 -0
- package/dist/debug/Profiler.d.ts.map +1 -0
- package/dist/debug/Profiler.js +56 -0
- package/dist/debug/Profiler.js.map +1 -0
- package/dist/debug/RenderStateInspector.d.ts +19 -0
- package/dist/debug/RenderStateInspector.d.ts.map +1 -0
- package/dist/debug/RenderStateInspector.js +33 -0
- package/dist/debug/RenderStateInspector.js.map +1 -0
- package/dist/debug/ReportExporter.d.ts +12 -0
- package/dist/debug/ReportExporter.d.ts.map +1 -0
- package/dist/debug/ReportExporter.js +27 -0
- package/dist/debug/ReportExporter.js.map +1 -0
- package/dist/debug/ResourceTracker.d.ts +23 -0
- package/dist/debug/ResourceTracker.d.ts.map +1 -0
- package/dist/debug/ResourceTracker.js +41 -0
- package/dist/debug/ResourceTracker.js.map +1 -0
- package/dist/debug/SceneHelpers.d.ts +46 -0
- package/dist/debug/SceneHelpers.d.ts.map +1 -0
- package/dist/debug/SceneHelpers.js +137 -0
- package/dist/debug/SceneHelpers.js.map +1 -0
- package/dist/debug/ShaderDiagnostics.d.ts +20 -0
- package/dist/debug/ShaderDiagnostics.d.ts.map +1 -0
- package/dist/debug/ShaderDiagnostics.js +49 -0
- package/dist/debug/ShaderDiagnostics.js.map +1 -0
- package/dist/debug/index.d.ts +31 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug/index.js +16 -0
- package/dist/debug/index.js.map +1 -0
- package/dist/ecs/Archetype.d.ts +11 -0
- package/dist/ecs/Archetype.d.ts.map +1 -0
- package/dist/ecs/Archetype.js +19 -0
- package/dist/ecs/Archetype.js.map +1 -0
- package/dist/ecs/Bitset.d.ts +12 -0
- package/dist/ecs/Bitset.d.ts.map +1 -0
- package/dist/ecs/Bitset.js +43 -0
- package/dist/ecs/Bitset.js.map +1 -0
- package/dist/ecs/CommandBuffer.d.ts +16 -0
- package/dist/ecs/CommandBuffer.d.ts.map +1 -0
- package/dist/ecs/CommandBuffer.js +86 -0
- package/dist/ecs/CommandBuffer.js.map +1 -0
- package/dist/ecs/Component.d.ts +18 -0
- package/dist/ecs/Component.d.ts.map +1 -0
- package/dist/ecs/Component.js +7 -0
- package/dist/ecs/Component.js.map +1 -0
- package/dist/ecs/ComponentRegistry.d.ts +12 -0
- package/dist/ecs/ComponentRegistry.d.ts.map +1 -0
- package/dist/ecs/ComponentRegistry.js +36 -0
- package/dist/ecs/ComponentRegistry.js.map +1 -0
- package/dist/ecs/ComponentStore.d.ts +21 -0
- package/dist/ecs/ComponentStore.d.ts.map +1 -0
- package/dist/ecs/ComponentStore.js +66 -0
- package/dist/ecs/ComponentStore.js.map +1 -0
- package/dist/ecs/ECSProfiler.d.ts +12 -0
- package/dist/ecs/ECSProfiler.d.ts.map +1 -0
- package/dist/ecs/ECSProfiler.js +13 -0
- package/dist/ecs/ECSProfiler.js.map +1 -0
- package/dist/ecs/ECSSerializer.d.ts +18 -0
- package/dist/ecs/ECSSerializer.d.ts.map +1 -0
- package/dist/ecs/ECSSerializer.js +37 -0
- package/dist/ecs/ECSSerializer.js.map +1 -0
- package/dist/ecs/Entity.d.ts +8 -0
- package/dist/ecs/Entity.d.ts.map +1 -0
- package/dist/ecs/Entity.js +14 -0
- package/dist/ecs/Entity.js.map +1 -0
- package/dist/ecs/EntityManager.d.ts +12 -0
- package/dist/ecs/EntityManager.d.ts.map +1 -0
- package/dist/ecs/EntityManager.js +33 -0
- package/dist/ecs/EntityManager.js.map +1 -0
- package/dist/ecs/Query.d.ts +24 -0
- package/dist/ecs/Query.d.ts.map +1 -0
- package/dist/ecs/Query.js +47 -0
- package/dist/ecs/Query.js.map +1 -0
- package/dist/ecs/SparseSet.d.ts +14 -0
- package/dist/ecs/SparseSet.d.ts.map +1 -0
- package/dist/ecs/SparseSet.js +50 -0
- package/dist/ecs/SparseSet.js.map +1 -0
- package/dist/ecs/System.d.ts +18 -0
- package/dist/ecs/System.d.ts.map +1 -0
- package/dist/ecs/System.js +2 -0
- package/dist/ecs/System.js.map +1 -0
- package/dist/ecs/SystemScheduler.d.ts +10 -0
- package/dist/ecs/SystemScheduler.d.ts.map +1 -0
- package/dist/ecs/SystemScheduler.js +79 -0
- package/dist/ecs/SystemScheduler.js.map +1 -0
- package/dist/ecs/World.d.ts +27 -0
- package/dist/ecs/World.d.ts.map +1 -0
- package/dist/ecs/World.js +68 -0
- package/dist/ecs/World.js.map +1 -0
- package/dist/ecs/components/ActiveComponent.d.ts +16 -0
- package/dist/ecs/components/ActiveComponent.d.ts.map +1 -0
- package/dist/ecs/components/ActiveComponent.js +46 -0
- package/dist/ecs/components/ActiveComponent.js.map +1 -0
- package/dist/ecs/components/HierarchyComponent.d.ts +34 -0
- package/dist/ecs/components/HierarchyComponent.d.ts.map +1 -0
- package/dist/ecs/components/HierarchyComponent.js +103 -0
- package/dist/ecs/components/HierarchyComponent.js.map +1 -0
- package/dist/ecs/components/NameComponent.d.ts +5 -0
- package/dist/ecs/components/NameComponent.d.ts.map +1 -0
- package/dist/ecs/components/NameComponent.js +10 -0
- package/dist/ecs/components/NameComponent.js.map +1 -0
- package/dist/ecs/components/TagComponent.d.ts +5 -0
- package/dist/ecs/components/TagComponent.d.ts.map +1 -0
- package/dist/ecs/components/TagComponent.js +10 -0
- package/dist/ecs/components/TagComponent.js.map +1 -0
- package/dist/ecs/components/TransformComponent.d.ts +18 -0
- package/dist/ecs/components/TransformComponent.d.ts.map +1 -0
- package/dist/ecs/components/TransformComponent.js +27 -0
- package/dist/ecs/components/TransformComponent.js.map +1 -0
- package/dist/ecs/index.d.ts +22 -0
- package/dist/ecs/index.d.ts.map +1 -0
- package/dist/ecs/index.js +22 -0
- package/dist/ecs/index.js.map +1 -0
- package/dist/ecs/systems/ActiveSystem.d.ts +16 -0
- package/dist/ecs/systems/ActiveSystem.d.ts.map +1 -0
- package/dist/ecs/systems/ActiveSystem.js +61 -0
- package/dist/ecs/systems/ActiveSystem.js.map +1 -0
- package/dist/ecs/systems/HierarchySystem.d.ts +25 -0
- package/dist/ecs/systems/HierarchySystem.d.ts.map +1 -0
- package/dist/ecs/systems/HierarchySystem.js +185 -0
- package/dist/ecs/systems/HierarchySystem.js.map +1 -0
- package/dist/ecs/systems/index.d.ts +3 -0
- package/dist/ecs/systems/index.d.ts.map +1 -0
- package/dist/ecs/systems/index.js +3 -0
- package/dist/ecs/systems/index.js.map +1 -0
- package/dist/editor/index.d.ts +2 -0
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/editor/index.js +2 -0
- package/dist/editor/index.js.map +1 -0
- package/dist/editor-runtime/Command.d.ts +11 -0
- package/dist/editor-runtime/Command.d.ts.map +1 -0
- package/dist/editor-runtime/Command.js +2 -0
- package/dist/editor-runtime/Command.js.map +1 -0
- package/dist/editor-runtime/CommandHistory.d.ts +20 -0
- package/dist/editor-runtime/CommandHistory.d.ts.map +1 -0
- package/dist/editor-runtime/CommandHistory.js +124 -0
- package/dist/editor-runtime/CommandHistory.js.map +1 -0
- package/dist/editor-runtime/DiagnosticsOverlayModel.d.ts +30 -0
- package/dist/editor-runtime/DiagnosticsOverlayModel.d.ts.map +1 -0
- package/dist/editor-runtime/DiagnosticsOverlayModel.js +57 -0
- package/dist/editor-runtime/DiagnosticsOverlayModel.js.map +1 -0
- package/dist/editor-runtime/EditorPluginHost.d.ts +46 -0
- package/dist/editor-runtime/EditorPluginHost.d.ts.map +1 -0
- package/dist/editor-runtime/EditorPluginHost.js +57 -0
- package/dist/editor-runtime/EditorPluginHost.js.map +1 -0
- package/dist/editor-runtime/EditorRuntime.d.ts +95 -0
- package/dist/editor-runtime/EditorRuntime.d.ts.map +1 -0
- package/dist/editor-runtime/EditorRuntime.js +277 -0
- package/dist/editor-runtime/EditorRuntime.js.map +1 -0
- package/dist/editor-runtime/EditorStateModel.d.ts +93 -0
- package/dist/editor-runtime/EditorStateModel.d.ts.map +1 -0
- package/dist/editor-runtime/EditorStateModel.js +251 -0
- package/dist/editor-runtime/EditorStateModel.js.map +1 -0
- package/dist/editor-runtime/Gizmo.d.ts +43 -0
- package/dist/editor-runtime/Gizmo.d.ts.map +1 -0
- package/dist/editor-runtime/Gizmo.js +60 -0
- package/dist/editor-runtime/Gizmo.js.map +1 -0
- package/dist/editor-runtime/HierarchyModel.d.ts +21 -0
- package/dist/editor-runtime/HierarchyModel.d.ts.map +1 -0
- package/dist/editor-runtime/HierarchyModel.js +32 -0
- package/dist/editor-runtime/HierarchyModel.js.map +1 -0
- package/dist/editor-runtime/InspectorModel.d.ts +16 -0
- package/dist/editor-runtime/InspectorModel.d.ts.map +1 -0
- package/dist/editor-runtime/InspectorModel.js +53 -0
- package/dist/editor-runtime/InspectorModel.js.map +1 -0
- package/dist/editor-runtime/LocalizationAccessibilityFixtures.d.ts +70 -0
- package/dist/editor-runtime/LocalizationAccessibilityFixtures.d.ts.map +1 -0
- package/dist/editor-runtime/LocalizationAccessibilityFixtures.js +275 -0
- package/dist/editor-runtime/LocalizationAccessibilityFixtures.js.map +1 -0
- package/dist/editor-runtime/MaterialVariantWorkflow.d.ts +19 -0
- package/dist/editor-runtime/MaterialVariantWorkflow.d.ts.map +1 -0
- package/dist/editor-runtime/MaterialVariantWorkflow.js +82 -0
- package/dist/editor-runtime/MaterialVariantWorkflow.js.map +1 -0
- package/dist/editor-runtime/PickingService.d.ts +58 -0
- package/dist/editor-runtime/PickingService.d.ts.map +1 -0
- package/dist/editor-runtime/PickingService.js +119 -0
- package/dist/editor-runtime/PickingService.js.map +1 -0
- package/dist/editor-runtime/PlayModeBridge.d.ts +14 -0
- package/dist/editor-runtime/PlayModeBridge.d.ts.map +1 -0
- package/dist/editor-runtime/PlayModeBridge.js +23 -0
- package/dist/editor-runtime/PlayModeBridge.js.map +1 -0
- package/dist/editor-runtime/PrefabRegistry.d.ts +41 -0
- package/dist/editor-runtime/PrefabRegistry.d.ts.map +1 -0
- package/dist/editor-runtime/PrefabRegistry.js +119 -0
- package/dist/editor-runtime/PrefabRegistry.js.map +1 -0
- package/dist/editor-runtime/ProjectSerializer.d.ts +9 -0
- package/dist/editor-runtime/ProjectSerializer.d.ts.map +1 -0
- package/dist/editor-runtime/ProjectSerializer.js +14 -0
- package/dist/editor-runtime/ProjectSerializer.js.map +1 -0
- package/dist/editor-runtime/RotateGizmo.d.ts +5 -0
- package/dist/editor-runtime/RotateGizmo.d.ts.map +1 -0
- package/dist/editor-runtime/RotateGizmo.js +37 -0
- package/dist/editor-runtime/RotateGizmo.js.map +1 -0
- package/dist/editor-runtime/ScaleGizmo.d.ts +5 -0
- package/dist/editor-runtime/ScaleGizmo.d.ts.map +1 -0
- package/dist/editor-runtime/ScaleGizmo.js +42 -0
- package/dist/editor-runtime/ScaleGizmo.js.map +1 -0
- package/dist/editor-runtime/Selection.d.ts +20 -0
- package/dist/editor-runtime/Selection.d.ts.map +1 -0
- package/dist/editor-runtime/Selection.js +46 -0
- package/dist/editor-runtime/Selection.js.map +1 -0
- package/dist/editor-runtime/ShaderGraphModel.d.ts +69 -0
- package/dist/editor-runtime/ShaderGraphModel.d.ts.map +1 -0
- package/dist/editor-runtime/ShaderGraphModel.js +172 -0
- package/dist/editor-runtime/ShaderGraphModel.js.map +1 -0
- package/dist/editor-runtime/StaticExportRuntime.d.ts +13 -0
- package/dist/editor-runtime/StaticExportRuntime.d.ts.map +1 -0
- package/dist/editor-runtime/StaticExportRuntime.js +307 -0
- package/dist/editor-runtime/StaticExportRuntime.js.map +1 -0
- package/dist/editor-runtime/TimelineModel.d.ts +157 -0
- package/dist/editor-runtime/TimelineModel.d.ts.map +1 -0
- package/dist/editor-runtime/TimelineModel.js +271 -0
- package/dist/editor-runtime/TimelineModel.js.map +1 -0
- package/dist/editor-runtime/TranslateGizmo.d.ts +5 -0
- package/dist/editor-runtime/TranslateGizmo.d.ts.map +1 -0
- package/dist/editor-runtime/TranslateGizmo.js +41 -0
- package/dist/editor-runtime/TranslateGizmo.js.map +1 -0
- package/dist/editor-runtime/commands/CreateNodeCommand.d.ts +14 -0
- package/dist/editor-runtime/commands/CreateNodeCommand.d.ts.map +1 -0
- package/dist/editor-runtime/commands/CreateNodeCommand.js +16 -0
- package/dist/editor-runtime/commands/CreateNodeCommand.js.map +1 -0
- package/dist/editor-runtime/commands/DeleteNodeCommand.d.ts +13 -0
- package/dist/editor-runtime/commands/DeleteNodeCommand.d.ts.map +1 -0
- package/dist/editor-runtime/commands/DeleteNodeCommand.js +55 -0
- package/dist/editor-runtime/commands/DeleteNodeCommand.js.map +1 -0
- package/dist/editor-runtime/commands/ReparentNodeCommand.d.ts +24 -0
- package/dist/editor-runtime/commands/ReparentNodeCommand.d.ts.map +1 -0
- package/dist/editor-runtime/commands/ReparentNodeCommand.js +39 -0
- package/dist/editor-runtime/commands/ReparentNodeCommand.js.map +1 -0
- package/dist/editor-runtime/commands/SetPropertyCommand.d.ts +14 -0
- package/dist/editor-runtime/commands/SetPropertyCommand.d.ts.map +1 -0
- package/dist/editor-runtime/commands/SetPropertyCommand.js +43 -0
- package/dist/editor-runtime/commands/SetPropertyCommand.js.map +1 -0
- package/dist/editor-runtime/commands/TransformCommand.d.ts +42 -0
- package/dist/editor-runtime/commands/TransformCommand.d.ts.map +1 -0
- package/dist/editor-runtime/commands/TransformCommand.js +72 -0
- package/dist/editor-runtime/commands/TransformCommand.js.map +1 -0
- package/dist/editor-runtime/index.d.ts +47 -0
- package/dist/editor-runtime/index.d.ts.map +1 -0
- package/dist/editor-runtime/index.js +28 -0
- package/dist/editor-runtime/index.js.map +1 -0
- package/dist/engine/A3DApp.d.ts +3 -0
- package/dist/engine/A3DApp.d.ts.map +1 -0
- package/dist/engine/A3DApp.js +2 -0
- package/dist/engine/A3DApp.js.map +1 -0
- package/dist/engine/A3DQualityPresets.d.ts +7 -0
- package/dist/engine/A3DQualityPresets.d.ts.map +1 -0
- package/dist/engine/A3DQualityPresets.js +9 -0
- package/dist/engine/A3DQualityPresets.js.map +1 -0
- package/dist/engine/advanced-runtime/A3DAppLifecycle.d.ts +26 -0
- package/dist/engine/advanced-runtime/A3DAppLifecycle.d.ts.map +1 -0
- package/dist/engine/advanced-runtime/A3DAppLifecycle.js +77 -0
- package/dist/engine/advanced-runtime/A3DAppLifecycle.js.map +1 -0
- package/dist/engine/advanced-runtime/A3DRenderer.d.ts +22 -0
- package/dist/engine/advanced-runtime/A3DRenderer.d.ts.map +1 -0
- package/dist/engine/advanced-runtime/A3DRenderer.js +85 -0
- package/dist/engine/advanced-runtime/A3DRenderer.js.map +1 -0
- package/dist/engine/advanced-runtime/A3DScene.d.ts +29 -0
- package/dist/engine/advanced-runtime/A3DScene.d.ts.map +1 -0
- package/dist/engine/advanced-runtime/A3DScene.js +83 -0
- package/dist/engine/advanced-runtime/A3DScene.js.map +1 -0
- package/dist/engine/advanced-runtime/index.d.ts +11 -0
- package/dist/engine/advanced-runtime/index.d.ts.map +1 -0
- package/dist/engine/advanced-runtime/index.js +6 -0
- package/dist/engine/advanced-runtime/index.js.map +1 -0
- package/dist/engine/agent-api/assets/humanoid-fixture.glb +0 -0
- package/dist/engine/agent-api/assets/player-fixture.glb +0 -0
- package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +89 -0
- package/dist/engine/agent-api/humanoid-walk-runtime.d.ts.map +1 -0
- package/dist/engine/agent-api/humanoid-walk-runtime.js +287 -0
- package/dist/engine/agent-api/humanoid-walk-runtime.js.map +1 -0
- package/dist/engine/agent-api/index.d.ts +1592 -0
- package/dist/engine/agent-api/index.d.ts.map +1 -0
- package/dist/engine/agent-api/index.js +8493 -0
- package/dist/engine/agent-api/index.js.map +1 -0
- package/dist/engine/agent-api/particle-fountain-runtime.d.ts +91 -0
- package/dist/engine/agent-api/particle-fountain-runtime.d.ts.map +1 -0
- package/dist/engine/agent-api/particle-fountain-runtime.js +299 -0
- package/dist/engine/agent-api/particle-fountain-runtime.js.map +1 -0
- package/dist/engine/agent-api/product-viewer-runtime.d.ts +115 -0
- package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -0
- package/dist/engine/agent-api/product-viewer-runtime.js +338 -0
- package/dist/engine/agent-api/product-viewer-runtime.js.map +1 -0
- package/dist/engine/devtools/AuraAssetPanel.d.ts +9 -0
- package/dist/engine/devtools/AuraAssetPanel.d.ts.map +1 -0
- package/dist/engine/devtools/AuraAssetPanel.js +9 -0
- package/dist/engine/devtools/AuraAssetPanel.js.map +1 -0
- package/dist/engine/devtools/AuraDiagnosticsOverlay.d.ts +8 -0
- package/dist/engine/devtools/AuraDiagnosticsOverlay.d.ts.map +1 -0
- package/dist/engine/devtools/AuraDiagnosticsOverlay.js +42 -0
- package/dist/engine/devtools/AuraDiagnosticsOverlay.js.map +1 -0
- package/dist/engine/devtools/AuraPerformancePanel.d.ts +10 -0
- package/dist/engine/devtools/AuraPerformancePanel.d.ts.map +1 -0
- package/dist/engine/devtools/AuraPerformancePanel.js +10 -0
- package/dist/engine/devtools/AuraPerformancePanel.js.map +1 -0
- package/dist/engine/index.d.ts +91 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +136 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/production-runtime/index.d.ts +492 -0
- package/dist/engine/production-runtime/index.d.ts.map +1 -0
- package/dist/engine/production-runtime/index.js +1267 -0
- package/dist/engine/production-runtime/index.js.map +1 -0
- package/dist/engine/testing/routeHealth.d.ts +10 -0
- package/dist/engine/testing/routeHealth.d.ts.map +1 -0
- package/dist/engine/testing/routeHealth.js +16 -0
- package/dist/engine/testing/routeHealth.js.map +1 -0
- package/dist/engine/testing/screenshot.d.ts +4 -0
- package/dist/engine/testing/screenshot.d.ts.map +1 -0
- package/dist/engine/testing/screenshot.js +10 -0
- package/dist/engine/testing/screenshot.js.map +1 -0
- package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts +158 -0
- package/dist/engine/threejs-example-parity/FlagshipFoundation.d.ts.map +1 -0
- package/dist/engine/threejs-example-parity/FlagshipFoundation.js +332 -0
- package/dist/engine/threejs-example-parity/FlagshipFoundation.js.map +1 -0
- package/dist/engine/threejs-example-parity/index.d.ts +113 -0
- package/dist/engine/threejs-example-parity/index.d.ts.map +1 -0
- package/dist/engine/threejs-example-parity/index.js +737 -0
- package/dist/engine/threejs-example-parity/index.js.map +1 -0
- package/dist/environments/EnvironmentPreview.d.ts +13 -0
- package/dist/environments/EnvironmentPreview.d.ts.map +1 -0
- package/dist/environments/EnvironmentPreview.js +16 -0
- package/dist/environments/EnvironmentPreview.js.map +1 -0
- package/dist/environments/EnvironmentRegistry.d.ts +35 -0
- package/dist/environments/EnvironmentRegistry.d.ts.map +1 -0
- package/dist/environments/EnvironmentRegistry.js +39 -0
- package/dist/environments/EnvironmentRegistry.js.map +1 -0
- package/dist/environments/HDRIEnvironment.d.ts +38 -0
- package/dist/environments/HDRIEnvironment.d.ts.map +1 -0
- package/dist/environments/HDRIEnvironment.js +34 -0
- package/dist/environments/HDRIEnvironment.js.map +1 -0
- package/dist/environments/PMREMPreset.d.ts +14 -0
- package/dist/environments/PMREMPreset.d.ts.map +1 -0
- package/dist/environments/PMREMPreset.js +16 -0
- package/dist/environments/PMREMPreset.js.map +1 -0
- package/dist/environments/index.d.ts +11 -0
- package/dist/environments/index.d.ts.map +1 -0
- package/dist/environments/index.js +6 -0
- package/dist/environments/index.js.map +1 -0
- package/dist/environments/production-runtime/ProductionEnvironmentCorpus.d.ts +78 -0
- package/dist/environments/production-runtime/ProductionEnvironmentCorpus.d.ts.map +1 -0
- package/dist/environments/production-runtime/ProductionEnvironmentCorpus.js +67 -0
- package/dist/environments/production-runtime/ProductionEnvironmentCorpus.js.map +1 -0
- package/dist/environments/production-runtime/index.d.ts +3 -0
- package/dist/environments/production-runtime/index.d.ts.map +1 -0
- package/dist/environments/production-runtime/index.js +2 -0
- package/dist/environments/production-runtime/index.js.map +1 -0
- package/dist/environments/threejs-example-parity/index.d.ts +17 -0
- package/dist/environments/threejs-example-parity/index.d.ts.map +1 -0
- package/dist/environments/threejs-example-parity/index.js +49 -0
- package/dist/environments/threejs-example-parity/index.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +24 -0
- package/dist/input/ActionMap.d.ts +44 -0
- package/dist/input/ActionMap.d.ts.map +1 -0
- package/dist/input/ActionMap.js +74 -0
- package/dist/input/ActionMap.js.map +1 -0
- package/dist/input/GamepadDevice.d.ts +17 -0
- package/dist/input/GamepadDevice.d.ts.map +1 -0
- package/dist/input/GamepadDevice.js +27 -0
- package/dist/input/GamepadDevice.js.map +1 -0
- package/dist/input/GamepadInput.d.ts +3 -0
- package/dist/input/GamepadInput.d.ts.map +1 -0
- package/dist/input/GamepadInput.js +2 -0
- package/dist/input/GamepadInput.js.map +1 -0
- package/dist/input/GestureControls.d.ts +3 -0
- package/dist/input/GestureControls.d.ts.map +1 -0
- package/dist/input/GestureControls.js +2 -0
- package/dist/input/GestureControls.js.map +1 -0
- package/dist/input/GestureHapticsFixtures.d.ts +57 -0
- package/dist/input/GestureHapticsFixtures.d.ts.map +1 -0
- package/dist/input/GestureHapticsFixtures.js +115 -0
- package/dist/input/GestureHapticsFixtures.js.map +1 -0
- package/dist/input/GestureRecognizer.d.ts +19 -0
- package/dist/input/GestureRecognizer.d.ts.map +1 -0
- package/dist/input/GestureRecognizer.js +32 -0
- package/dist/input/GestureRecognizer.js.map +1 -0
- package/dist/input/InputActionBindingFixtures.d.ts +44 -0
- package/dist/input/InputActionBindingFixtures.d.ts.map +1 -0
- package/dist/input/InputActionBindingFixtures.js +86 -0
- package/dist/input/InputActionBindingFixtures.js.map +1 -0
- package/dist/input/InputReplay.d.ts +97 -0
- package/dist/input/InputReplay.d.ts.map +1 -0
- package/dist/input/InputReplay.js +189 -0
- package/dist/input/InputReplay.js.map +1 -0
- package/dist/input/InputSnapshot.d.ts +44 -0
- package/dist/input/InputSnapshot.d.ts.map +1 -0
- package/dist/input/InputSnapshot.js +44 -0
- package/dist/input/InputSnapshot.js.map +1 -0
- package/dist/input/InputSystem.d.ts +24 -0
- package/dist/input/InputSystem.d.ts.map +1 -0
- package/dist/input/InputSystem.js +77 -0
- package/dist/input/InputSystem.js.map +1 -0
- package/dist/input/InteractionSystem.d.ts +42 -0
- package/dist/input/InteractionSystem.d.ts.map +1 -0
- package/dist/input/InteractionSystem.js +80 -0
- package/dist/input/InteractionSystem.js.map +1 -0
- package/dist/input/KeyboardDevice.d.ts +18 -0
- package/dist/input/KeyboardDevice.d.ts.map +1 -0
- package/dist/input/KeyboardDevice.js +22 -0
- package/dist/input/KeyboardDevice.js.map +1 -0
- package/dist/input/PickingRay.d.ts +10 -0
- package/dist/input/PickingRay.d.ts.map +1 -0
- package/dist/input/PickingRay.js +27 -0
- package/dist/input/PickingRay.js.map +1 -0
- package/dist/input/PointerDevice.d.ts +51 -0
- package/dist/input/PointerDevice.d.ts.map +1 -0
- package/dist/input/PointerDevice.js +75 -0
- package/dist/input/PointerDevice.js.map +1 -0
- package/dist/input/VirtualTouchControls.d.ts +57 -0
- package/dist/input/VirtualTouchControls.d.ts.map +1 -0
- package/dist/input/VirtualTouchControls.js +127 -0
- package/dist/input/VirtualTouchControls.js.map +1 -0
- package/dist/input/WebXRSessionController.d.ts +108 -0
- package/dist/input/WebXRSessionController.d.ts.map +1 -0
- package/dist/input/WebXRSessionController.js +143 -0
- package/dist/input/WebXRSessionController.js.map +1 -0
- package/dist/input/XRFixtures.d.ts +65 -0
- package/dist/input/XRFixtures.d.ts.map +1 -0
- package/dist/input/XRFixtures.js +136 -0
- package/dist/input/XRFixtures.js.map +1 -0
- package/dist/input/controls/CameraRig.d.ts +12 -0
- package/dist/input/controls/CameraRig.d.ts.map +1 -0
- package/dist/input/controls/CameraRig.js +32 -0
- package/dist/input/controls/CameraRig.js.map +1 -0
- package/dist/input/controls/ControlTypes.d.ts +17 -0
- package/dist/input/controls/ControlTypes.d.ts.map +1 -0
- package/dist/input/controls/ControlTypes.js +4 -0
- package/dist/input/controls/ControlTypes.js.map +1 -0
- package/dist/input/controls/EditorFlyControls.d.ts +20 -0
- package/dist/input/controls/EditorFlyControls.d.ts.map +1 -0
- package/dist/input/controls/EditorFlyControls.js +44 -0
- package/dist/input/controls/EditorFlyControls.js.map +1 -0
- package/dist/input/controls/FirstPersonControls.d.ts +22 -0
- package/dist/input/controls/FirstPersonControls.d.ts.map +1 -0
- package/dist/input/controls/FirstPersonControls.js +44 -0
- package/dist/input/controls/FirstPersonControls.js.map +1 -0
- package/dist/input/controls/OrbitControls.d.ts +49 -0
- package/dist/input/controls/OrbitControls.d.ts.map +1 -0
- package/dist/input/controls/OrbitControls.js +131 -0
- package/dist/input/controls/OrbitControls.js.map +1 -0
- package/dist/input/controls/PointerLockControls.d.ts +11 -0
- package/dist/input/controls/PointerLockControls.d.ts.map +1 -0
- package/dist/input/controls/PointerLockControls.js +19 -0
- package/dist/input/controls/PointerLockControls.js.map +1 -0
- package/dist/input/controls/SceneCameraAdapter.d.ts +10 -0
- package/dist/input/controls/SceneCameraAdapter.d.ts.map +1 -0
- package/dist/input/controls/SceneCameraAdapter.js +90 -0
- package/dist/input/controls/SceneCameraAdapter.js.map +1 -0
- package/dist/input/controls/ThirdPersonFollowControls.d.ts +20 -0
- package/dist/input/controls/ThirdPersonFollowControls.d.ts.map +1 -0
- package/dist/input/controls/ThirdPersonFollowControls.js +33 -0
- package/dist/input/controls/ThirdPersonFollowControls.js.map +1 -0
- package/dist/input/index.d.ts +47 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +25 -0
- package/dist/input/index.js.map +1 -0
- package/dist/materials/MaterialPreset.d.ts +30 -0
- package/dist/materials/MaterialPreset.d.ts.map +1 -0
- package/dist/materials/MaterialPreset.js +2 -0
- package/dist/materials/MaterialPreset.js.map +1 -0
- package/dist/materials/MaterialPresets.d.ts +3 -0
- package/dist/materials/MaterialPresets.d.ts.map +1 -0
- package/dist/materials/MaterialPresets.js +2 -0
- package/dist/materials/MaterialPresets.js.map +1 -0
- package/dist/materials/MaterialPreviewScene.d.ts +12 -0
- package/dist/materials/MaterialPreviewScene.d.ts.map +1 -0
- package/dist/materials/MaterialPreviewScene.js +20 -0
- package/dist/materials/MaterialPreviewScene.js.map +1 -0
- package/dist/materials/MaterialValidation.d.ts +14 -0
- package/dist/materials/MaterialValidation.d.ts.map +1 -0
- package/dist/materials/MaterialValidation.js +26 -0
- package/dist/materials/MaterialValidation.js.map +1 -0
- package/dist/materials/NodeMaterial.d.ts +11 -0
- package/dist/materials/NodeMaterial.d.ts.map +1 -0
- package/dist/materials/NodeMaterial.js +15 -0
- package/dist/materials/NodeMaterial.js.map +1 -0
- package/dist/materials/PBRMaterialLibrary.d.ts +7 -0
- package/dist/materials/PBRMaterialLibrary.d.ts.map +1 -0
- package/dist/materials/PBRMaterialLibrary.js +89 -0
- package/dist/materials/PBRMaterialLibrary.js.map +1 -0
- package/dist/materials/TextureSet.d.ts +17 -0
- package/dist/materials/TextureSet.d.ts.map +1 -0
- package/dist/materials/TextureSet.js +40 -0
- package/dist/materials/TextureSet.js.map +1 -0
- package/dist/materials/browser-index.d.ts +9 -0
- package/dist/materials/browser-index.d.ts.map +1 -0
- package/dist/materials/browser-index.js +6 -0
- package/dist/materials/browser-index.js.map +1 -0
- package/dist/materials/index.d.ts +11 -0
- package/dist/materials/index.d.ts.map +1 -0
- package/dist/materials/index.js +7 -0
- package/dist/materials/index.js.map +1 -0
- package/dist/math/Box3.d.ts +19 -0
- package/dist/math/Box3.d.ts.map +1 -0
- package/dist/math/Box3.js +61 -0
- package/dist/math/Box3.js.map +1 -0
- package/dist/math/Color.d.ts +15 -0
- package/dist/math/Color.d.ts.map +1 -0
- package/dist/math/Color.js +41 -0
- package/dist/math/Color.js.map +1 -0
- package/dist/math/Curves.d.ts +22 -0
- package/dist/math/Curves.d.ts.map +1 -0
- package/dist/math/Curves.js +74 -0
- package/dist/math/Curves.js.map +1 -0
- package/dist/math/Easing.d.ts +7 -0
- package/dist/math/Easing.d.ts.map +1 -0
- package/dist/math/Easing.js +24 -0
- package/dist/math/Easing.js.map +1 -0
- package/dist/math/Euler.d.ts +12 -0
- package/dist/math/Euler.d.ts.map +1 -0
- package/dist/math/Euler.js +30 -0
- package/dist/math/Euler.js.map +1 -0
- package/dist/math/Frustum.d.ts +14 -0
- package/dist/math/Frustum.d.ts.map +1 -0
- package/dist/math/Frustum.js +40 -0
- package/dist/math/Frustum.js.map +1 -0
- package/dist/math/Interpolation.d.ts +11 -0
- package/dist/math/Interpolation.d.ts.map +1 -0
- package/dist/math/Interpolation.js +30 -0
- package/dist/math/Interpolation.js.map +1 -0
- package/dist/math/Matrix3.d.ts +9 -0
- package/dist/math/Matrix3.d.ts.map +1 -0
- package/dist/math/Matrix3.js +51 -0
- package/dist/math/Matrix3.js.map +1 -0
- package/dist/math/Matrix4.d.ts +45 -0
- package/dist/math/Matrix4.d.ts.map +1 -0
- package/dist/math/Matrix4.js +204 -0
- package/dist/math/Matrix4.js.map +1 -0
- package/dist/math/Plane.d.ts +11 -0
- package/dist/math/Plane.d.ts.map +1 -0
- package/dist/math/Plane.js +31 -0
- package/dist/math/Plane.js.map +1 -0
- package/dist/math/Quaternion.d.ts +25 -0
- package/dist/math/Quaternion.d.ts.map +1 -0
- package/dist/math/Quaternion.js +121 -0
- package/dist/math/Quaternion.js.map +1 -0
- package/dist/math/Random.d.ts +9 -0
- package/dist/math/Random.d.ts.map +1 -0
- package/dist/math/Random.js +30 -0
- package/dist/math/Random.js.map +1 -0
- package/dist/math/Ray.d.ts +14 -0
- package/dist/math/Ray.d.ts.map +1 -0
- package/dist/math/Ray.js +67 -0
- package/dist/math/Ray.js.map +1 -0
- package/dist/math/Sphere.d.ts +9 -0
- package/dist/math/Sphere.d.ts.map +1 -0
- package/dist/math/Sphere.js +18 -0
- package/dist/math/Sphere.js.map +1 -0
- package/dist/math/Transform.d.ts +14 -0
- package/dist/math/Transform.d.ts.map +1 -0
- package/dist/math/Transform.js +28 -0
- package/dist/math/Transform.js.map +1 -0
- package/dist/math/Vector2.d.ts +22 -0
- package/dist/math/Vector2.d.ts.map +1 -0
- package/dist/math/Vector2.js +54 -0
- package/dist/math/Vector2.js.map +1 -0
- package/dist/math/Vector3.d.ts +34 -0
- package/dist/math/Vector3.d.ts.map +1 -0
- package/dist/math/Vector3.js +77 -0
- package/dist/math/Vector3.js.map +1 -0
- package/dist/math/Vector4.d.ts +19 -0
- package/dist/math/Vector4.d.ts.map +1 -0
- package/dist/math/Vector4.js +43 -0
- package/dist/math/Vector4.js.map +1 -0
- package/dist/math/index.d.ts +19 -0
- package/dist/math/index.d.ts.map +1 -0
- package/dist/math/index.js +19 -0
- package/dist/math/index.js.map +1 -0
- package/dist/physics/CharacterController.d.ts +52 -0
- package/dist/physics/CharacterController.d.ts.map +1 -0
- package/dist/physics/CharacterController.js +146 -0
- package/dist/physics/CharacterController.js.map +1 -0
- package/dist/physics/ClothFixtures.d.ts +87 -0
- package/dist/physics/ClothFixtures.d.ts.map +1 -0
- package/dist/physics/ClothFixtures.js +264 -0
- package/dist/physics/ClothFixtures.js.map +1 -0
- package/dist/physics/Collider.d.ts +27 -0
- package/dist/physics/Collider.d.ts.map +1 -0
- package/dist/physics/Collider.js +45 -0
- package/dist/physics/Collider.js.map +1 -0
- package/dist/physics/CollisionEvents.d.ts +26 -0
- package/dist/physics/CollisionEvents.d.ts.map +1 -0
- package/dist/physics/CollisionEvents.js +46 -0
- package/dist/physics/CollisionEvents.js.map +1 -0
- package/dist/physics/Constraint.d.ts +31 -0
- package/dist/physics/Constraint.d.ts.map +1 -0
- package/dist/physics/Constraint.js +103 -0
- package/dist/physics/Constraint.js.map +1 -0
- package/dist/physics/Constraints.d.ts +2 -0
- package/dist/physics/Constraints.d.ts.map +1 -0
- package/dist/physics/Constraints.js +2 -0
- package/dist/physics/Constraints.js.map +1 -0
- package/dist/physics/Crowd.d.ts +64 -0
- package/dist/physics/Crowd.d.ts.map +1 -0
- package/dist/physics/Crowd.js +209 -0
- package/dist/physics/Crowd.js.map +1 -0
- package/dist/physics/ECSPhysicsBridge.d.ts +17 -0
- package/dist/physics/ECSPhysicsBridge.d.ts.map +1 -0
- package/dist/physics/ECSPhysicsBridge.js +37 -0
- package/dist/physics/ECSPhysicsBridge.js.map +1 -0
- package/dist/physics/FireSmokeFixtures.d.ts +103 -0
- package/dist/physics/FireSmokeFixtures.d.ts.map +1 -0
- package/dist/physics/FireSmokeFixtures.js +271 -0
- package/dist/physics/FireSmokeFixtures.js.map +1 -0
- package/dist/physics/FluidFixtures.d.ts +75 -0
- package/dist/physics/FluidFixtures.d.ts.map +1 -0
- package/dist/physics/FluidFixtures.js +219 -0
- package/dist/physics/FluidFixtures.js.map +1 -0
- package/dist/physics/FractureFixtures.d.ts +68 -0
- package/dist/physics/FractureFixtures.d.ts.map +1 -0
- package/dist/physics/FractureFixtures.js +199 -0
- package/dist/physics/FractureFixtures.js.map +1 -0
- package/dist/physics/Navigation.d.ts +67 -0
- package/dist/physics/Navigation.d.ts.map +1 -0
- package/dist/physics/Navigation.js +261 -0
- package/dist/physics/Navigation.js.map +1 -0
- package/dist/physics/PhysicsDebugDraw.d.ts +11 -0
- package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -0
- package/dist/physics/PhysicsDebugDraw.js +64 -0
- package/dist/physics/PhysicsDebugDraw.js.map +1 -0
- package/dist/physics/PhysicsSandboxFixtures.d.ts +53 -0
- package/dist/physics/PhysicsSandboxFixtures.d.ts.map +1 -0
- package/dist/physics/PhysicsSandboxFixtures.js +280 -0
- package/dist/physics/PhysicsSandboxFixtures.js.map +1 -0
- package/dist/physics/PhysicsStepper.d.ts +15 -0
- package/dist/physics/PhysicsStepper.d.ts.map +1 -0
- package/dist/physics/PhysicsStepper.js +37 -0
- package/dist/physics/PhysicsStepper.js.map +1 -0
- package/dist/physics/PhysicsWorld.d.ts +101 -0
- package/dist/physics/PhysicsWorld.d.ts.map +1 -0
- package/dist/physics/PhysicsWorld.js +868 -0
- package/dist/physics/PhysicsWorld.js.map +1 -0
- package/dist/physics/PlatformerFixtures.d.ts +70 -0
- package/dist/physics/PlatformerFixtures.d.ts.map +1 -0
- package/dist/physics/PlatformerFixtures.js +120 -0
- package/dist/physics/PlatformerFixtures.js.map +1 -0
- package/dist/physics/Raycast.d.ts +23 -0
- package/dist/physics/Raycast.d.ts.map +1 -0
- package/dist/physics/Raycast.js +271 -0
- package/dist/physics/Raycast.js.map +1 -0
- package/dist/physics/RigidBody.d.ts +69 -0
- package/dist/physics/RigidBody.d.ts.map +1 -0
- package/dist/physics/RigidBody.js +255 -0
- package/dist/physics/RigidBody.js.map +1 -0
- package/dist/physics/ScenePhysicsBridge.d.ts +42 -0
- package/dist/physics/ScenePhysicsBridge.d.ts.map +1 -0
- package/dist/physics/ScenePhysicsBridge.js +168 -0
- package/dist/physics/ScenePhysicsBridge.js.map +1 -0
- package/dist/physics/Shape.d.ts +50 -0
- package/dist/physics/Shape.d.ts.map +1 -0
- package/dist/physics/Shape.js +128 -0
- package/dist/physics/Shape.js.map +1 -0
- package/dist/physics/SoftBodyFixtures.d.ts +70 -0
- package/dist/physics/SoftBodyFixtures.d.ts.map +1 -0
- package/dist/physics/SoftBodyFixtures.js +272 -0
- package/dist/physics/SoftBodyFixtures.js.map +1 -0
- package/dist/physics/Steering.d.ts +161 -0
- package/dist/physics/Steering.d.ts.map +1 -0
- package/dist/physics/Steering.js +347 -0
- package/dist/physics/Steering.js.map +1 -0
- package/dist/physics/VehicleDynamics.d.ts +152 -0
- package/dist/physics/VehicleDynamics.d.ts.map +1 -0
- package/dist/physics/VehicleDynamics.js +335 -0
- package/dist/physics/VehicleDynamics.js.map +1 -0
- package/dist/physics/index.d.ts +25 -0
- package/dist/physics/index.d.ts.map +1 -0
- package/dist/physics/index.js +25 -0
- package/dist/physics/index.js.map +1 -0
- package/dist/product-studio/ProductAsset.d.ts +2 -0
- package/dist/product-studio/ProductAsset.d.ts.map +1 -0
- package/dist/product-studio/ProductAsset.js +2 -0
- package/dist/product-studio/ProductAsset.js.map +1 -0
- package/dist/product-studio/ProductAssetLoader.d.ts +3 -0
- package/dist/product-studio/ProductAssetLoader.d.ts.map +1 -0
- package/dist/product-studio/ProductAssetLoader.js +77 -0
- package/dist/product-studio/ProductAssetLoader.js.map +1 -0
- package/dist/product-studio/ProductCamera.d.ts +4 -0
- package/dist/product-studio/ProductCamera.d.ts.map +1 -0
- package/dist/product-studio/ProductCamera.js +45 -0
- package/dist/product-studio/ProductCamera.js.map +1 -0
- package/dist/product-studio/ProductDiagnostics.d.ts +4 -0
- package/dist/product-studio/ProductDiagnostics.d.ts.map +1 -0
- package/dist/product-studio/ProductDiagnostics.js +21 -0
- package/dist/product-studio/ProductDiagnostics.js.map +1 -0
- package/dist/product-studio/ProductExport.d.ts +4 -0
- package/dist/product-studio/ProductExport.d.ts.map +1 -0
- package/dist/product-studio/ProductExport.js +40 -0
- package/dist/product-studio/ProductExport.js.map +1 -0
- package/dist/product-studio/ProductFloor.d.ts +4 -0
- package/dist/product-studio/ProductFloor.d.ts.map +1 -0
- package/dist/product-studio/ProductFloor.js +15 -0
- package/dist/product-studio/ProductFloor.js.map +1 -0
- package/dist/product-studio/ProductLighting.d.ts +3 -0
- package/dist/product-studio/ProductLighting.d.ts.map +1 -0
- package/dist/product-studio/ProductLighting.js +42 -0
- package/dist/product-studio/ProductLighting.js.map +1 -0
- package/dist/product-studio/ProductMaterials.d.ts +5 -0
- package/dist/product-studio/ProductMaterials.d.ts.map +1 -0
- package/dist/product-studio/ProductMaterials.js +41 -0
- package/dist/product-studio/ProductMaterials.js.map +1 -0
- package/dist/product-studio/ProductRenderScene.d.ts +4 -0
- package/dist/product-studio/ProductRenderScene.d.ts.map +1 -0
- package/dist/product-studio/ProductRenderScene.js +46 -0
- package/dist/product-studio/ProductRenderScene.js.map +1 -0
- package/dist/product-studio/ProductShowcaseLayout.d.ts +32 -0
- package/dist/product-studio/ProductShowcaseLayout.d.ts.map +1 -0
- package/dist/product-studio/ProductShowcaseLayout.js +54 -0
- package/dist/product-studio/ProductShowcaseLayout.js.map +1 -0
- package/dist/product-studio/ProductStudio.d.ts +3 -0
- package/dist/product-studio/ProductStudio.d.ts.map +1 -0
- package/dist/product-studio/ProductStudio.js +51 -0
- package/dist/product-studio/ProductStudio.js.map +1 -0
- package/dist/product-studio/ProductTypes.d.ts +133 -0
- package/dist/product-studio/ProductTypes.d.ts.map +1 -0
- package/dist/product-studio/ProductTypes.js +2 -0
- package/dist/product-studio/ProductTypes.js.map +1 -0
- package/dist/product-studio/index.d.ts +13 -0
- package/dist/product-studio/index.d.ts.map +1 -0
- package/dist/product-studio/index.js +11 -0
- package/dist/product-studio/index.js.map +1 -0
- package/dist/react/index.d.ts +44 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +116 -0
- package/dist/react/index.js.map +1 -0
- package/dist/rendering/ArchitecturalLightingFixtures.d.ts +40 -0
- package/dist/rendering/ArchitecturalLightingFixtures.d.ts.map +1 -0
- package/dist/rendering/ArchitecturalLightingFixtures.js +171 -0
- package/dist/rendering/ArchitecturalLightingFixtures.js.map +1 -0
- package/dist/rendering/ArchitecturalMaterialCatalog.d.ts +30 -0
- package/dist/rendering/ArchitecturalMaterialCatalog.d.ts.map +1 -0
- package/dist/rendering/ArchitecturalMaterialCatalog.js +90 -0
- package/dist/rendering/ArchitecturalMaterialCatalog.js.map +1 -0
- package/dist/rendering/ArchitecturalMeasurementFixtures.d.ts +30 -0
- package/dist/rendering/ArchitecturalMeasurementFixtures.d.ts.map +1 -0
- package/dist/rendering/ArchitecturalMeasurementFixtures.js +115 -0
- package/dist/rendering/ArchitecturalMeasurementFixtures.js.map +1 -0
- package/dist/rendering/BRDFLut.d.ts +13 -0
- package/dist/rendering/BRDFLut.d.ts.map +1 -0
- package/dist/rendering/BRDFLut.js +34 -0
- package/dist/rendering/BRDFLut.js.map +1 -0
- package/dist/rendering/CameraFraming.d.ts +31 -0
- package/dist/rendering/CameraFraming.d.ts.map +1 -0
- package/dist/rendering/CameraFraming.js +143 -0
- package/dist/rendering/CameraFraming.js.map +1 -0
- package/dist/rendering/CanonicalSceneFixtures.d.ts +13 -0
- package/dist/rendering/CanonicalSceneFixtures.d.ts.map +1 -0
- package/dist/rendering/CanonicalSceneFixtures.js +78 -0
- package/dist/rendering/CanonicalSceneFixtures.js.map +1 -0
- package/dist/rendering/CascadedShadowMaps.d.ts +121 -0
- package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -0
- package/dist/rendering/CascadedShadowMaps.js +315 -0
- package/dist/rendering/CascadedShadowMaps.js.map +1 -0
- package/dist/rendering/ColorManagement.d.ts +33 -0
- package/dist/rendering/ColorManagement.d.ts.map +1 -0
- package/dist/rendering/ColorManagement.js +71 -0
- package/dist/rendering/ColorManagement.js.map +1 -0
- package/dist/rendering/CullingFixtures.d.ts +70 -0
- package/dist/rendering/CullingFixtures.d.ts.map +1 -0
- package/dist/rendering/CullingFixtures.js +191 -0
- package/dist/rendering/CullingFixtures.js.map +1 -0
- package/dist/rendering/DecalGeometry.d.ts +3 -0
- package/dist/rendering/DecalGeometry.d.ts.map +1 -0
- package/dist/rendering/DecalGeometry.js +2 -0
- package/dist/rendering/DecalGeometry.js.map +1 -0
- package/dist/rendering/DepthPass.d.ts +23 -0
- package/dist/rendering/DepthPass.d.ts.map +1 -0
- package/dist/rendering/DepthPass.js +99 -0
- package/dist/rendering/DepthPass.js.map +1 -0
- package/dist/rendering/EnvironmentBackgroundPass.d.ts +27 -0
- package/dist/rendering/EnvironmentBackgroundPass.d.ts.map +1 -0
- package/dist/rendering/EnvironmentBackgroundPass.js +167 -0
- package/dist/rendering/EnvironmentBackgroundPass.js.map +1 -0
- package/dist/rendering/EnvironmentBackgroundResources.d.ts +31 -0
- package/dist/rendering/EnvironmentBackgroundResources.d.ts.map +1 -0
- package/dist/rendering/EnvironmentBackgroundResources.js +237 -0
- package/dist/rendering/EnvironmentBackgroundResources.js.map +1 -0
- package/dist/rendering/EnvironmentLighting.d.ts +10 -0
- package/dist/rendering/EnvironmentLighting.d.ts.map +1 -0
- package/dist/rendering/EnvironmentLighting.js +64 -0
- package/dist/rendering/EnvironmentLighting.js.map +1 -0
- package/dist/rendering/EnvironmentMapResources.d.ts +98 -0
- package/dist/rendering/EnvironmentMapResources.d.ts.map +1 -0
- package/dist/rendering/EnvironmentMapResources.js +794 -0
- package/dist/rendering/EnvironmentMapResources.js.map +1 -0
- package/dist/rendering/EnvironmentPipeline.d.ts +21 -0
- package/dist/rendering/EnvironmentPipeline.d.ts.map +1 -0
- package/dist/rendering/EnvironmentPipeline.js +43 -0
- package/dist/rendering/EnvironmentPipeline.js.map +1 -0
- package/dist/rendering/EnvironmentPlatform.d.ts +185 -0
- package/dist/rendering/EnvironmentPlatform.d.ts.map +1 -0
- package/dist/rendering/EnvironmentPlatform.js +922 -0
- package/dist/rendering/EnvironmentPlatform.js.map +1 -0
- package/dist/rendering/EnvironmentPreset.d.ts +35 -0
- package/dist/rendering/EnvironmentPreset.d.ts.map +1 -0
- package/dist/rendering/EnvironmentPreset.js +96 -0
- package/dist/rendering/EnvironmentPreset.js.map +1 -0
- package/dist/rendering/Exposure.d.ts +19 -0
- package/dist/rendering/Exposure.d.ts.map +1 -0
- package/dist/rendering/Exposure.js +34 -0
- package/dist/rendering/Exposure.js.map +1 -0
- package/dist/rendering/ExternalParityRenderPreset.d.ts +149 -0
- package/dist/rendering/ExternalParityRenderPreset.d.ts.map +1 -0
- package/dist/rendering/ExternalParityRenderPreset.js +519 -0
- package/dist/rendering/ExternalParityRenderPreset.js.map +1 -0
- package/dist/rendering/ForwardPass.d.ts +122 -0
- package/dist/rendering/ForwardPass.d.ts.map +1 -0
- package/dist/rendering/ForwardPass.js +1352 -0
- package/dist/rendering/ForwardPass.js.map +1 -0
- package/dist/rendering/FrameVisualMetrics.d.ts +60 -0
- package/dist/rendering/FrameVisualMetrics.d.ts.map +1 -0
- package/dist/rendering/FrameVisualMetrics.js +146 -0
- package/dist/rendering/FrameVisualMetrics.js.map +1 -0
- package/dist/rendering/Geometry.d.ts +50 -0
- package/dist/rendering/Geometry.d.ts.map +1 -0
- package/dist/rendering/Geometry.js +385 -0
- package/dist/rendering/Geometry.js.map +1 -0
- package/dist/rendering/GeometryPrimitives.d.ts +3 -0
- package/dist/rendering/GeometryPrimitives.d.ts.map +1 -0
- package/dist/rendering/GeometryPrimitives.js +2 -0
- package/dist/rendering/GeometryPrimitives.js.map +1 -0
- package/dist/rendering/HDRRenderPipeline.d.ts +27 -0
- package/dist/rendering/HDRRenderPipeline.d.ts.map +1 -0
- package/dist/rendering/HDRRenderPipeline.js +67 -0
- package/dist/rendering/HDRRenderPipeline.js.map +1 -0
- package/dist/rendering/IBL.d.ts +37 -0
- package/dist/rendering/IBL.d.ts.map +1 -0
- package/dist/rendering/IBL.js +48 -0
- package/dist/rendering/IBL.js.map +1 -0
- package/dist/rendering/IndexBuffer.d.ts +15 -0
- package/dist/rendering/IndexBuffer.d.ts.map +1 -0
- package/dist/rendering/IndexBuffer.js +51 -0
- package/dist/rendering/IndexBuffer.js.map +1 -0
- package/dist/rendering/InstancedPBRMaterial.d.ts +33 -0
- package/dist/rendering/InstancedPBRMaterial.d.ts.map +1 -0
- package/dist/rendering/InstancedPBRMaterial.js +147 -0
- package/dist/rendering/InstancedPBRMaterial.js.map +1 -0
- package/dist/rendering/InstancedUnlitMaterial.d.ts +11 -0
- package/dist/rendering/InstancedUnlitMaterial.d.ts.map +1 -0
- package/dist/rendering/InstancedUnlitMaterial.js +50 -0
- package/dist/rendering/InstancedUnlitMaterial.js.map +1 -0
- package/dist/rendering/Instancing.d.ts +7 -0
- package/dist/rendering/Instancing.d.ts.map +1 -0
- package/dist/rendering/Instancing.js +14 -0
- package/dist/rendering/Instancing.js.map +1 -0
- package/dist/rendering/LightCollector.d.ts +24 -0
- package/dist/rendering/LightCollector.d.ts.map +1 -0
- package/dist/rendering/LightCollector.js +56 -0
- package/dist/rendering/LightCollector.js.map +1 -0
- package/dist/rendering/LightUniforms.d.ts +14 -0
- package/dist/rendering/LightUniforms.d.ts.map +1 -0
- package/dist/rendering/LightUniforms.js +37 -0
- package/dist/rendering/LightUniforms.js.map +1 -0
- package/dist/rendering/LightingDebug.d.ts +13 -0
- package/dist/rendering/LightingDebug.d.ts.map +1 -0
- package/dist/rendering/LightingDebug.js +69 -0
- package/dist/rendering/LightingDebug.js.map +1 -0
- package/dist/rendering/LightingDefaults.d.ts +13 -0
- package/dist/rendering/LightingDefaults.d.ts.map +1 -0
- package/dist/rendering/LightingDefaults.js +64 -0
- package/dist/rendering/LightingDefaults.js.map +1 -0
- package/dist/rendering/LightingRig.d.ts +53 -0
- package/dist/rendering/LightingRig.d.ts.map +1 -0
- package/dist/rendering/LightingRig.js +197 -0
- package/dist/rendering/LightingRig.js.map +1 -0
- package/dist/rendering/LineGeometry.d.ts +3 -0
- package/dist/rendering/LineGeometry.d.ts.map +1 -0
- package/dist/rendering/LineGeometry.js +2 -0
- package/dist/rendering/LineGeometry.js.map +1 -0
- package/dist/rendering/Material.d.ts +77 -0
- package/dist/rendering/Material.d.ts.map +1 -0
- package/dist/rendering/Material.js +137 -0
- package/dist/rendering/Material.js.map +1 -0
- package/dist/rendering/MaterialBinding.d.ts +17 -0
- package/dist/rendering/MaterialBinding.d.ts.map +1 -0
- package/dist/rendering/MaterialBinding.js +119 -0
- package/dist/rendering/MaterialBinding.js.map +1 -0
- package/dist/rendering/MaterialInstance.d.ts +16 -0
- package/dist/rendering/MaterialInstance.d.ts.map +1 -0
- package/dist/rendering/MaterialInstance.js +53 -0
- package/dist/rendering/MaterialInstance.js.map +1 -0
- package/dist/rendering/MaterialPresets.d.ts +31 -0
- package/dist/rendering/MaterialPresets.d.ts.map +1 -0
- package/dist/rendering/MaterialPresets.js +219 -0
- package/dist/rendering/MaterialPresets.js.map +1 -0
- package/dist/rendering/MorphTarget.d.ts +10 -0
- package/dist/rendering/MorphTarget.d.ts.map +1 -0
- package/dist/rendering/MorphTarget.js +101 -0
- package/dist/rendering/MorphTarget.js.map +1 -0
- package/dist/rendering/MorphUnlitMaterial.d.ts +11 -0
- package/dist/rendering/MorphUnlitMaterial.d.ts.map +1 -0
- package/dist/rendering/MorphUnlitMaterial.js +45 -0
- package/dist/rendering/MorphUnlitMaterial.js.map +1 -0
- package/dist/rendering/NormalMappedPBRMaterial.d.ts +37 -0
- package/dist/rendering/NormalMappedPBRMaterial.d.ts.map +1 -0
- package/dist/rendering/NormalMappedPBRMaterial.js +148 -0
- package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -0
- package/dist/rendering/OceanFixtures.d.ts +62 -0
- package/dist/rendering/OceanFixtures.d.ts.map +1 -0
- package/dist/rendering/OceanFixtures.js +240 -0
- package/dist/rendering/OceanFixtures.js.map +1 -0
- package/dist/rendering/PBRLightingDefaults.d.ts +4 -0
- package/dist/rendering/PBRLightingDefaults.d.ts.map +1 -0
- package/dist/rendering/PBRLightingDefaults.js +10 -0
- package/dist/rendering/PBRLightingDefaults.js.map +1 -0
- package/dist/rendering/PBRMaterial.d.ts +84 -0
- package/dist/rendering/PBRMaterial.d.ts.map +1 -0
- package/dist/rendering/PBRMaterial.js +349 -0
- package/dist/rendering/PBRMaterial.js.map +1 -0
- package/dist/rendering/PMREM.d.ts +26 -0
- package/dist/rendering/PMREM.d.ts.map +1 -0
- package/dist/rendering/PMREM.js +26 -0
- package/dist/rendering/PMREM.js.map +1 -0
- package/dist/rendering/PbrReference.d.ts +153 -0
- package/dist/rendering/PbrReference.d.ts.map +1 -0
- package/dist/rendering/PbrReference.js +500 -0
- package/dist/rendering/PbrReference.js.map +1 -0
- package/dist/rendering/PostProcessPass.d.ts +439 -0
- package/dist/rendering/PostProcessPass.d.ts.map +1 -0
- package/dist/rendering/PostProcessPass.js +1834 -0
- package/dist/rendering/PostProcessPass.js.map +1 -0
- package/dist/rendering/ProceduralTextureFixtures.d.ts +27 -0
- package/dist/rendering/ProceduralTextureFixtures.d.ts.map +1 -0
- package/dist/rendering/ProceduralTextureFixtures.js +336 -0
- package/dist/rendering/ProceduralTextureFixtures.js.map +1 -0
- package/dist/rendering/ProductTurntableFixtures.d.ts +96 -0
- package/dist/rendering/ProductTurntableFixtures.d.ts.map +1 -0
- package/dist/rendering/ProductTurntableFixtures.js +559 -0
- package/dist/rendering/ProductTurntableFixtures.js.map +1 -0
- package/dist/rendering/Raycaster.d.ts +14 -0
- package/dist/rendering/Raycaster.d.ts.map +1 -0
- package/dist/rendering/Raycaster.js +10 -0
- package/dist/rendering/Raycaster.js.map +1 -0
- package/dist/rendering/ReflectionProbe.d.ts +8 -0
- package/dist/rendering/ReflectionProbe.d.ts.map +1 -0
- package/dist/rendering/ReflectionProbe.js +10 -0
- package/dist/rendering/ReflectionProbe.js.map +1 -0
- package/dist/rendering/ReflectionSurfaces.d.ts +35 -0
- package/dist/rendering/ReflectionSurfaces.d.ts.map +1 -0
- package/dist/rendering/ReflectionSurfaces.js +155 -0
- package/dist/rendering/ReflectionSurfaces.js.map +1 -0
- package/dist/rendering/RenderBackend.d.ts +14 -0
- package/dist/rendering/RenderBackend.d.ts.map +1 -0
- package/dist/rendering/RenderBackend.js +33 -0
- package/dist/rendering/RenderBackend.js.map +1 -0
- package/dist/rendering/RenderDebugViews.d.ts +26 -0
- package/dist/rendering/RenderDebugViews.d.ts.map +1 -0
- package/dist/rendering/RenderDebugViews.js +97 -0
- package/dist/rendering/RenderDebugViews.js.map +1 -0
- package/dist/rendering/RenderDevice.d.ts +280 -0
- package/dist/rendering/RenderDevice.d.ts.map +1 -0
- package/dist/rendering/RenderDevice.js +561 -0
- package/dist/rendering/RenderDevice.js.map +1 -0
- package/dist/rendering/RenderGraph.d.ts +22 -0
- package/dist/rendering/RenderGraph.d.ts.map +1 -0
- package/dist/rendering/RenderGraph.js +159 -0
- package/dist/rendering/RenderGraph.js.map +1 -0
- package/dist/rendering/RenderPass.d.ts +23 -0
- package/dist/rendering/RenderPass.d.ts.map +1 -0
- package/dist/rendering/RenderPass.js +14 -0
- package/dist/rendering/RenderPass.js.map +1 -0
- package/dist/rendering/RenderPipeline.d.ts +39 -0
- package/dist/rendering/RenderPipeline.d.ts.map +1 -0
- package/dist/rendering/RenderPipeline.js +67 -0
- package/dist/rendering/RenderPipeline.js.map +1 -0
- package/dist/rendering/RenderQueue.d.ts +3 -0
- package/dist/rendering/RenderQueue.d.ts.map +1 -0
- package/dist/rendering/RenderQueue.js +2 -0
- package/dist/rendering/RenderQueue.js.map +1 -0
- package/dist/rendering/RenderState.d.ts +3 -0
- package/dist/rendering/RenderState.d.ts.map +1 -0
- package/dist/rendering/RenderState.js +2 -0
- package/dist/rendering/RenderState.js.map +1 -0
- package/dist/rendering/Renderer.d.ts +265 -0
- package/dist/rendering/Renderer.d.ts.map +1 -0
- package/dist/rendering/Renderer.js +2094 -0
- package/dist/rendering/Renderer.js.map +1 -0
- package/dist/rendering/RendererDebugOverlay.d.ts +20 -0
- package/dist/rendering/RendererDebugOverlay.d.ts.map +1 -0
- package/dist/rendering/RendererDebugOverlay.js +54 -0
- package/dist/rendering/RendererDebugOverlay.js.map +1 -0
- package/dist/rendering/RendererFeatureGates.d.ts +17 -0
- package/dist/rendering/RendererFeatureGates.d.ts.map +1 -0
- package/dist/rendering/RendererFeatureGates.js +92 -0
- package/dist/rendering/RendererFeatureGates.js.map +1 -0
- package/dist/rendering/RendererPostprocessPlan.d.ts +59 -0
- package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -0
- package/dist/rendering/RendererPostprocessPlan.js +155 -0
- package/dist/rendering/RendererPostprocessPlan.js.map +1 -0
- package/dist/rendering/RendererTiming.d.ts +53 -0
- package/dist/rendering/RendererTiming.d.ts.map +1 -0
- package/dist/rendering/RendererTiming.js +186 -0
- package/dist/rendering/RendererTiming.js.map +1 -0
- package/dist/rendering/RendererVisualPipelineReport.d.ts +224 -0
- package/dist/rendering/RendererVisualPipelineReport.d.ts.map +1 -0
- package/dist/rendering/RendererVisualPipelineReport.js +499 -0
- package/dist/rendering/RendererVisualPipelineReport.js.map +1 -0
- package/dist/rendering/ResourceLifecycle.d.ts +8 -0
- package/dist/rendering/ResourceLifecycle.d.ts.map +1 -0
- package/dist/rendering/ResourceLifecycle.js +18 -0
- package/dist/rendering/ResourceLifecycle.js.map +1 -0
- package/dist/rendering/Sampler.d.ts +20 -0
- package/dist/rendering/Sampler.d.ts.map +1 -0
- package/dist/rendering/Sampler.js +19 -0
- package/dist/rendering/Sampler.js.map +1 -0
- package/dist/rendering/SceneOptimization.d.ts +127 -0
- package/dist/rendering/SceneOptimization.d.ts.map +1 -0
- package/dist/rendering/SceneOptimization.js +342 -0
- package/dist/rendering/SceneOptimization.js.map +1 -0
- package/dist/rendering/ShaderChunks.d.ts +8 -0
- package/dist/rendering/ShaderChunks.d.ts.map +1 -0
- package/dist/rendering/ShaderChunks.js +386 -0
- package/dist/rendering/ShaderChunks.js.map +1 -0
- package/dist/rendering/ShaderLibrary.d.ts +63 -0
- package/dist/rendering/ShaderLibrary.d.ts.map +1 -0
- package/dist/rendering/ShaderLibrary.js +2707 -0
- package/dist/rendering/ShaderLibrary.js.map +1 -0
- package/dist/rendering/ShaderModule.d.ts +14 -0
- package/dist/rendering/ShaderModule.d.ts.map +1 -0
- package/dist/rendering/ShaderModule.js +33 -0
- package/dist/rendering/ShaderModule.js.map +1 -0
- package/dist/rendering/ShaderPreprocessor.d.ts +19 -0
- package/dist/rendering/ShaderPreprocessor.d.ts.map +1 -0
- package/dist/rendering/ShaderPreprocessor.js +212 -0
- package/dist/rendering/ShaderPreprocessor.js.map +1 -0
- package/dist/rendering/ShaderReflection.d.ts +23 -0
- package/dist/rendering/ShaderReflection.d.ts.map +1 -0
- package/dist/rendering/ShaderReflection.js +134 -0
- package/dist/rendering/ShaderReflection.js.map +1 -0
- package/dist/rendering/ShadowMap.d.ts +58 -0
- package/dist/rendering/ShadowMap.d.ts.map +1 -0
- package/dist/rendering/ShadowMap.js +183 -0
- package/dist/rendering/ShadowMap.js.map +1 -0
- package/dist/rendering/ShadowPass.d.ts +44 -0
- package/dist/rendering/ShadowPass.d.ts.map +1 -0
- package/dist/rendering/ShadowPass.js +162 -0
- package/dist/rendering/ShadowPass.js.map +1 -0
- package/dist/rendering/ShadowProjection.d.ts +15 -0
- package/dist/rendering/ShadowProjection.d.ts.map +1 -0
- package/dist/rendering/ShadowProjection.js +90 -0
- package/dist/rendering/ShadowProjection.js.map +1 -0
- package/dist/rendering/SkinnedLitMaterial.d.ts +63 -0
- package/dist/rendering/SkinnedLitMaterial.d.ts.map +1 -0
- package/dist/rendering/SkinnedLitMaterial.js +296 -0
- package/dist/rendering/SkinnedLitMaterial.js.map +1 -0
- package/dist/rendering/SkinnedUnlitMaterial.d.ts +13 -0
- package/dist/rendering/SkinnedUnlitMaterial.d.ts.map +1 -0
- package/dist/rendering/SkinnedUnlitMaterial.js +52 -0
- package/dist/rendering/SkinnedUnlitMaterial.js.map +1 -0
- package/dist/rendering/SkinningBounds.d.ts +10 -0
- package/dist/rendering/SkinningBounds.d.ts.map +1 -0
- package/dist/rendering/SkinningBounds.js +107 -0
- package/dist/rendering/SkinningBounds.js.map +1 -0
- package/dist/rendering/SpaceEnvironmentFixtures.d.ts +59 -0
- package/dist/rendering/SpaceEnvironmentFixtures.d.ts.map +1 -0
- package/dist/rendering/SpaceEnvironmentFixtures.js +132 -0
- package/dist/rendering/SpaceEnvironmentFixtures.js.map +1 -0
- package/dist/rendering/SpriteGeometry.d.ts +3 -0
- package/dist/rendering/SpriteGeometry.d.ts.map +1 -0
- package/dist/rendering/SpriteGeometry.js +21 -0
- package/dist/rendering/SpriteGeometry.js.map +1 -0
- package/dist/rendering/StereoCameraRig.d.ts +34 -0
- package/dist/rendering/StereoCameraRig.d.ts.map +1 -0
- package/dist/rendering/StereoCameraRig.js +79 -0
- package/dist/rendering/StereoCameraRig.js.map +1 -0
- package/dist/rendering/StereoEffects.d.ts +90 -0
- package/dist/rendering/StereoEffects.d.ts.map +1 -0
- package/dist/rendering/StereoEffects.js +171 -0
- package/dist/rendering/StereoEffects.js.map +1 -0
- package/dist/rendering/TerrainFixtures.d.ts +36 -0
- package/dist/rendering/TerrainFixtures.d.ts.map +1 -0
- package/dist/rendering/TerrainFixtures.js +143 -0
- package/dist/rendering/TerrainFixtures.js.map +1 -0
- package/dist/rendering/Texture.d.ts +64 -0
- package/dist/rendering/Texture.d.ts.map +1 -0
- package/dist/rendering/Texture.js +257 -0
- package/dist/rendering/Texture.js.map +1 -0
- package/dist/rendering/TextureBinding.d.ts +38 -0
- package/dist/rendering/TextureBinding.d.ts.map +1 -0
- package/dist/rendering/TextureBinding.js +66 -0
- package/dist/rendering/TextureBinding.js.map +1 -0
- package/dist/rendering/TexturedPBRMaterial.d.ts +206 -0
- package/dist/rendering/TexturedPBRMaterial.d.ts.map +1 -0
- package/dist/rendering/TexturedPBRMaterial.js +842 -0
- package/dist/rendering/TexturedPBRMaterial.js.map +1 -0
- package/dist/rendering/TexturedUnlitMaterial.d.ts +19 -0
- package/dist/rendering/TexturedUnlitMaterial.d.ts.map +1 -0
- package/dist/rendering/TexturedUnlitMaterial.js +52 -0
- package/dist/rendering/TexturedUnlitMaterial.js.map +1 -0
- package/dist/rendering/ToneMapping.d.ts +19 -0
- package/dist/rendering/ToneMapping.d.ts.map +1 -0
- package/dist/rendering/ToneMapping.js +53 -0
- package/dist/rendering/ToneMapping.js.map +1 -0
- package/dist/rendering/UniformBinder.d.ts +7 -0
- package/dist/rendering/UniformBinder.d.ts.map +1 -0
- package/dist/rendering/UniformBinder.js +14 -0
- package/dist/rendering/UniformBinder.js.map +1 -0
- package/dist/rendering/UniformLayout.d.ts +19 -0
- package/dist/rendering/UniformLayout.d.ts.map +1 -0
- package/dist/rendering/UniformLayout.js +107 -0
- package/dist/rendering/UniformLayout.js.map +1 -0
- package/dist/rendering/UnlitMaterial.d.ts +16 -0
- package/dist/rendering/UnlitMaterial.d.ts.map +1 -0
- package/dist/rendering/UnlitMaterial.js +60 -0
- package/dist/rendering/UnlitMaterial.js.map +1 -0
- package/dist/rendering/VegetationFixtures.d.ts +68 -0
- package/dist/rendering/VegetationFixtures.d.ts.map +1 -0
- package/dist/rendering/VegetationFixtures.js +241 -0
- package/dist/rendering/VegetationFixtures.js.map +1 -0
- package/dist/rendering/VertexBuffer.d.ts +29 -0
- package/dist/rendering/VertexBuffer.d.ts.map +1 -0
- package/dist/rendering/VertexBuffer.js +106 -0
- package/dist/rendering/VertexBuffer.js.map +1 -0
- package/dist/rendering/VertexFormat.d.ts +36 -0
- package/dist/rendering/VertexFormat.d.ts.map +1 -0
- package/dist/rendering/VertexFormat.js +127 -0
- package/dist/rendering/VertexFormat.js.map +1 -0
- package/dist/rendering/VoxelWorldFixtures.d.ts +54 -0
- package/dist/rendering/VoxelWorldFixtures.d.ts.map +1 -0
- package/dist/rendering/VoxelWorldFixtures.js +186 -0
- package/dist/rendering/VoxelWorldFixtures.js.map +1 -0
- package/dist/rendering/WeatherFixtures.d.ts +46 -0
- package/dist/rendering/WeatherFixtures.d.ts.map +1 -0
- package/dist/rendering/WeatherFixtures.js +142 -0
- package/dist/rendering/WeatherFixtures.js.map +1 -0
- package/dist/rendering/WebGL2Device.d.ts +137 -0
- package/dist/rendering/WebGL2Device.d.ts.map +1 -0
- package/dist/rendering/WebGL2Device.js +2107 -0
- package/dist/rendering/WebGL2Device.js.map +1 -0
- package/dist/rendering/WebGL2StateCache.d.ts +89 -0
- package/dist/rendering/WebGL2StateCache.d.ts.map +1 -0
- package/dist/rendering/WebGL2StateCache.js +265 -0
- package/dist/rendering/WebGL2StateCache.js.map +1 -0
- package/dist/rendering/WebGPUDevice.d.ts +287 -0
- package/dist/rendering/WebGPUDevice.d.ts.map +1 -0
- package/dist/rendering/WebGPUDevice.js +2403 -0
- package/dist/rendering/WebGPUDevice.js.map +1 -0
- package/dist/rendering/WebGPURenderToTextureProof.d.ts +29 -0
- package/dist/rendering/WebGPURenderToTextureProof.d.ts.map +1 -0
- package/dist/rendering/WebGPURenderToTextureProof.js +96 -0
- package/dist/rendering/WebGPURenderToTextureProof.js.map +1 -0
- package/dist/rendering/advanced-runtime/AdvancedRenderer.d.ts +23 -0
- package/dist/rendering/advanced-runtime/AdvancedRenderer.d.ts.map +1 -0
- package/dist/rendering/advanced-runtime/AdvancedRenderer.js +45 -0
- package/dist/rendering/advanced-runtime/AdvancedRenderer.js.map +1 -0
- package/dist/rendering/advanced-runtime/index.d.ts +10 -0
- package/dist/rendering/advanced-runtime/index.d.ts.map +1 -0
- package/dist/rendering/advanced-runtime/index.js +9 -0
- package/dist/rendering/advanced-runtime/index.js.map +1 -0
- package/dist/rendering/cinematic/BloomPass.d.ts +10 -0
- package/dist/rendering/cinematic/BloomPass.d.ts.map +1 -0
- package/dist/rendering/cinematic/BloomPass.js +18 -0
- package/dist/rendering/cinematic/BloomPass.js.map +1 -0
- package/dist/rendering/cinematic/CinematicDepthComposition.d.ts +12 -0
- package/dist/rendering/cinematic/CinematicDepthComposition.d.ts.map +1 -0
- package/dist/rendering/cinematic/CinematicDepthComposition.js +22 -0
- package/dist/rendering/cinematic/CinematicDepthComposition.js.map +1 -0
- package/dist/rendering/cinematic/CinematicEvidence.d.ts +43 -0
- package/dist/rendering/cinematic/CinematicEvidence.d.ts.map +1 -0
- package/dist/rendering/cinematic/CinematicEvidence.js +55 -0
- package/dist/rendering/cinematic/CinematicEvidence.js.map +1 -0
- package/dist/rendering/cinematic/CinematicLightingRig.d.ts +32 -0
- package/dist/rendering/cinematic/CinematicLightingRig.d.ts.map +1 -0
- package/dist/rendering/cinematic/CinematicLightingRig.js +90 -0
- package/dist/rendering/cinematic/CinematicLightingRig.js.map +1 -0
- package/dist/rendering/cinematic/CinematicMaterialPresets.d.ts +16 -0
- package/dist/rendering/cinematic/CinematicMaterialPresets.d.ts.map +1 -0
- package/dist/rendering/cinematic/CinematicMaterialPresets.js +114 -0
- package/dist/rendering/cinematic/CinematicMaterialPresets.js.map +1 -0
- package/dist/rendering/cinematic/CinematicPostProcess.d.ts +25 -0
- package/dist/rendering/cinematic/CinematicPostProcess.d.ts.map +1 -0
- package/dist/rendering/cinematic/CinematicPostProcess.js +64 -0
- package/dist/rendering/cinematic/CinematicPostProcess.js.map +1 -0
- package/dist/rendering/cinematic/DepthHazePass.d.ts +12 -0
- package/dist/rendering/cinematic/DepthHazePass.d.ts.map +1 -0
- package/dist/rendering/cinematic/DepthHazePass.js +20 -0
- package/dist/rendering/cinematic/DepthHazePass.js.map +1 -0
- package/dist/rendering/cinematic/EmissivePracticalLightSystem.d.ts +18 -0
- package/dist/rendering/cinematic/EmissivePracticalLightSystem.d.ts.map +1 -0
- package/dist/rendering/cinematic/EmissivePracticalLightSystem.js +25 -0
- package/dist/rendering/cinematic/EmissivePracticalLightSystem.js.map +1 -0
- package/dist/rendering/cinematic/FilmGrainPass.d.ts +9 -0
- package/dist/rendering/cinematic/FilmGrainPass.d.ts.map +1 -0
- package/dist/rendering/cinematic/FilmGrainPass.js +17 -0
- package/dist/rendering/cinematic/FilmGrainPass.js.map +1 -0
- package/dist/rendering/cinematic/FogVolumeSystem.d.ts +12 -0
- package/dist/rendering/cinematic/FogVolumeSystem.d.ts.map +1 -0
- package/dist/rendering/cinematic/FogVolumeSystem.js +20 -0
- package/dist/rendering/cinematic/FogVolumeSystem.js.map +1 -0
- package/dist/rendering/cinematic/GlowCardSystem.d.ts +17 -0
- package/dist/rendering/cinematic/GlowCardSystem.d.ts.map +1 -0
- package/dist/rendering/cinematic/GlowCardSystem.js +28 -0
- package/dist/rendering/cinematic/GlowCardSystem.js.map +1 -0
- package/dist/rendering/cinematic/RainParticleSystem.d.ts +22 -0
- package/dist/rendering/cinematic/RainParticleSystem.d.ts.map +1 -0
- package/dist/rendering/cinematic/RainParticleSystem.js +114 -0
- package/dist/rendering/cinematic/RainParticleSystem.js.map +1 -0
- package/dist/rendering/cinematic/VignettePass.d.ts +10 -0
- package/dist/rendering/cinematic/VignettePass.d.ts.map +1 -0
- package/dist/rendering/cinematic/VignettePass.js +17 -0
- package/dist/rendering/cinematic/VignettePass.js.map +1 -0
- package/dist/rendering/cinematic/WetReflectionApproximation.d.ts +13 -0
- package/dist/rendering/cinematic/WetReflectionApproximation.d.ts.map +1 -0
- package/dist/rendering/cinematic/WetReflectionApproximation.js +18 -0
- package/dist/rendering/cinematic/WetReflectionApproximation.js.map +1 -0
- package/dist/rendering/cinematic/index.d.ts +15 -0
- package/dist/rendering/cinematic/index.d.ts.map +1 -0
- package/dist/rendering/cinematic/index.js +15 -0
- package/dist/rendering/cinematic/index.js.map +1 -0
- package/dist/rendering/effects/CollisionModule.d.ts +15 -0
- package/dist/rendering/effects/CollisionModule.d.ts.map +1 -0
- package/dist/rendering/effects/CollisionModule.js +46 -0
- package/dist/rendering/effects/CollisionModule.js.map +1 -0
- package/dist/rendering/effects/ColorModule.d.ts +15 -0
- package/dist/rendering/effects/ColorModule.d.ts.map +1 -0
- package/dist/rendering/effects/ColorModule.js +45 -0
- package/dist/rendering/effects/ColorModule.js.map +1 -0
- package/dist/rendering/effects/ForceModule.d.ts +11 -0
- package/dist/rendering/effects/ForceModule.d.ts.map +1 -0
- package/dist/rendering/effects/ForceModule.js +17 -0
- package/dist/rendering/effects/ForceModule.js.map +1 -0
- package/dist/rendering/effects/GPUParticleBackend.d.ts +153 -0
- package/dist/rendering/effects/GPUParticleBackend.d.ts.map +1 -0
- package/dist/rendering/effects/GPUParticleBackend.js +397 -0
- package/dist/rendering/effects/GPUParticleBackend.js.map +1 -0
- package/dist/rendering/effects/Particle.d.ts +49 -0
- package/dist/rendering/effects/Particle.d.ts.map +1 -0
- package/dist/rendering/effects/Particle.js +56 -0
- package/dist/rendering/effects/Particle.js.map +1 -0
- package/dist/rendering/effects/ParticleDiagnostics.d.ts +58 -0
- package/dist/rendering/effects/ParticleDiagnostics.d.ts.map +1 -0
- package/dist/rendering/effects/ParticleDiagnostics.js +145 -0
- package/dist/rendering/effects/ParticleDiagnostics.js.map +1 -0
- package/dist/rendering/effects/ParticleEffectPresets.d.ts +8 -0
- package/dist/rendering/effects/ParticleEffectPresets.d.ts.map +1 -0
- package/dist/rendering/effects/ParticleEffectPresets.js +137 -0
- package/dist/rendering/effects/ParticleEffectPresets.js.map +1 -0
- package/dist/rendering/effects/ParticleEmitter.d.ts +87 -0
- package/dist/rendering/effects/ParticleEmitter.d.ts.map +1 -0
- package/dist/rendering/effects/ParticleEmitter.js +254 -0
- package/dist/rendering/effects/ParticleEmitter.js.map +1 -0
- package/dist/rendering/effects/ParticleModule.d.ts +15 -0
- package/dist/rendering/effects/ParticleModule.d.ts.map +1 -0
- package/dist/rendering/effects/ParticleModule.js +6 -0
- package/dist/rendering/effects/ParticleModule.js.map +1 -0
- package/dist/rendering/effects/ParticleRenderPass.d.ts +35 -0
- package/dist/rendering/effects/ParticleRenderPass.d.ts.map +1 -0
- package/dist/rendering/effects/ParticleRenderPass.js +91 -0
- package/dist/rendering/effects/ParticleRenderPass.js.map +1 -0
- package/dist/rendering/effects/ParticleRenderer.d.ts +34 -0
- package/dist/rendering/effects/ParticleRenderer.d.ts.map +1 -0
- package/dist/rendering/effects/ParticleRenderer.js +93 -0
- package/dist/rendering/effects/ParticleRenderer.js.map +1 -0
- package/dist/rendering/effects/ParticleSystem.d.ts +51 -0
- package/dist/rendering/effects/ParticleSystem.d.ts.map +1 -0
- package/dist/rendering/effects/ParticleSystem.js +261 -0
- package/dist/rendering/effects/ParticleSystem.js.map +1 -0
- package/dist/rendering/effects/SizeModule.d.ts +14 -0
- package/dist/rendering/effects/SizeModule.d.ts.map +1 -0
- package/dist/rendering/effects/SizeModule.js +42 -0
- package/dist/rendering/effects/SizeModule.js.map +1 -0
- package/dist/rendering/effects/TrailModule.d.ts +22 -0
- package/dist/rendering/effects/TrailModule.d.ts.map +1 -0
- package/dist/rendering/effects/TrailModule.js +50 -0
- package/dist/rendering/effects/TrailModule.js.map +1 -0
- package/dist/rendering/effects/VelocityModule.d.ts +15 -0
- package/dist/rendering/effects/VelocityModule.d.ts.map +1 -0
- package/dist/rendering/effects/VelocityModule.js +57 -0
- package/dist/rendering/effects/VelocityModule.js.map +1 -0
- package/dist/rendering/effects/index.d.ts +16 -0
- package/dist/rendering/effects/index.d.ts.map +1 -0
- package/dist/rendering/effects/index.js +16 -0
- package/dist/rendering/effects/index.js.map +1 -0
- package/dist/rendering/index.d.ts +260 -0
- package/dist/rendering/index.d.ts.map +1 -0
- package/dist/rendering/index.js +155 -0
- package/dist/rendering/index.js.map +1 -0
- package/dist/rendering/materials/AlphaSorting.d.ts +8 -0
- package/dist/rendering/materials/AlphaSorting.d.ts.map +1 -0
- package/dist/rendering/materials/AlphaSorting.js +26 -0
- package/dist/rendering/materials/AlphaSorting.js.map +1 -0
- package/dist/rendering/materials/MaterialExtensions.d.ts +10 -0
- package/dist/rendering/materials/MaterialExtensions.d.ts.map +1 -0
- package/dist/rendering/materials/MaterialExtensions.js +20 -0
- package/dist/rendering/materials/MaterialExtensions.js.map +1 -0
- package/dist/rendering/materials/PhysicalMaterial.d.ts +36 -0
- package/dist/rendering/materials/PhysicalMaterial.d.ts.map +1 -0
- package/dist/rendering/materials/PhysicalMaterial.js +79 -0
- package/dist/rendering/materials/PhysicalMaterial.js.map +1 -0
- package/dist/rendering/materials/TransmissionPass.d.ts +16 -0
- package/dist/rendering/materials/TransmissionPass.d.ts.map +1 -0
- package/dist/rendering/materials/TransmissionPass.js +30 -0
- package/dist/rendering/materials/TransmissionPass.js.map +1 -0
- package/dist/rendering/performance/BVH.d.ts +3 -0
- package/dist/rendering/performance/BVH.d.ts.map +1 -0
- package/dist/rendering/performance/BVH.js +2 -0
- package/dist/rendering/performance/BVH.js.map +1 -0
- package/dist/rendering/performance/Batcher.d.ts +3 -0
- package/dist/rendering/performance/Batcher.d.ts.map +1 -0
- package/dist/rendering/performance/Batcher.js +2 -0
- package/dist/rendering/performance/Batcher.js.map +1 -0
- package/dist/rendering/performance/FrustumCuller.d.ts +3 -0
- package/dist/rendering/performance/FrustumCuller.d.ts.map +1 -0
- package/dist/rendering/performance/FrustumCuller.js +5 -0
- package/dist/rendering/performance/FrustumCuller.js.map +1 -0
- package/dist/rendering/performance/LOD.d.ts +8 -0
- package/dist/rendering/performance/LOD.d.ts.map +1 -0
- package/dist/rendering/performance/LOD.js +15 -0
- package/dist/rendering/performance/LOD.js.map +1 -0
- package/dist/rendering/performance/Octree.d.ts +7 -0
- package/dist/rendering/performance/Octree.d.ts.map +1 -0
- package/dist/rendering/performance/Octree.js +4 -0
- package/dist/rendering/performance/Octree.js.map +1 -0
- package/dist/rendering/performance/RenderItemSorting.d.ts +43 -0
- package/dist/rendering/performance/RenderItemSorting.d.ts.map +1 -0
- package/dist/rendering/performance/RenderItemSorting.js +111 -0
- package/dist/rendering/performance/RenderItemSorting.js.map +1 -0
- package/dist/rendering/performance/RendererStats.d.ts +23 -0
- package/dist/rendering/performance/RendererStats.d.ts.map +1 -0
- package/dist/rendering/performance/RendererStats.js +23 -0
- package/dist/rendering/performance/RendererStats.js.map +1 -0
- package/dist/rendering/performance/ResourceBudget.d.ts +19 -0
- package/dist/rendering/performance/ResourceBudget.d.ts.map +1 -0
- package/dist/rendering/performance/ResourceBudget.js +21 -0
- package/dist/rendering/performance/ResourceBudget.js.map +1 -0
- package/dist/rendering/postprocess/BloomPass.d.ts +11 -0
- package/dist/rendering/postprocess/BloomPass.d.ts.map +1 -0
- package/dist/rendering/postprocess/BloomPass.js +14 -0
- package/dist/rendering/postprocess/BloomPass.js.map +1 -0
- package/dist/rendering/postprocess/CinematicDiagnostics.d.ts +112 -0
- package/dist/rendering/postprocess/CinematicDiagnostics.d.ts.map +1 -0
- package/dist/rendering/postprocess/CinematicDiagnostics.js +492 -0
- package/dist/rendering/postprocess/CinematicDiagnostics.js.map +1 -0
- package/dist/rendering/postprocess/ColorGradingPass.d.ts +4 -0
- package/dist/rendering/postprocess/ColorGradingPass.d.ts.map +1 -0
- package/dist/rendering/postprocess/ColorGradingPass.js +15 -0
- package/dist/rendering/postprocess/ColorGradingPass.js.map +1 -0
- package/dist/rendering/postprocess/DepthOfFieldPass.d.ts +3 -0
- package/dist/rendering/postprocess/DepthOfFieldPass.d.ts.map +1 -0
- package/dist/rendering/postprocess/DepthOfFieldPass.js +7 -0
- package/dist/rendering/postprocess/DepthOfFieldPass.js.map +1 -0
- package/dist/rendering/postprocess/EffectComposer.d.ts +110 -0
- package/dist/rendering/postprocess/EffectComposer.d.ts.map +1 -0
- package/dist/rendering/postprocess/EffectComposer.js +249 -0
- package/dist/rendering/postprocess/EffectComposer.js.map +1 -0
- package/dist/rendering/postprocess/SSAOPass.d.ts +6 -0
- package/dist/rendering/postprocess/SSAOPass.d.ts.map +1 -0
- package/dist/rendering/postprocess/SSAOPass.js +18 -0
- package/dist/rendering/postprocess/SSAOPass.js.map +1 -0
- package/dist/rendering/postprocess/index.d.ts +11 -0
- package/dist/rendering/postprocess/index.d.ts.map +1 -0
- package/dist/rendering/postprocess/index.js +7 -0
- package/dist/rendering/postprocess/index.js.map +1 -0
- package/dist/rendering/production-runtime/AnimationControlsPipeline.d.ts +37 -0
- package/dist/rendering/production-runtime/AnimationControlsPipeline.d.ts.map +1 -0
- package/dist/rendering/production-runtime/AnimationControlsPipeline.js +41 -0
- package/dist/rendering/production-runtime/AnimationControlsPipeline.js.map +1 -0
- package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts +81 -0
- package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -0
- package/dist/rendering/production-runtime/PBRHDRPipeline.js +279 -0
- package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -0
- package/dist/rendering/production-runtime/ProductionEffectsPipeline.d.ts +20 -0
- package/dist/rendering/production-runtime/ProductionEffectsPipeline.d.ts.map +1 -0
- package/dist/rendering/production-runtime/ProductionEffectsPipeline.js +65 -0
- package/dist/rendering/production-runtime/ProductionEffectsPipeline.js.map +1 -0
- package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +97 -0
- package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -0
- package/dist/rendering/production-runtime/ProductionRendererTypes.js +29 -0
- package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -0
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts +36 -0
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js +124 -0
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js.map +1 -0
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +51 -0
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +269 -0
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -0
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts +69 -0
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +313 -0
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -0
- package/dist/rendering/production-runtime/TransmissionBackdropCapture.d.ts +11 -0
- package/dist/rendering/production-runtime/TransmissionBackdropCapture.d.ts.map +1 -0
- package/dist/rendering/production-runtime/TransmissionBackdropCapture.js +119 -0
- package/dist/rendering/production-runtime/TransmissionBackdropCapture.js.map +1 -0
- package/dist/rendering/production-runtime/animation/MorphTargetRenderer.d.ts +7 -0
- package/dist/rendering/production-runtime/animation/MorphTargetRenderer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/animation/MorphTargetRenderer.js +2 -0
- package/dist/rendering/production-runtime/animation/MorphTargetRenderer.js.map +1 -0
- package/dist/rendering/production-runtime/animation/SkinningRenderer.d.ts +7 -0
- package/dist/rendering/production-runtime/animation/SkinningRenderer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/animation/SkinningRenderer.js +2 -0
- package/dist/rendering/production-runtime/animation/SkinningRenderer.js.map +1 -0
- package/dist/rendering/production-runtime/backends/RendererBackend.d.ts +16 -0
- package/dist/rendering/production-runtime/backends/RendererBackend.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/RendererBackend.js +2 -0
- package/dist/rendering/production-runtime/backends/RendererBackend.js.map +1 -0
- package/dist/rendering/production-runtime/backends/WebGL2RendererBackend.d.ts +15 -0
- package/dist/rendering/production-runtime/backends/WebGL2RendererBackend.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/WebGL2RendererBackend.js +25 -0
- package/dist/rendering/production-runtime/backends/WebGL2RendererBackend.js.map +1 -0
- package/dist/rendering/production-runtime/backends/WebGPURendererBackend.d.ts +20 -0
- package/dist/rendering/production-runtime/backends/WebGPURendererBackend.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/WebGPURendererBackend.js +19 -0
- package/dist/rendering/production-runtime/backends/WebGPURendererBackend.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Buffer.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Buffer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Buffer.js +8 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Buffer.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Capabilities.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Capabilities.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Capabilities.js +8 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Capabilities.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2RenderTarget.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2RenderTarget.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2RenderTarget.js +8 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2RenderTarget.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Shader.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Shader.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Shader.js +8 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Shader.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2StateCache.d.ts +2 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2StateCache.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2StateCache.js +2 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2StateCache.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Texture.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Texture.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Texture.js +8 -0
- package/dist/rendering/production-runtime/backends/webgl2/WebGL2Texture.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUBuffer.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUBuffer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUBuffer.js +8 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUBuffer.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUCapabilities.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUCapabilities.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUCapabilities.js +8 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUCapabilities.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPURenderTarget.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPURenderTarget.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPURenderTarget.js +8 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPURenderTarget.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUShader.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUShader.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUShader.js +8 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUShader.js.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUTexture.d.ts +11 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUTexture.d.ts.map +1 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUTexture.js +8 -0
- package/dist/rendering/production-runtime/backends/webgpu/WebGPUTexture.js.map +1 -0
- package/dist/rendering/production-runtime/color/ColorManagement.d.ts +4 -0
- package/dist/rendering/production-runtime/color/ColorManagement.d.ts.map +1 -0
- package/dist/rendering/production-runtime/color/ColorManagement.js +3 -0
- package/dist/rendering/production-runtime/color/ColorManagement.js.map +1 -0
- package/dist/rendering/production-runtime/color/ToneMapping.d.ts +3 -0
- package/dist/rendering/production-runtime/color/ToneMapping.d.ts.map +1 -0
- package/dist/rendering/production-runtime/color/ToneMapping.js +9 -0
- package/dist/rendering/production-runtime/color/ToneMapping.js.map +1 -0
- package/dist/rendering/production-runtime/diagnostics/FrameCapture.d.ts +7 -0
- package/dist/rendering/production-runtime/diagnostics/FrameCapture.d.ts.map +1 -0
- package/dist/rendering/production-runtime/diagnostics/FrameCapture.js +2 -0
- package/dist/rendering/production-runtime/diagnostics/FrameCapture.js.map +1 -0
- package/dist/rendering/production-runtime/diagnostics/GPUCapabilities.d.ts +9 -0
- package/dist/rendering/production-runtime/diagnostics/GPUCapabilities.d.ts.map +1 -0
- package/dist/rendering/production-runtime/diagnostics/GPUCapabilities.js +2 -0
- package/dist/rendering/production-runtime/diagnostics/GPUCapabilities.js.map +1 -0
- package/dist/rendering/production-runtime/diagnostics/RendererStats.d.ts +9 -0
- package/dist/rendering/production-runtime/diagnostics/RendererStats.d.ts.map +1 -0
- package/dist/rendering/production-runtime/diagnostics/RendererStats.js +2 -0
- package/dist/rendering/production-runtime/diagnostics/RendererStats.js.map +1 -0
- package/dist/rendering/production-runtime/environment/EnvironmentMap.d.ts +8 -0
- package/dist/rendering/production-runtime/environment/EnvironmentMap.d.ts.map +1 -0
- package/dist/rendering/production-runtime/environment/EnvironmentMap.js +2 -0
- package/dist/rendering/production-runtime/environment/EnvironmentMap.js.map +1 -0
- package/dist/rendering/production-runtime/environment/HDRLoader.d.ts +19 -0
- package/dist/rendering/production-runtime/environment/HDRLoader.d.ts.map +1 -0
- package/dist/rendering/production-runtime/environment/HDRLoader.js +22 -0
- package/dist/rendering/production-runtime/environment/HDRLoader.js.map +1 -0
- package/dist/rendering/production-runtime/environment/PMREMGenerator.d.ts +99 -0
- package/dist/rendering/production-runtime/environment/PMREMGenerator.d.ts.map +1 -0
- package/dist/rendering/production-runtime/environment/PMREMGenerator.js +534 -0
- package/dist/rendering/production-runtime/environment/PMREMGenerator.js.map +1 -0
- package/dist/rendering/production-runtime/framegraph/FrameGraph.d.ts +8 -0
- package/dist/rendering/production-runtime/framegraph/FrameGraph.d.ts.map +1 -0
- package/dist/rendering/production-runtime/framegraph/FrameGraph.js +14 -0
- package/dist/rendering/production-runtime/framegraph/FrameGraph.js.map +1 -0
- package/dist/rendering/production-runtime/framegraph/RenderPass.d.ts +14 -0
- package/dist/rendering/production-runtime/framegraph/RenderPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/framegraph/RenderPass.js +2 -0
- package/dist/rendering/production-runtime/framegraph/RenderPass.js.map +1 -0
- package/dist/rendering/production-runtime/geometry/ProjectedDecalGeometry.d.ts +53 -0
- package/dist/rendering/production-runtime/geometry/ProjectedDecalGeometry.d.ts.map +1 -0
- package/dist/rendering/production-runtime/geometry/ProjectedDecalGeometry.js +340 -0
- package/dist/rendering/production-runtime/geometry/ProjectedDecalGeometry.js.map +1 -0
- package/dist/rendering/production-runtime/index.d.ts +73 -0
- package/dist/rendering/production-runtime/index.d.ts.map +1 -0
- package/dist/rendering/production-runtime/index.js +67 -0
- package/dist/rendering/production-runtime/index.js.map +1 -0
- package/dist/rendering/production-runtime/lights/LightManager.d.ts +8 -0
- package/dist/rendering/production-runtime/lights/LightManager.d.ts.map +1 -0
- package/dist/rendering/production-runtime/lights/LightManager.js +7 -0
- package/dist/rendering/production-runtime/lights/LightManager.js.map +1 -0
- package/dist/rendering/production-runtime/lights/ShadowMapRenderer.d.ts +8 -0
- package/dist/rendering/production-runtime/lights/ShadowMapRenderer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/lights/ShadowMapRenderer.js +4 -0
- package/dist/rendering/production-runtime/lights/ShadowMapRenderer.js.map +1 -0
- package/dist/rendering/production-runtime/materials/GLTFMaterialAdapter.d.ts +14 -0
- package/dist/rendering/production-runtime/materials/GLTFMaterialAdapter.d.ts.map +1 -0
- package/dist/rendering/production-runtime/materials/GLTFMaterialAdapter.js +5 -0
- package/dist/rendering/production-runtime/materials/GLTFMaterialAdapter.js.map +1 -0
- package/dist/rendering/production-runtime/materials/GLTFPBRMaterialAdapter.d.ts +3 -0
- package/dist/rendering/production-runtime/materials/GLTFPBRMaterialAdapter.d.ts.map +1 -0
- package/dist/rendering/production-runtime/materials/GLTFPBRMaterialAdapter.js +2 -0
- package/dist/rendering/production-runtime/materials/GLTFPBRMaterialAdapter.js.map +1 -0
- package/dist/rendering/production-runtime/materials/MaterialCompiler.d.ts +9 -0
- package/dist/rendering/production-runtime/materials/MaterialCompiler.d.ts.map +1 -0
- package/dist/rendering/production-runtime/materials/MaterialCompiler.js +5 -0
- package/dist/rendering/production-runtime/materials/MaterialCompiler.js.map +1 -0
- package/dist/rendering/production-runtime/materials/MaterialTextureBindings.d.ts +8 -0
- package/dist/rendering/production-runtime/materials/MaterialTextureBindings.d.ts.map +1 -0
- package/dist/rendering/production-runtime/materials/MaterialTextureBindings.js +4 -0
- package/dist/rendering/production-runtime/materials/MaterialTextureBindings.js.map +1 -0
- package/dist/rendering/production-runtime/materials/PBRMaterial.d.ts +23 -0
- package/dist/rendering/production-runtime/materials/PBRMaterial.d.ts.map +1 -0
- package/dist/rendering/production-runtime/materials/PBRMaterial.js +2 -0
- package/dist/rendering/production-runtime/materials/PBRMaterial.js.map +1 -0
- package/dist/rendering/production-runtime/materials/PBRShaderFeatures.d.ts +13 -0
- package/dist/rendering/production-runtime/materials/PBRShaderFeatures.d.ts.map +1 -0
- package/dist/rendering/production-runtime/materials/PBRShaderFeatures.js +2 -0
- package/dist/rendering/production-runtime/materials/PBRShaderFeatures.js.map +1 -0
- package/dist/rendering/production-runtime/passes/ContactShadowPass.d.ts +40 -0
- package/dist/rendering/production-runtime/passes/ContactShadowPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/passes/ContactShadowPass.js +126 -0
- package/dist/rendering/production-runtime/passes/ContactShadowPass.js.map +1 -0
- package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts +8 -0
- package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/passes/DepthPrepass.js +7 -0
- package/dist/rendering/production-runtime/passes/DepthPrepass.js.map +1 -0
- package/dist/rendering/production-runtime/passes/OpaquePass.d.ts +8 -0
- package/dist/rendering/production-runtime/passes/OpaquePass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/passes/OpaquePass.js +7 -0
- package/dist/rendering/production-runtime/passes/OpaquePass.js.map +1 -0
- package/dist/rendering/production-runtime/passes/ShadowPass.d.ts +8 -0
- package/dist/rendering/production-runtime/passes/ShadowPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/passes/ShadowPass.js +7 -0
- package/dist/rendering/production-runtime/passes/ShadowPass.js.map +1 -0
- package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts +8 -0
- package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/passes/SkyboxPass.js +7 -0
- package/dist/rendering/production-runtime/passes/SkyboxPass.js.map +1 -0
- package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts +8 -0
- package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/passes/ToneMappingPass.js +7 -0
- package/dist/rendering/production-runtime/passes/ToneMappingPass.js.map +1 -0
- package/dist/rendering/production-runtime/passes/TransparentPass.d.ts +8 -0
- package/dist/rendering/production-runtime/passes/TransparentPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/passes/TransparentPass.js +7 -0
- package/dist/rendering/production-runtime/passes/TransparentPass.js.map +1 -0
- package/dist/rendering/production-runtime/postprocess/BloomPass.d.ts +15 -0
- package/dist/rendering/production-runtime/postprocess/BloomPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/postprocess/BloomPass.js +37 -0
- package/dist/rendering/production-runtime/postprocess/BloomPass.js.map +1 -0
- package/dist/rendering/production-runtime/postprocess/ColorGradingPass.d.ts +16 -0
- package/dist/rendering/production-runtime/postprocess/ColorGradingPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/postprocess/ColorGradingPass.js +34 -0
- package/dist/rendering/production-runtime/postprocess/ColorGradingPass.js.map +1 -0
- package/dist/rendering/production-runtime/postprocess/DOFPass.d.ts +16 -0
- package/dist/rendering/production-runtime/postprocess/DOFPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/postprocess/DOFPass.js +31 -0
- package/dist/rendering/production-runtime/postprocess/DOFPass.js.map +1 -0
- package/dist/rendering/production-runtime/postprocess/FXAAPass.d.ts +16 -0
- package/dist/rendering/production-runtime/postprocess/FXAAPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/postprocess/FXAAPass.js +39 -0
- package/dist/rendering/production-runtime/postprocess/FXAAPass.js.map +1 -0
- package/dist/rendering/production-runtime/postprocess/ProductionEffectComposer.d.ts +21 -0
- package/dist/rendering/production-runtime/postprocess/ProductionEffectComposer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/postprocess/ProductionEffectComposer.js +53 -0
- package/dist/rendering/production-runtime/postprocess/ProductionEffectComposer.js.map +1 -0
- package/dist/rendering/production-runtime/postprocess/ProductionPostProcessTypes.d.ts +37 -0
- package/dist/rendering/production-runtime/postprocess/ProductionPostProcessTypes.d.ts.map +1 -0
- package/dist/rendering/production-runtime/postprocess/ProductionPostProcessTypes.js +124 -0
- package/dist/rendering/production-runtime/postprocess/ProductionPostProcessTypes.js.map +1 -0
- package/dist/rendering/production-runtime/postprocess/SSAOPass.d.ts +15 -0
- package/dist/rendering/production-runtime/postprocess/SSAOPass.d.ts.map +1 -0
- package/dist/rendering/production-runtime/postprocess/SSAOPass.js +30 -0
- package/dist/rendering/production-runtime/postprocess/SSAOPass.js.map +1 -0
- package/dist/rendering/production-runtime/resources/GPUBuffer.d.ts +10 -0
- package/dist/rendering/production-runtime/resources/GPUBuffer.d.ts.map +1 -0
- package/dist/rendering/production-runtime/resources/GPUBuffer.js +7 -0
- package/dist/rendering/production-runtime/resources/GPUBuffer.js.map +1 -0
- package/dist/rendering/production-runtime/resources/GPUTexture.d.ts +12 -0
- package/dist/rendering/production-runtime/resources/GPUTexture.d.ts.map +1 -0
- package/dist/rendering/production-runtime/resources/GPUTexture.js +7 -0
- package/dist/rendering/production-runtime/resources/GPUTexture.js.map +1 -0
- package/dist/rendering/production-runtime/resources/RenderTarget.d.ts +11 -0
- package/dist/rendering/production-runtime/resources/RenderTarget.d.ts.map +1 -0
- package/dist/rendering/production-runtime/resources/RenderTarget.js +7 -0
- package/dist/rendering/production-runtime/resources/RenderTarget.js.map +1 -0
- package/dist/rendering/production-runtime/resources/ResourceCache.d.ts +8 -0
- package/dist/rendering/production-runtime/resources/ResourceCache.d.ts.map +1 -0
- package/dist/rendering/production-runtime/resources/ResourceCache.js +8 -0
- package/dist/rendering/production-runtime/resources/ResourceCache.js.map +1 -0
- package/dist/rendering/production-runtime/scene/Camera.d.ts +8 -0
- package/dist/rendering/production-runtime/scene/Camera.d.ts.map +1 -0
- package/dist/rendering/production-runtime/scene/Camera.js +2 -0
- package/dist/rendering/production-runtime/scene/Camera.js.map +1 -0
- package/dist/rendering/production-runtime/scene/Lights.d.ts +9 -0
- package/dist/rendering/production-runtime/scene/Lights.d.ts.map +1 -0
- package/dist/rendering/production-runtime/scene/Lights.js +2 -0
- package/dist/rendering/production-runtime/scene/Lights.js.map +1 -0
- package/dist/rendering/production-runtime/scene/RenderableMesh.d.ts +8 -0
- package/dist/rendering/production-runtime/scene/RenderableMesh.d.ts.map +1 -0
- package/dist/rendering/production-runtime/scene/RenderableMesh.js +2 -0
- package/dist/rendering/production-runtime/scene/RenderableMesh.js.map +1 -0
- package/dist/rendering/production-runtime/scene/RenderablePrimitive.d.ts +8 -0
- package/dist/rendering/production-runtime/scene/RenderablePrimitive.d.ts.map +1 -0
- package/dist/rendering/production-runtime/scene/RenderablePrimitive.js +2 -0
- package/dist/rendering/production-runtime/scene/RenderablePrimitive.js.map +1 -0
- package/dist/rendering/production-runtime/scene/RenderableScene.d.ts +11 -0
- package/dist/rendering/production-runtime/scene/RenderableScene.d.ts.map +1 -0
- package/dist/rendering/production-runtime/scene/RenderableScene.js +2 -0
- package/dist/rendering/production-runtime/scene/RenderableScene.js.map +1 -0
- package/dist/rendering/production-runtime/shaders/ShaderProgramLibrary.d.ts +12 -0
- package/dist/rendering/production-runtime/shaders/ShaderProgramLibrary.d.ts.map +1 -0
- package/dist/rendering/production-runtime/shaders/ShaderProgramLibrary.js +7 -0
- package/dist/rendering/production-runtime/shaders/ShaderProgramLibrary.js.map +1 -0
- package/dist/rendering/shadows/CascadedShadowPipeline.d.ts +25 -0
- package/dist/rendering/shadows/CascadedShadowPipeline.d.ts.map +1 -0
- package/dist/rendering/shadows/CascadedShadowPipeline.js +31 -0
- package/dist/rendering/shadows/CascadedShadowPipeline.js.map +1 -0
- package/dist/rendering/shadows/ContactShadows.d.ts +37 -0
- package/dist/rendering/shadows/ContactShadows.d.ts.map +1 -0
- package/dist/rendering/shadows/ContactShadows.js +68 -0
- package/dist/rendering/shadows/ContactShadows.js.map +1 -0
- package/dist/rendering/shadows/ShadowDebugViews.d.ts +12 -0
- package/dist/rendering/shadows/ShadowDebugViews.d.ts.map +1 -0
- package/dist/rendering/shadows/ShadowDebugViews.js +35 -0
- package/dist/rendering/shadows/ShadowDebugViews.js.map +1 -0
- package/dist/rendering/threejs-compatibility/InstancingSystem.d.ts +10 -0
- package/dist/rendering/threejs-compatibility/InstancingSystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/InstancingSystem.js +11 -0
- package/dist/rendering/threejs-compatibility/InstancingSystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/LightingSystem.d.ts +11 -0
- package/dist/rendering/threejs-compatibility/LightingSystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/LightingSystem.js +14 -0
- package/dist/rendering/threejs-compatibility/LightingSystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/MaterialSystem.d.ts +6 -0
- package/dist/rendering/threejs-compatibility/MaterialSystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/MaterialSystem.js +7 -0
- package/dist/rendering/threejs-compatibility/MaterialSystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/RenderTargetSystem.d.ts +16 -0
- package/dist/rendering/threejs-compatibility/RenderTargetSystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/RenderTargetSystem.js +23 -0
- package/dist/rendering/threejs-compatibility/RenderTargetSystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/RendererDiagnostics.d.ts +27 -0
- package/dist/rendering/threejs-compatibility/RendererDiagnostics.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/RendererDiagnostics.js +41 -0
- package/dist/rendering/threejs-compatibility/RendererDiagnostics.js.map +1 -0
- package/dist/rendering/threejs-compatibility/SceneRenderer.d.ts +19 -0
- package/dist/rendering/threejs-compatibility/SceneRenderer.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/SceneRenderer.js +18 -0
- package/dist/rendering/threejs-compatibility/SceneRenderer.js.map +1 -0
- package/dist/rendering/threejs-compatibility/ShadowSystem.d.ts +11 -0
- package/dist/rendering/threejs-compatibility/ShadowSystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/ShadowSystem.js +12 -0
- package/dist/rendering/threejs-compatibility/ShadowSystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/TextureSystem.d.ts +9 -0
- package/dist/rendering/threejs-compatibility/TextureSystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/TextureSystem.js +14 -0
- package/dist/rendering/threejs-compatibility/TextureSystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/ThreeCompatRenderer.d.ts +37 -0
- package/dist/rendering/threejs-compatibility/ThreeCompatRenderer.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/ThreeCompatRenderer.js +77 -0
- package/dist/rendering/threejs-compatibility/ThreeCompatRenderer.js.map +1 -0
- package/dist/rendering/threejs-compatibility/TransparencySystem.d.ts +11 -0
- package/dist/rendering/threejs-compatibility/TransparencySystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/TransparencySystem.js +12 -0
- package/dist/rendering/threejs-compatibility/TransparencySystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/index.d.ts +25 -0
- package/dist/rendering/threejs-compatibility/index.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/index.js +15 -0
- package/dist/rendering/threejs-compatibility/index.js.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/BVH.d.ts +11 -0
- package/dist/rendering/threejs-compatibility/performance/BVH.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/BVH.js +10 -0
- package/dist/rendering/threejs-compatibility/performance/BVH.js.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/FrustumCulling.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/performance/FrustumCulling.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/FrustumCulling.js +5 -0
- package/dist/rendering/threejs-compatibility/performance/FrustumCulling.js.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/Instancing.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/performance/Instancing.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/Instancing.js +10 -0
- package/dist/rendering/threejs-compatibility/performance/Instancing.js.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/LODSystem.d.ts +9 -0
- package/dist/rendering/threejs-compatibility/performance/LODSystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/LODSystem.js +11 -0
- package/dist/rendering/threejs-compatibility/performance/LODSystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/OcclusionCulling.d.ts +3 -0
- package/dist/rendering/threejs-compatibility/performance/OcclusionCulling.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/OcclusionCulling.js +5 -0
- package/dist/rendering/threejs-compatibility/performance/OcclusionCulling.js.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/RaycastAcceleration.d.ts +8 -0
- package/dist/rendering/threejs-compatibility/performance/RaycastAcceleration.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/RaycastAcceleration.js +11 -0
- package/dist/rendering/threejs-compatibility/performance/RaycastAcceleration.js.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/RendererProfiler.d.ts +11 -0
- package/dist/rendering/threejs-compatibility/performance/RendererProfiler.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/RendererProfiler.js +10 -0
- package/dist/rendering/threejs-compatibility/performance/RendererProfiler.js.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/TextureStreaming.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/performance/TextureStreaming.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/TextureStreaming.js +10 -0
- package/dist/rendering/threejs-compatibility/performance/TextureStreaming.js.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/index.d.ts +13 -0
- package/dist/rendering/threejs-compatibility/performance/index.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/performance/index.js +9 -0
- package/dist/rendering/threejs-compatibility/performance/index.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/BloomPass.d.ts +9 -0
- package/dist/rendering/threejs-compatibility/postprocess/BloomPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/BloomPass.js +14 -0
- package/dist/rendering/threejs-compatibility/postprocess/BloomPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/ColorGradingPass.d.ts +10 -0
- package/dist/rendering/threejs-compatibility/postprocess/ColorGradingPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/ColorGradingPass.js +16 -0
- package/dist/rendering/threejs-compatibility/postprocess/ColorGradingPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/DepthOfFieldPass.d.ts +9 -0
- package/dist/rendering/threejs-compatibility/postprocess/DepthOfFieldPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/DepthOfFieldPass.js +19 -0
- package/dist/rendering/threejs-compatibility/postprocess/DepthOfFieldPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/EffectComposer.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/postprocess/EffectComposer.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/EffectComposer.js +11 -0
- package/dist/rendering/threejs-compatibility/postprocess/EffectComposer.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/FXAAPass.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/postprocess/FXAAPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/FXAAPass.js +10 -0
- package/dist/rendering/threejs-compatibility/postprocess/FXAAPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/MotionBlurPass.d.ts +9 -0
- package/dist/rendering/threejs-compatibility/postprocess/MotionBlurPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/MotionBlurPass.js +18 -0
- package/dist/rendering/threejs-compatibility/postprocess/MotionBlurPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/OutlinePass.d.ts +9 -0
- package/dist/rendering/threejs-compatibility/postprocess/OutlinePass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/OutlinePass.js +19 -0
- package/dist/rendering/threejs-compatibility/postprocess/OutlinePass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/PostProcessTypes.d.ts +42 -0
- package/dist/rendering/threejs-compatibility/postprocess/PostProcessTypes.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/PostProcessTypes.js +123 -0
- package/dist/rendering/threejs-compatibility/postprocess/PostProcessTypes.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/RenderPass.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/postprocess/RenderPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/RenderPass.js +8 -0
- package/dist/rendering/threejs-compatibility/postprocess/RenderPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/SMAAPass.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/postprocess/SMAAPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/SMAAPass.js +10 -0
- package/dist/rendering/threejs-compatibility/postprocess/SMAAPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/SSAOPass.d.ts +9 -0
- package/dist/rendering/threejs-compatibility/postprocess/SSAOPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/SSAOPass.js +19 -0
- package/dist/rendering/threejs-compatibility/postprocess/SSAOPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/ShaderPass.d.ts +9 -0
- package/dist/rendering/threejs-compatibility/postprocess/ShaderPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/ShaderPass.js +11 -0
- package/dist/rendering/threejs-compatibility/postprocess/ShaderPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/TAAPass.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/postprocess/TAAPass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/TAAPass.js +10 -0
- package/dist/rendering/threejs-compatibility/postprocess/TAAPass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/VignettePass.d.ts +9 -0
- package/dist/rendering/threejs-compatibility/postprocess/VignettePass.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/VignettePass.js +14 -0
- package/dist/rendering/threejs-compatibility/postprocess/VignettePass.js.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/index.d.ts +16 -0
- package/dist/rendering/threejs-compatibility/postprocess/index.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/postprocess/index.js +15 -0
- package/dist/rendering/threejs-compatibility/postprocess/index.js.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/NodeMaterial.d.ts +14 -0
- package/dist/rendering/threejs-compatibility/shaders/NodeMaterial.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/NodeMaterial.js +15 -0
- package/dist/rendering/threejs-compatibility/shaders/NodeMaterial.js.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/RawShaderMaterial.d.ts +6 -0
- package/dist/rendering/threejs-compatibility/shaders/RawShaderMaterial.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/RawShaderMaterial.js +6 -0
- package/dist/rendering/threejs-compatibility/shaders/RawShaderMaterial.js.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/ShaderDiagnostics.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/shaders/ShaderDiagnostics.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/ShaderDiagnostics.js +12 -0
- package/dist/rendering/threejs-compatibility/shaders/ShaderDiagnostics.js.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/ShaderMaterial.d.ts +12 -0
- package/dist/rendering/threejs-compatibility/shaders/ShaderMaterial.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/ShaderMaterial.js +20 -0
- package/dist/rendering/threejs-compatibility/shaders/ShaderMaterial.js.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/ThreeCompatShaderChunks.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/shaders/ThreeCompatShaderChunks.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/ThreeCompatShaderChunks.js +7 -0
- package/dist/rendering/threejs-compatibility/shaders/ThreeCompatShaderChunks.js.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/Uniforms.d.ts +8 -0
- package/dist/rendering/threejs-compatibility/shaders/Uniforms.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/Uniforms.js +14 -0
- package/dist/rendering/threejs-compatibility/shaders/Uniforms.js.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/index.d.ts +10 -0
- package/dist/rendering/threejs-compatibility/shaders/index.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/shaders/index.js +7 -0
- package/dist/rendering/threejs-compatibility/shaders/index.js.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/GPUPointCloud.d.ts +7 -0
- package/dist/rendering/threejs-compatibility/vfx/GPUPointCloud.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/GPUPointCloud.js +12 -0
- package/dist/rendering/threejs-compatibility/vfx/GPUPointCloud.js.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/LineRenderer.d.ts +10 -0
- package/dist/rendering/threejs-compatibility/vfx/LineRenderer.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/LineRenderer.js +7 -0
- package/dist/rendering/threejs-compatibility/vfx/LineRenderer.js.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/ParticleSystem.d.ts +12 -0
- package/dist/rendering/threejs-compatibility/vfx/ParticleSystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/ParticleSystem.js +15 -0
- package/dist/rendering/threejs-compatibility/vfx/ParticleSystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/SpriteSystem.d.ts +11 -0
- package/dist/rendering/threejs-compatibility/vfx/SpriteSystem.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/SpriteSystem.js +7 -0
- package/dist/rendering/threejs-compatibility/vfx/SpriteSystem.js.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/TrailRenderer.d.ts +5 -0
- package/dist/rendering/threejs-compatibility/vfx/TrailRenderer.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/TrailRenderer.js +9 -0
- package/dist/rendering/threejs-compatibility/vfx/TrailRenderer.js.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/VFXDiagnostics.d.ts +21 -0
- package/dist/rendering/threejs-compatibility/vfx/VFXDiagnostics.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/VFXDiagnostics.js +12 -0
- package/dist/rendering/threejs-compatibility/vfx/VFXDiagnostics.js.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/index.d.ts +10 -0
- package/dist/rendering/threejs-compatibility/vfx/index.d.ts.map +1 -0
- package/dist/rendering/threejs-compatibility/vfx/index.js +7 -0
- package/dist/rendering/threejs-compatibility/vfx/index.js.map +1 -0
- package/dist/rendering/threejs-example-parity/index.d.ts +57 -0
- package/dist/rendering/threejs-example-parity/index.d.ts.map +1 -0
- package/dist/rendering/threejs-example-parity/index.js +139 -0
- package/dist/rendering/threejs-example-parity/index.js.map +1 -0
- package/dist/rendering/webgpu/WebGPUBuffer.d.ts +2 -0
- package/dist/rendering/webgpu/WebGPUBuffer.d.ts.map +1 -0
- package/dist/rendering/webgpu/WebGPUBuffer.js +2 -0
- package/dist/rendering/webgpu/WebGPUBuffer.js.map +1 -0
- package/dist/rendering/webgpu/WebGPUCompute.d.ts +3 -0
- package/dist/rendering/webgpu/WebGPUCompute.d.ts.map +1 -0
- package/dist/rendering/webgpu/WebGPUCompute.js +2 -0
- package/dist/rendering/webgpu/WebGPUCompute.js.map +1 -0
- package/dist/rendering/webgpu/WebGPUPipelineCache.d.ts +6 -0
- package/dist/rendering/webgpu/WebGPUPipelineCache.d.ts.map +1 -0
- package/dist/rendering/webgpu/WebGPUPipelineCache.js +15 -0
- package/dist/rendering/webgpu/WebGPUPipelineCache.js.map +1 -0
- package/dist/rendering/webgpu/WebGPUPostProcess.d.ts +3 -0
- package/dist/rendering/webgpu/WebGPUPostProcess.d.ts.map +1 -0
- package/dist/rendering/webgpu/WebGPUPostProcess.js +2 -0
- package/dist/rendering/webgpu/WebGPUPostProcess.js.map +1 -0
- package/dist/rendering/webgpu/WebGPUTexture.d.ts +3 -0
- package/dist/rendering/webgpu/WebGPUTexture.d.ts.map +1 -0
- package/dist/rendering/webgpu/WebGPUTexture.js +2 -0
- package/dist/rendering/webgpu/WebGPUTexture.js.map +1 -0
- package/dist/scene/Bounds.d.ts +18 -0
- package/dist/scene/Bounds.d.ts.map +1 -0
- package/dist/scene/Bounds.js +55 -0
- package/dist/scene/Bounds.js.map +1 -0
- package/dist/scene/Camera.d.ts +22 -0
- package/dist/scene/Camera.d.ts.map +1 -0
- package/dist/scene/Camera.js +44 -0
- package/dist/scene/Camera.js.map +1 -0
- package/dist/scene/DirectionalLight.d.ts +7 -0
- package/dist/scene/DirectionalLight.d.ts.map +1 -0
- package/dist/scene/DirectionalLight.js +12 -0
- package/dist/scene/DirectionalLight.js.map +1 -0
- package/dist/scene/Hierarchy.d.ts +6 -0
- package/dist/scene/Hierarchy.d.ts.map +1 -0
- package/dist/scene/Hierarchy.js +19 -0
- package/dist/scene/Hierarchy.js.map +1 -0
- package/dist/scene/Layers.d.ts +8 -0
- package/dist/scene/Layers.d.ts.map +1 -0
- package/dist/scene/Layers.js +21 -0
- package/dist/scene/Layers.js.map +1 -0
- package/dist/scene/Light.d.ts +14 -0
- package/dist/scene/Light.d.ts.map +1 -0
- package/dist/scene/Light.js +23 -0
- package/dist/scene/Light.js.map +1 -0
- package/dist/scene/Lights.d.ts +6 -0
- package/dist/scene/Lights.d.ts.map +1 -0
- package/dist/scene/Lights.js +5 -0
- package/dist/scene/Lights.js.map +1 -0
- package/dist/scene/MathTypes.d.ts +52 -0
- package/dist/scene/MathTypes.d.ts.map +1 -0
- package/dist/scene/MathTypes.js +119 -0
- package/dist/scene/MathTypes.js.map +1 -0
- package/dist/scene/Object3D.d.ts +48 -0
- package/dist/scene/Object3D.d.ts.map +1 -0
- package/dist/scene/Object3D.js +122 -0
- package/dist/scene/Object3D.js.map +1 -0
- package/dist/scene/OrthographicCamera.d.ts +29 -0
- package/dist/scene/OrthographicCamera.d.ts.map +1 -0
- package/dist/scene/OrthographicCamera.js +59 -0
- package/dist/scene/OrthographicCamera.js.map +1 -0
- package/dist/scene/PerspectiveCamera.d.ts +20 -0
- package/dist/scene/PerspectiveCamera.d.ts.map +1 -0
- package/dist/scene/PerspectiveCamera.js +42 -0
- package/dist/scene/PerspectiveCamera.js.map +1 -0
- package/dist/scene/PointLight.d.ts +10 -0
- package/dist/scene/PointLight.d.ts.map +1 -0
- package/dist/scene/PointLight.js +22 -0
- package/dist/scene/PointLight.js.map +1 -0
- package/dist/scene/Renderable.d.ts +30 -0
- package/dist/scene/Renderable.d.ts.map +1 -0
- package/dist/scene/Renderable.js +54 -0
- package/dist/scene/Renderable.js.map +1 -0
- package/dist/scene/Scene.d.ts +45 -0
- package/dist/scene/Scene.d.ts.map +1 -0
- package/dist/scene/Scene.js +117 -0
- package/dist/scene/Scene.js.map +1 -0
- package/dist/scene/SceneMetadata.d.ts +79 -0
- package/dist/scene/SceneMetadata.d.ts.map +1 -0
- package/dist/scene/SceneMetadata.js +130 -0
- package/dist/scene/SceneMetadata.js.map +1 -0
- package/dist/scene/SceneNode.d.ts +42 -0
- package/dist/scene/SceneNode.d.ts.map +1 -0
- package/dist/scene/SceneNode.js +126 -0
- package/dist/scene/SceneNode.js.map +1 -0
- package/dist/scene/SceneQuery.d.ts +16 -0
- package/dist/scene/SceneQuery.d.ts.map +1 -0
- package/dist/scene/SceneQuery.js +37 -0
- package/dist/scene/SceneQuery.js.map +1 -0
- package/dist/scene/SceneSerializer.d.ts +59 -0
- package/dist/scene/SceneSerializer.d.ts.map +1 -0
- package/dist/scene/SceneSerializer.js +127 -0
- package/dist/scene/SceneSerializer.js.map +1 -0
- package/dist/scene/SpotLight.d.ts +14 -0
- package/dist/scene/SpotLight.d.ts.map +1 -0
- package/dist/scene/SpotLight.js +35 -0
- package/dist/scene/SpotLight.js.map +1 -0
- package/dist/scene/TransformNode.d.ts +26 -0
- package/dist/scene/TransformNode.d.ts.map +1 -0
- package/dist/scene/TransformNode.js +98 -0
- package/dist/scene/TransformNode.js.map +1 -0
- package/dist/scene/index.d.ts +21 -0
- package/dist/scene/index.d.ts.map +1 -0
- package/dist/scene/index.js +21 -0
- package/dist/scene/index.js.map +1 -0
- package/dist/scripting/AdaptiveDifficultyFixtures.d.ts +58 -0
- package/dist/scripting/AdaptiveDifficultyFixtures.d.ts.map +1 -0
- package/dist/scripting/AdaptiveDifficultyFixtures.js +228 -0
- package/dist/scripting/AdaptiveDifficultyFixtures.js.map +1 -0
- package/dist/scripting/AnalyticsPrivacyFixtures.d.ts +63 -0
- package/dist/scripting/AnalyticsPrivacyFixtures.d.ts.map +1 -0
- package/dist/scripting/AnalyticsPrivacyFixtures.js +120 -0
- package/dist/scripting/AnalyticsPrivacyFixtures.js.map +1 -0
- package/dist/scripting/Behavior.d.ts +10 -0
- package/dist/scripting/Behavior.d.ts.map +1 -0
- package/dist/scripting/Behavior.js +2 -0
- package/dist/scripting/Behavior.js.map +1 -0
- package/dist/scripting/BehaviorHost.d.ts +17 -0
- package/dist/scripting/BehaviorHost.d.ts.map +1 -0
- package/dist/scripting/BehaviorHost.js +39 -0
- package/dist/scripting/BehaviorHost.js.map +1 -0
- package/dist/scripting/BehaviorRegistry.d.ts +8 -0
- package/dist/scripting/BehaviorRegistry.d.ts.map +1 -0
- package/dist/scripting/BehaviorRegistry.js +17 -0
- package/dist/scripting/BehaviorRegistry.js.map +1 -0
- package/dist/scripting/BehaviorSystem.d.ts +26 -0
- package/dist/scripting/BehaviorSystem.d.ts.map +1 -0
- package/dist/scripting/BehaviorSystem.js +76 -0
- package/dist/scripting/BehaviorSystem.js.map +1 -0
- package/dist/scripting/BehaviorTree.d.ts +75 -0
- package/dist/scripting/BehaviorTree.d.ts.map +1 -0
- package/dist/scripting/BehaviorTree.js +204 -0
- package/dist/scripting/BehaviorTree.js.map +1 -0
- package/dist/scripting/CloudServiceFixtures.d.ts +81 -0
- package/dist/scripting/CloudServiceFixtures.d.ts.map +1 -0
- package/dist/scripting/CloudServiceFixtures.js +144 -0
- package/dist/scripting/CloudServiceFixtures.js.map +1 -0
- package/dist/scripting/CulturalBehaviorFixtures.d.ts +75 -0
- package/dist/scripting/CulturalBehaviorFixtures.d.ts.map +1 -0
- package/dist/scripting/CulturalBehaviorFixtures.js +180 -0
- package/dist/scripting/CulturalBehaviorFixtures.js.map +1 -0
- package/dist/scripting/DecisionTree.d.ts +42 -0
- package/dist/scripting/DecisionTree.d.ts.map +1 -0
- package/dist/scripting/DecisionTree.js +125 -0
- package/dist/scripting/DecisionTree.js.map +1 -0
- package/dist/scripting/GOAP.d.ts +51 -0
- package/dist/scripting/GOAP.d.ts.map +1 -0
- package/dist/scripting/GOAP.js +105 -0
- package/dist/scripting/GOAP.js.map +1 -0
- package/dist/scripting/HTN.d.ts +58 -0
- package/dist/scripting/HTN.d.ts.map +1 -0
- package/dist/scripting/HTN.js +115 -0
- package/dist/scripting/HTN.js.map +1 -0
- package/dist/scripting/LearningAgentFixtures.d.ts +60 -0
- package/dist/scripting/LearningAgentFixtures.d.ts.map +1 -0
- package/dist/scripting/LearningAgentFixtures.js +122 -0
- package/dist/scripting/LearningAgentFixtures.js.map +1 -0
- package/dist/scripting/NetworkReplicationFixtures.d.ts +82 -0
- package/dist/scripting/NetworkReplicationFixtures.d.ts.map +1 -0
- package/dist/scripting/NetworkReplicationFixtures.js +330 -0
- package/dist/scripting/NetworkReplicationFixtures.js.map +1 -0
- package/dist/scripting/Perception.d.ts +58 -0
- package/dist/scripting/Perception.d.ts.map +1 -0
- package/dist/scripting/Perception.js +111 -0
- package/dist/scripting/Perception.js.map +1 -0
- package/dist/scripting/PlayerBehaviorTelemetryFixtures.d.ts +74 -0
- package/dist/scripting/PlayerBehaviorTelemetryFixtures.d.ts.map +1 -0
- package/dist/scripting/PlayerBehaviorTelemetryFixtures.js +189 -0
- package/dist/scripting/PlayerBehaviorTelemetryFixtures.js.map +1 -0
- package/dist/scripting/ProceduralContentAdaptationFixtures.d.ts +52 -0
- package/dist/scripting/ProceduralContentAdaptationFixtures.d.ts.map +1 -0
- package/dist/scripting/ProceduralContentAdaptationFixtures.js +149 -0
- package/dist/scripting/ProceduralContentAdaptationFixtures.js.map +1 -0
- package/dist/scripting/ScriptContext.d.ts +18 -0
- package/dist/scripting/ScriptContext.d.ts.map +1 -0
- package/dist/scripting/ScriptContext.js +21 -0
- package/dist/scripting/ScriptContext.js.map +1 -0
- package/dist/scripting/StateMachine.d.ts +52 -0
- package/dist/scripting/StateMachine.d.ts.map +1 -0
- package/dist/scripting/StateMachine.js +117 -0
- package/dist/scripting/StateMachine.js.map +1 -0
- package/dist/scripting/UtilityAI.d.ts +55 -0
- package/dist/scripting/UtilityAI.d.ts.map +1 -0
- package/dist/scripting/UtilityAI.js +113 -0
- package/dist/scripting/UtilityAI.js.map +1 -0
- package/dist/scripting/VisualGraph.d.ts +19 -0
- package/dist/scripting/VisualGraph.d.ts.map +1 -0
- package/dist/scripting/VisualGraph.js +74 -0
- package/dist/scripting/VisualGraph.js.map +1 -0
- package/dist/scripting/VisualGraphExecutor.d.ts +11 -0
- package/dist/scripting/VisualGraphExecutor.d.ts.map +1 -0
- package/dist/scripting/VisualGraphExecutor.js +214 -0
- package/dist/scripting/VisualGraphExecutor.js.map +1 -0
- package/dist/scripting/VisualNode.d.ts +17 -0
- package/dist/scripting/VisualNode.d.ts.map +1 -0
- package/dist/scripting/VisualNode.js +24 -0
- package/dist/scripting/VisualNode.js.map +1 -0
- package/dist/scripting/VisualNodeCatalog.d.ts +14 -0
- package/dist/scripting/VisualNodeCatalog.d.ts.map +1 -0
- package/dist/scripting/VisualNodeCatalog.js +82 -0
- package/dist/scripting/VisualNodeCatalog.js.map +1 -0
- package/dist/scripting/WeaponSystem.d.ts +228 -0
- package/dist/scripting/WeaponSystem.d.ts.map +1 -0
- package/dist/scripting/WeaponSystem.js +530 -0
- package/dist/scripting/WeaponSystem.js.map +1 -0
- package/dist/scripting/index.d.ts +50 -0
- package/dist/scripting/index.d.ts.map +1 -0
- package/dist/scripting/index.js +25 -0
- package/dist/scripting/index.js.map +1 -0
- package/dist/three-compat/ThreeApiInventory.d.ts +18 -0
- package/dist/three-compat/ThreeApiInventory.d.ts.map +1 -0
- package/dist/three-compat/ThreeApiInventory.js +99 -0
- package/dist/three-compat/ThreeApiInventory.js.map +1 -0
- package/dist/three-compat/ThreeCompatibilityMatrix.d.ts +30 -0
- package/dist/three-compat/ThreeCompatibilityMatrix.d.ts.map +1 -0
- package/dist/three-compat/ThreeCompatibilityMatrix.js +69 -0
- package/dist/three-compat/ThreeCompatibilityMatrix.js.map +1 -0
- package/dist/three-compat/animation/index.d.ts +3 -0
- package/dist/three-compat/animation/index.d.ts.map +1 -0
- package/dist/three-compat/animation/index.js +2 -0
- package/dist/three-compat/animation/index.js.map +1 -0
- package/dist/three-compat/cameras/index.d.ts +24 -0
- package/dist/three-compat/cameras/index.d.ts.map +1 -0
- package/dist/three-compat/cameras/index.js +44 -0
- package/dist/three-compat/cameras/index.js.map +1 -0
- package/dist/three-compat/controls/index.d.ts +3 -0
- package/dist/three-compat/controls/index.d.ts.map +1 -0
- package/dist/three-compat/controls/index.js +2 -0
- package/dist/three-compat/controls/index.js.map +1 -0
- package/dist/three-compat/core/Object3DCompat.d.ts +62 -0
- package/dist/three-compat/core/Object3DCompat.d.ts.map +1 -0
- package/dist/three-compat/core/Object3DCompat.js +112 -0
- package/dist/three-compat/core/Object3DCompat.js.map +1 -0
- package/dist/three-compat/core/RaycasterCompat.d.ts +18 -0
- package/dist/three-compat/core/RaycasterCompat.d.ts.map +1 -0
- package/dist/three-compat/core/RaycasterCompat.js +28 -0
- package/dist/three-compat/core/RaycasterCompat.js.map +1 -0
- package/dist/three-compat/core/SceneCompat.d.ts +8 -0
- package/dist/three-compat/core/SceneCompat.d.ts.map +1 -0
- package/dist/three-compat/core/SceneCompat.js +8 -0
- package/dist/three-compat/core/SceneCompat.js.map +1 -0
- package/dist/three-compat/geometries/index.d.ts +67 -0
- package/dist/three-compat/geometries/index.d.ts.map +1 -0
- package/dist/three-compat/geometries/index.js +114 -0
- package/dist/three-compat/geometries/index.js.map +1 -0
- package/dist/three-compat/helpers/index.d.ts +40 -0
- package/dist/three-compat/helpers/index.d.ts.map +1 -0
- package/dist/three-compat/helpers/index.js +129 -0
- package/dist/three-compat/helpers/index.js.map +1 -0
- package/dist/three-compat/index.d.ts +32 -0
- package/dist/three-compat/index.d.ts.map +1 -0
- package/dist/three-compat/index.js +22 -0
- package/dist/three-compat/index.js.map +1 -0
- package/dist/three-compat/lights/index.d.ts +35 -0
- package/dist/three-compat/lights/index.d.ts.map +1 -0
- package/dist/three-compat/lights/index.js +39 -0
- package/dist/three-compat/lights/index.js.map +1 -0
- package/dist/three-compat/loaders/index.d.ts +54 -0
- package/dist/three-compat/loaders/index.d.ts.map +1 -0
- package/dist/three-compat/loaders/index.js +79 -0
- package/dist/three-compat/loaders/index.js.map +1 -0
- package/dist/three-compat/materials/index.d.ts +70 -0
- package/dist/three-compat/materials/index.d.ts.map +1 -0
- package/dist/three-compat/materials/index.js +85 -0
- package/dist/three-compat/materials/index.js.map +1 -0
- package/dist/three-compat/math/index.d.ts +34 -0
- package/dist/three-compat/math/index.d.ts.map +1 -0
- package/dist/three-compat/math/index.js +90 -0
- package/dist/three-compat/math/index.js.map +1 -0
- package/dist/three-compat/migration/CompatibilityWarnings.d.ts +6 -0
- package/dist/three-compat/migration/CompatibilityWarnings.d.ts.map +1 -0
- package/dist/three-compat/migration/CompatibilityWarnings.js +8 -0
- package/dist/three-compat/migration/CompatibilityWarnings.js.map +1 -0
- package/dist/three-compat/migration/ImportMap.d.ts +2 -0
- package/dist/three-compat/migration/ImportMap.d.ts.map +1 -0
- package/dist/three-compat/migration/ImportMap.js +10 -0
- package/dist/three-compat/migration/ImportMap.js.map +1 -0
- package/dist/three-compat/migration/ThreeToA3DAdapter.d.ts +8 -0
- package/dist/three-compat/migration/ThreeToA3DAdapter.d.ts.map +1 -0
- package/dist/three-compat/migration/ThreeToA3DAdapter.js +20 -0
- package/dist/three-compat/migration/ThreeToA3DAdapter.js.map +1 -0
- package/dist/three-compat/postprocessing/index.d.ts +2 -0
- package/dist/three-compat/postprocessing/index.d.ts.map +1 -0
- package/dist/three-compat/postprocessing/index.js +2 -0
- package/dist/three-compat/postprocessing/index.js.map +1 -0
- package/dist/three-compat/render-targets/index.d.ts +17 -0
- package/dist/three-compat/render-targets/index.d.ts.map +1 -0
- package/dist/three-compat/render-targets/index.js +29 -0
- package/dist/three-compat/render-targets/index.js.map +1 -0
- package/dist/three-compat/shaders/index.d.ts +3 -0
- package/dist/three-compat/shaders/index.d.ts.map +1 -0
- package/dist/three-compat/shaders/index.js +3 -0
- package/dist/three-compat/shaders/index.js.map +1 -0
- package/dist/three-compat/textures/index.d.ts +19 -0
- package/dist/three-compat/textures/index.d.ts.map +1 -0
- package/dist/three-compat/textures/index.js +24 -0
- package/dist/three-compat/textures/index.js.map +1 -0
- package/dist/workflows/AnimationLabWorkflow.d.ts +3 -0
- package/dist/workflows/AnimationLabWorkflow.d.ts.map +1 -0
- package/dist/workflows/AnimationLabWorkflow.js +156 -0
- package/dist/workflows/AnimationLabWorkflow.js.map +1 -0
- package/dist/workflows/AssetViewerWorkflow.d.ts +3 -0
- package/dist/workflows/AssetViewerWorkflow.d.ts.map +1 -0
- package/dist/workflows/AssetViewerWorkflow.js +35 -0
- package/dist/workflows/AssetViewerWorkflow.js.map +1 -0
- package/dist/workflows/ComparisonWorkflow.d.ts +3 -0
- package/dist/workflows/ComparisonWorkflow.d.ts.map +1 -0
- package/dist/workflows/ComparisonWorkflow.js +67 -0
- package/dist/workflows/ComparisonWorkflow.js.map +1 -0
- package/dist/workflows/InteractiveSceneWorkflow.d.ts +3 -0
- package/dist/workflows/InteractiveSceneWorkflow.d.ts.map +1 -0
- package/dist/workflows/InteractiveSceneWorkflow.js +43 -0
- package/dist/workflows/InteractiveSceneWorkflow.js.map +1 -0
- package/dist/workflows/MaterialStudioWorkflow.d.ts +3 -0
- package/dist/workflows/MaterialStudioWorkflow.d.ts.map +1 -0
- package/dist/workflows/MaterialStudioWorkflow.js +47 -0
- package/dist/workflows/MaterialStudioWorkflow.js.map +1 -0
- package/dist/workflows/ProductConfiguratorWorkflow.d.ts +3 -0
- package/dist/workflows/ProductConfiguratorWorkflow.d.ts.map +1 -0
- package/dist/workflows/ProductConfiguratorWorkflow.js +25 -0
- package/dist/workflows/ProductConfiguratorWorkflow.js.map +1 -0
- package/dist/workflows/SceneShowcaseWorkflow.d.ts +3 -0
- package/dist/workflows/SceneShowcaseWorkflow.d.ts.map +1 -0
- package/dist/workflows/SceneShowcaseWorkflow.js +44 -0
- package/dist/workflows/SceneShowcaseWorkflow.js.map +1 -0
- package/dist/workflows/WorkflowDiagnostics.d.ts +11 -0
- package/dist/workflows/WorkflowDiagnostics.d.ts.map +1 -0
- package/dist/workflows/WorkflowDiagnostics.js +34 -0
- package/dist/workflows/WorkflowDiagnostics.js.map +1 -0
- package/dist/workflows/WorkflowTypes.d.ts +90 -0
- package/dist/workflows/WorkflowTypes.d.ts.map +1 -0
- package/dist/workflows/WorkflowTypes.js +2 -0
- package/dist/workflows/WorkflowTypes.js.map +1 -0
- package/dist/workflows/index.d.ts +13 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +11 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/production-runtime/ArchitectureWorkflow.d.ts +7 -0
- package/dist/workflows/production-runtime/ArchitectureWorkflow.d.ts.map +1 -0
- package/dist/workflows/production-runtime/ArchitectureWorkflow.js +2 -0
- package/dist/workflows/production-runtime/ArchitectureWorkflow.js.map +1 -0
- package/dist/workflows/production-runtime/AssetInspectionWorkflow.d.ts +7 -0
- package/dist/workflows/production-runtime/AssetInspectionWorkflow.d.ts.map +1 -0
- package/dist/workflows/production-runtime/AssetInspectionWorkflow.js +2 -0
- package/dist/workflows/production-runtime/AssetInspectionWorkflow.js.map +1 -0
- package/dist/workflows/production-runtime/CinematicWorkflow.d.ts +7 -0
- package/dist/workflows/production-runtime/CinematicWorkflow.d.ts.map +1 -0
- package/dist/workflows/production-runtime/CinematicWorkflow.js +2 -0
- package/dist/workflows/production-runtime/CinematicWorkflow.js.map +1 -0
- package/dist/workflows/production-runtime/MaterialAuthoringWorkflow.d.ts +7 -0
- package/dist/workflows/production-runtime/MaterialAuthoringWorkflow.d.ts.map +1 -0
- package/dist/workflows/production-runtime/MaterialAuthoringWorkflow.js +2 -0
- package/dist/workflows/production-runtime/MaterialAuthoringWorkflow.js.map +1 -0
- package/dist/workflows/production-runtime/ProductRenderWorkflow.d.ts +7 -0
- package/dist/workflows/production-runtime/ProductRenderWorkflow.d.ts.map +1 -0
- package/dist/workflows/production-runtime/ProductRenderWorkflow.js +2 -0
- package/dist/workflows/production-runtime/ProductRenderWorkflow.js.map +1 -0
- package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts +66 -0
- package/dist/workflows/production-runtime/ProductionExampleRuntime.d.ts.map +1 -0
- package/dist/workflows/production-runtime/ProductionExampleRuntime.js +189 -0
- package/dist/workflows/production-runtime/ProductionExampleRuntime.js.map +1 -0
- package/dist/workflows/production-runtime/ProductionWorkflows.d.ts +69 -0
- package/dist/workflows/production-runtime/ProductionWorkflows.d.ts.map +1 -0
- package/dist/workflows/production-runtime/ProductionWorkflows.js +128 -0
- package/dist/workflows/production-runtime/ProductionWorkflows.js.map +1 -0
- package/dist/workflows/production-runtime/WorkflowDiagnostics.d.ts +7 -0
- package/dist/workflows/production-runtime/WorkflowDiagnostics.d.ts.map +1 -0
- package/dist/workflows/production-runtime/WorkflowDiagnostics.js +2 -0
- package/dist/workflows/production-runtime/WorkflowDiagnostics.js.map +1 -0
- package/dist/workflows/production-runtime/index.d.ts +11 -0
- package/dist/workflows/production-runtime/index.d.ts.map +1 -0
- package/dist/workflows/production-runtime/index.js +9 -0
- package/dist/workflows/production-runtime/index.js.map +1 -0
- package/dist/workflows/workflow-foundation/index.d.ts +26 -0
- package/dist/workflows/workflow-foundation/index.d.ts.map +1 -0
- package/dist/workflows/workflow-foundation/index.js +25 -0
- package/dist/workflows/workflow-foundation/index.js.map +1 -0
- package/package.json +490 -0
- package/templates/cinematic-scene/README.md +11 -0
- package/templates/cinematic-scene/index.html +13 -0
- package/templates/cinematic-scene/package.json +21 -0
- package/templates/cinematic-scene/playwright.config.ts +14 -0
- package/templates/cinematic-scene/public/aura-assets/hero-fixture.glb +0 -0
- package/templates/cinematic-scene/public/aura-assets/hero.thumb.svg +1 -0
- package/templates/cinematic-scene/src/aura-assets.ts +17 -0
- package/templates/cinematic-scene/src/main.ts +27 -0
- package/templates/cinematic-scene/tests/route-health.spec.ts +16 -0
- package/templates/cinematic-scene/tests/screenshot.spec.ts +56 -0
- package/templates/cinematic-scene/tsconfig.json +15 -0
- package/templates/mini-game/README.md +10 -0
- package/templates/mini-game/index.html +13 -0
- package/templates/mini-game/package.json +21 -0
- package/templates/mini-game/playwright.config.ts +14 -0
- package/templates/mini-game/public/aura-assets/player-fixture.glb +0 -0
- package/templates/mini-game/public/aura-assets/player.thumb.svg +8 -0
- package/templates/mini-game/src/aura-assets.ts +17 -0
- package/templates/mini-game/src/main.ts +27 -0
- package/templates/mini-game/tests/route-health.spec.ts +16 -0
- package/templates/mini-game/tests/screenshot.spec.ts +63 -0
- package/templates/mini-game/tsconfig.json +15 -0
- package/templates/product-viewer/README.md +16 -0
- package/templates/product-viewer/index.html +16 -0
- package/templates/product-viewer/package.json +21 -0
- package/templates/product-viewer/playwright.config.ts +14 -0
- package/templates/product-viewer/public/aura-assets/product-fixture.glb +0 -0
- package/templates/product-viewer/public/aura-assets/product.thumb.svg +1 -0
- package/templates/product-viewer/src/aura-assets.ts +17 -0
- package/templates/product-viewer/src/main.ts +27 -0
- package/templates/product-viewer/tests/route-health.spec.ts +16 -0
- package/templates/product-viewer/tests/screenshot.spec.ts +60 -0
- package/templates/product-viewer/tsconfig.json +15 -0
|
@@ -0,0 +1,2707 @@
|
|
|
1
|
+
import { ShaderPreprocessor } from "./ShaderPreprocessor.js";
|
|
2
|
+
import { DEFAULT_PBR_SHADER_MARKER, DEFAULT_PBR_SHADER_NAME } from "./PBRMaterial.js";
|
|
3
|
+
import { SHADER_CHUNKS, validateShaderChunks } from "./ShaderChunks.js";
|
|
4
|
+
export class ShaderLibrary {
|
|
5
|
+
shaders = new Map();
|
|
6
|
+
chunks = new Map();
|
|
7
|
+
preprocessor = new ShaderPreprocessor();
|
|
8
|
+
variantCache = new Map();
|
|
9
|
+
register(shader) {
|
|
10
|
+
if (this.shaders.has(shader.name)) {
|
|
11
|
+
throw new Error(`Shader is already registered: ${shader.name}`);
|
|
12
|
+
}
|
|
13
|
+
this.assertMarker(shader);
|
|
14
|
+
this.assertVariants(shader);
|
|
15
|
+
this.shaders.set(shader.name, shader);
|
|
16
|
+
this.variantCache.clear();
|
|
17
|
+
}
|
|
18
|
+
registerChunk(name, source) {
|
|
19
|
+
if (this.chunks.has(name)) {
|
|
20
|
+
throw new Error(`Shader chunk is already registered: ${name}`);
|
|
21
|
+
}
|
|
22
|
+
this.chunks.set(name, source);
|
|
23
|
+
this.variantCache.clear();
|
|
24
|
+
}
|
|
25
|
+
get(name) {
|
|
26
|
+
const shader = this.shaders.get(name);
|
|
27
|
+
if (!shader) {
|
|
28
|
+
throw new Error(`Shader is not registered: ${name}`);
|
|
29
|
+
}
|
|
30
|
+
return shader;
|
|
31
|
+
}
|
|
32
|
+
compileSource(name, options = {}) {
|
|
33
|
+
const shader = this.get(name);
|
|
34
|
+
const includes = new Map([...this.chunks, ...(options.includes ?? new Map())]);
|
|
35
|
+
const preprocessOptions = { ...options, includes };
|
|
36
|
+
const vertex = this.preprocessor.preprocess(shader.vertex, preprocessOptions).source;
|
|
37
|
+
const fragment = this.preprocessor.preprocess(shader.fragment, preprocessOptions).source;
|
|
38
|
+
if (!vertex.includes(shader.marker) || !fragment.includes(shader.marker)) {
|
|
39
|
+
throw new Error(`Shader marker ${shader.marker} was not preserved for ${name}`);
|
|
40
|
+
}
|
|
41
|
+
return { label: name, marker: shader.marker, vertex, fragment };
|
|
42
|
+
}
|
|
43
|
+
compileVariant(name, variantName, options = {}) {
|
|
44
|
+
const shader = this.get(name);
|
|
45
|
+
const variant = shader.variants?.find((candidate) => candidate.name === variantName);
|
|
46
|
+
if (!variant) {
|
|
47
|
+
throw new Error(`Shader variant is not registered: ${name}:${variantName}`);
|
|
48
|
+
}
|
|
49
|
+
const compileOptions = {
|
|
50
|
+
...options,
|
|
51
|
+
defines: {
|
|
52
|
+
...(variant.defines ?? {}),
|
|
53
|
+
...(options.defines ?? {})
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const cacheKey = variantCacheKey(name, variantName, compileOptions);
|
|
57
|
+
const cached = this.variantCache.get(cacheKey);
|
|
58
|
+
if (cached) {
|
|
59
|
+
return cached;
|
|
60
|
+
}
|
|
61
|
+
const compiled = this.compileSource(name, compileOptions);
|
|
62
|
+
const labeled = { ...compiled, label: `${name}:${variantName}` };
|
|
63
|
+
this.variantCache.set(cacheKey, labeled);
|
|
64
|
+
return labeled;
|
|
65
|
+
}
|
|
66
|
+
names() {
|
|
67
|
+
return [...this.shaders.keys()];
|
|
68
|
+
}
|
|
69
|
+
assertMarker(shader) {
|
|
70
|
+
if (!shader.marker.trim()) {
|
|
71
|
+
throw new Error(`Shader ${shader.name} must declare a non-empty source marker`);
|
|
72
|
+
}
|
|
73
|
+
if (!shader.vertex.includes(shader.marker) || !shader.fragment.includes(shader.marker)) {
|
|
74
|
+
throw new Error(`Shader ${shader.name} must include marker ${shader.marker} in both stages`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
assertVariants(shader) {
|
|
78
|
+
const seen = new Set();
|
|
79
|
+
for (const variant of shader.variants ?? []) {
|
|
80
|
+
if (!variant.name.trim()) {
|
|
81
|
+
throw new Error(`Shader ${shader.name} has a variant with an empty name`);
|
|
82
|
+
}
|
|
83
|
+
if (seen.has(variant.name)) {
|
|
84
|
+
throw new Error(`Shader variant is already registered: ${shader.name}:${variant.name}`);
|
|
85
|
+
}
|
|
86
|
+
seen.add(variant.name);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function variantCacheKey(name, variantName, options) {
|
|
91
|
+
return JSON.stringify({
|
|
92
|
+
name,
|
|
93
|
+
variantName,
|
|
94
|
+
defines: Object.entries(options.defines ?? {}).sort(([left], [right]) => left.localeCompare(right)),
|
|
95
|
+
includes: [...(options.includes ?? new Map()).entries()].sort(([left], [right]) => left.localeCompare(right))
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
export const DEFAULT_UNLIT_SHADER_NAME = "aura3d/unlit";
|
|
99
|
+
export const DEFAULT_UNLIT_SHADER_MARKER = "@aura3d-shader:unlit";
|
|
100
|
+
export const DEFAULT_INSTANCED_UNLIT_SHADER_NAME = "aura3d/instanced-unlit";
|
|
101
|
+
export const DEFAULT_INSTANCED_UNLIT_SHADER_MARKER = "@aura3d-shader:instanced-unlit";
|
|
102
|
+
export const DEFAULT_INSTANCED_PBR_SHADER_NAME = "aura3d/instanced-pbr";
|
|
103
|
+
export const DEFAULT_INSTANCED_PBR_SHADER_MARKER = "@aura3d-shader:instanced-pbr";
|
|
104
|
+
export const DEFAULT_TEXTURED_UNLIT_SHADER_NAME = "aura3d/textured-unlit";
|
|
105
|
+
export const DEFAULT_TEXTURED_UNLIT_SHADER_MARKER = "@aura3d-shader:textured-unlit";
|
|
106
|
+
export const DEFAULT_SKINNED_UNLIT_SHADER_NAME = "aura3d/skinned-unlit";
|
|
107
|
+
export const DEFAULT_SKINNED_UNLIT_SHADER_MARKER = "@aura3d-shader:skinned-unlit";
|
|
108
|
+
export const DEFAULT_SKINNED_LIT_SHADER_NAME = "aura3d/skinned-lit";
|
|
109
|
+
export const DEFAULT_SKINNED_LIT_SHADER_MARKER = "@aura3d-shader:skinned-lit";
|
|
110
|
+
export const DEFAULT_MORPH_UNLIT_SHADER_NAME = "aura3d/morph-unlit";
|
|
111
|
+
export const DEFAULT_MORPH_UNLIT_SHADER_MARKER = "@aura3d-shader:morph-unlit";
|
|
112
|
+
export const DEFAULT_NORMAL_MAPPED_PBR_SHADER_NAME = "aura3d/pbr-normal-map";
|
|
113
|
+
export const DEFAULT_NORMAL_MAPPED_PBR_SHADER_MARKER = "@aura3d-shader:pbr-normal-map";
|
|
114
|
+
export const DEFAULT_TEXTURED_PBR_SHADER_NAME = "aura3d/pbr-textured";
|
|
115
|
+
export const DEFAULT_TEXTURED_PBR_SHADER_MARKER = "@aura3d-shader:pbr-textured";
|
|
116
|
+
export const DEFAULT_TEXTURED_PBR_CLEARCOAT_TEXTURES_VARIANT = "clearcoat-textures";
|
|
117
|
+
export const DEFAULT_TEXTURED_PBR_TRANSMISSION_VOLUME_TEXTURES_VARIANT = "transmission-volume-textures";
|
|
118
|
+
export const DEFAULT_TEXTURED_PBR_SPECULAR_SHEEN_ANISOTROPY_TEXTURES_VARIANT = "specular-sheen-anisotropy-textures";
|
|
119
|
+
export const DEFAULT_TEXTURED_PBR_IRIDESCENCE_TEXTURES_VARIANT = "iridescence-textures";
|
|
120
|
+
export const DEFAULT_TEXTURED_PBR_CLEARCOAT_TRANSMISSION_VOLUME_TEXTURES_VARIANT = "clearcoat-transmission-volume-textures";
|
|
121
|
+
export const DEFAULT_TEXTURED_PBR_CLEARCOAT_SPECULAR_TEXTURES_VARIANT = "clearcoat-specular-textures";
|
|
122
|
+
export const DEFAULT_TEXTURED_PBR_SPECULAR_SHEEN_ANISOTROPY_IRIDESCENCE_TEXTURES_VARIANT = "specular-sheen-anisotropy-iridescence-textures";
|
|
123
|
+
export const DEFAULT_DEPTH_SHADER_NAME = "aura3d/depth";
|
|
124
|
+
export const DEFAULT_DEPTH_SHADER_MARKER = "@aura3d-shader:depth";
|
|
125
|
+
export const DEFAULT_ENVIRONMENT_BACKGROUND_SHADER_NAME = "aura3d/environment-background";
|
|
126
|
+
export const DEFAULT_ENVIRONMENT_BACKGROUND_SHADER_MARKER = "@aura3d-shader:environment-background";
|
|
127
|
+
export function createDefaultShaderLibrary() {
|
|
128
|
+
const library = new ShaderLibrary();
|
|
129
|
+
validateShaderChunks();
|
|
130
|
+
for (const chunk of SHADER_CHUNKS) {
|
|
131
|
+
library.registerChunk(chunk.name, chunk.source);
|
|
132
|
+
}
|
|
133
|
+
library.register({
|
|
134
|
+
name: DEFAULT_UNLIT_SHADER_NAME,
|
|
135
|
+
marker: DEFAULT_UNLIT_SHADER_MARKER,
|
|
136
|
+
vertex: `#version 300 es
|
|
137
|
+
// ${DEFAULT_UNLIT_SHADER_MARKER}
|
|
138
|
+
precision highp float;
|
|
139
|
+
layout(location = 0) in vec3 a_position;
|
|
140
|
+
layout(location = 4) in vec4 a_color;
|
|
141
|
+
uniform mat4 u_modelViewProjection;
|
|
142
|
+
uniform float u_pointSize;
|
|
143
|
+
out vec4 v_vertexColor;
|
|
144
|
+
void main() {
|
|
145
|
+
v_vertexColor = a_color;
|
|
146
|
+
gl_PointSize = max(u_pointSize, 1.0);
|
|
147
|
+
gl_Position = u_modelViewProjection * vec4(a_position, 1.0);
|
|
148
|
+
}
|
|
149
|
+
`,
|
|
150
|
+
fragment: `#version 300 es
|
|
151
|
+
// ${DEFAULT_UNLIT_SHADER_MARKER}
|
|
152
|
+
precision highp float;
|
|
153
|
+
uniform vec4 u_baseColor;
|
|
154
|
+
uniform float u_alphaCutoff;
|
|
155
|
+
uniform float u_roundPoints;
|
|
156
|
+
in vec4 v_vertexColor;
|
|
157
|
+
out vec4 outColor;
|
|
158
|
+
void main() {
|
|
159
|
+
if (u_roundPoints > 0.5) {
|
|
160
|
+
vec2 pointUv = gl_PointCoord * 2.0 - 1.0;
|
|
161
|
+
float radius = dot(pointUv, pointUv);
|
|
162
|
+
if (radius > 1.0) discard;
|
|
163
|
+
}
|
|
164
|
+
vec4 base = u_baseColor * v_vertexColor;
|
|
165
|
+
if (base.a < u_alphaCutoff) discard;
|
|
166
|
+
outColor = base;
|
|
167
|
+
}
|
|
168
|
+
`
|
|
169
|
+
});
|
|
170
|
+
library.register({
|
|
171
|
+
name: DEFAULT_INSTANCED_UNLIT_SHADER_NAME,
|
|
172
|
+
marker: DEFAULT_INSTANCED_UNLIT_SHADER_MARKER,
|
|
173
|
+
vertex: `#version 300 es
|
|
174
|
+
// ${DEFAULT_INSTANCED_UNLIT_SHADER_MARKER}
|
|
175
|
+
precision highp float;
|
|
176
|
+
layout(location = 0) in vec3 a_position;
|
|
177
|
+
layout(location = 4) in vec4 a_color;
|
|
178
|
+
uniform mat4 u_modelViewProjection;
|
|
179
|
+
uniform mat4 u_instanceMatrices[64];
|
|
180
|
+
uniform float u_instanceCount;
|
|
181
|
+
uniform float u_instanceAttributeMode;
|
|
182
|
+
layout(location = 8) in vec4 a_instanceMatrix0;
|
|
183
|
+
layout(location = 9) in vec4 a_instanceMatrix1;
|
|
184
|
+
layout(location = 10) in vec4 a_instanceMatrix2;
|
|
185
|
+
layout(location = 11) in vec4 a_instanceMatrix3;
|
|
186
|
+
layout(location = 12) in vec4 a_instanceColor;
|
|
187
|
+
out vec4 v_vertexColor;
|
|
188
|
+
void main() {
|
|
189
|
+
int instanceIndex = clamp(gl_InstanceID, 0, max(int(u_instanceCount) - 1, 0));
|
|
190
|
+
mat4 attributeMatrix = mat4(a_instanceMatrix0, a_instanceMatrix1, a_instanceMatrix2, a_instanceMatrix3);
|
|
191
|
+
mat4 instanceMatrix = u_instanceAttributeMode > 0.5 ? attributeMatrix : u_instanceMatrices[instanceIndex];
|
|
192
|
+
v_vertexColor = a_color * a_instanceColor;
|
|
193
|
+
gl_Position = u_modelViewProjection * instanceMatrix * vec4(a_position, 1.0);
|
|
194
|
+
}
|
|
195
|
+
`,
|
|
196
|
+
fragment: `#version 300 es
|
|
197
|
+
// ${DEFAULT_INSTANCED_UNLIT_SHADER_MARKER}
|
|
198
|
+
precision highp float;
|
|
199
|
+
uniform vec4 u_baseColor;
|
|
200
|
+
uniform float u_alphaCutoff;
|
|
201
|
+
in vec4 v_vertexColor;
|
|
202
|
+
out vec4 outColor;
|
|
203
|
+
void main() {
|
|
204
|
+
vec4 base = u_baseColor * v_vertexColor;
|
|
205
|
+
if (base.a < u_alphaCutoff) discard;
|
|
206
|
+
outColor = base;
|
|
207
|
+
}
|
|
208
|
+
`
|
|
209
|
+
});
|
|
210
|
+
library.register({
|
|
211
|
+
name: DEFAULT_PBR_SHADER_NAME,
|
|
212
|
+
marker: DEFAULT_PBR_SHADER_MARKER,
|
|
213
|
+
vertex: `#version 300 es
|
|
214
|
+
// ${DEFAULT_PBR_SHADER_MARKER}
|
|
215
|
+
precision highp float;
|
|
216
|
+
layout(location = 0) in vec3 a_position;
|
|
217
|
+
layout(location = 1) in vec3 a_normal;
|
|
218
|
+
layout(location = 4) in vec4 a_color;
|
|
219
|
+
uniform mat4 u_modelViewProjection;
|
|
220
|
+
uniform mat4 u_modelMatrix;
|
|
221
|
+
uniform mat4 u_normalMatrix;
|
|
222
|
+
out vec3 v_normal;
|
|
223
|
+
out vec3 v_worldPosition;
|
|
224
|
+
out vec4 v_vertexColor;
|
|
225
|
+
void main() {
|
|
226
|
+
v_normal = mat3(u_normalMatrix) * a_normal;
|
|
227
|
+
v_worldPosition = (u_modelMatrix * vec4(a_position, 1.0)).xyz;
|
|
228
|
+
v_vertexColor = a_color;
|
|
229
|
+
gl_Position = u_modelViewProjection * vec4(a_position, 1.0);
|
|
230
|
+
}
|
|
231
|
+
`,
|
|
232
|
+
fragment: `#version 300 es
|
|
233
|
+
// ${DEFAULT_PBR_SHADER_MARKER}
|
|
234
|
+
precision highp float;
|
|
235
|
+
#include <lighting_common>
|
|
236
|
+
#include <pbr_common>
|
|
237
|
+
uniform vec4 u_baseColor;
|
|
238
|
+
uniform float u_alphaCutoff;
|
|
239
|
+
uniform float u_metallic;
|
|
240
|
+
uniform float u_roughness;
|
|
241
|
+
uniform vec3 u_environmentColor;
|
|
242
|
+
uniform float u_environmentIntensity;
|
|
243
|
+
uniform vec3 u_environmentSkyColor;
|
|
244
|
+
uniform vec3 u_environmentHorizonColor;
|
|
245
|
+
uniform vec3 u_environmentGroundColor;
|
|
246
|
+
uniform vec3 u_environmentSpecularColor;
|
|
247
|
+
uniform float u_environmentMapIntensity;
|
|
248
|
+
uniform float u_environmentSpecularIntensity;
|
|
249
|
+
uniform sampler2D u_environmentMapTexture;
|
|
250
|
+
uniform samplerCube u_environmentCubeMapTexture;
|
|
251
|
+
uniform float u_environmentCubeMapTextureEnabled;
|
|
252
|
+
uniform float u_environmentMapTextureEnabled;
|
|
253
|
+
uniform float u_environmentMapTextureIntensity;
|
|
254
|
+
uniform float u_environmentMapTextureSpecularIntensity;
|
|
255
|
+
uniform float u_environmentMapTextureRotation;
|
|
256
|
+
uniform float u_environmentMapTextureMipCount;
|
|
257
|
+
uniform float u_environmentMapTextureEncoding;
|
|
258
|
+
uniform sampler2D u_environmentBrdfLutTexture;
|
|
259
|
+
uniform float u_environmentBrdfLutEnabled;
|
|
260
|
+
uniform vec3 u_emissiveColor;
|
|
261
|
+
uniform float u_emissiveStrength;
|
|
262
|
+
uniform float u_clearcoatFactor;
|
|
263
|
+
uniform float u_clearcoatRoughnessFactor;
|
|
264
|
+
uniform float u_transmissionFactor;
|
|
265
|
+
uniform float u_diffuseTransmissionFactor;
|
|
266
|
+
uniform vec3 u_diffuseTransmissionColorFactor;
|
|
267
|
+
uniform float u_transmissionFallbackEnergy;
|
|
268
|
+
uniform float u_volumeThicknessFactor;
|
|
269
|
+
uniform float u_volumeAttenuationDistance;
|
|
270
|
+
uniform vec3 u_volumeAttenuationColor;
|
|
271
|
+
uniform float u_transmissionParallaxStrength;
|
|
272
|
+
uniform vec3 u_transmissionParallaxBoxMin;
|
|
273
|
+
uniform vec3 u_transmissionParallaxBoxMax;
|
|
274
|
+
uniform float u_transmissionBounceCount;
|
|
275
|
+
uniform float u_transmissionCausticStrength;
|
|
276
|
+
uniform float u_ior;
|
|
277
|
+
uniform float u_specularFactor;
|
|
278
|
+
uniform vec3 u_specularColorFactor;
|
|
279
|
+
uniform vec3 u_sheenColorFactor;
|
|
280
|
+
uniform float u_sheenRoughnessFactor;
|
|
281
|
+
uniform float u_anisotropyStrength;
|
|
282
|
+
uniform float u_anisotropyRotation;
|
|
283
|
+
uniform float u_iridescenceFactor;
|
|
284
|
+
uniform float u_iridescenceIor;
|
|
285
|
+
uniform float u_iridescenceThicknessMinimum;
|
|
286
|
+
uniform float u_iridescenceThicknessMaximum;
|
|
287
|
+
uniform float u_dispersion;
|
|
288
|
+
uniform float u_lightCount;
|
|
289
|
+
uniform vec4 u_lightData[64];
|
|
290
|
+
uniform sampler2D u_shadowMapTexture;
|
|
291
|
+
uniform float u_shadowMapEnabled;
|
|
292
|
+
uniform mat4 u_shadowMapMatrix;
|
|
293
|
+
uniform float u_shadowMapStrength;
|
|
294
|
+
uniform float u_shadowMapBias;
|
|
295
|
+
uniform float u_shadowMapSlopeBias;
|
|
296
|
+
uniform vec2 u_shadowMapTexelSize;
|
|
297
|
+
uniform float u_shadowPcfSampleCount;
|
|
298
|
+
uniform vec4 u_shadowPcfSamples[32];
|
|
299
|
+
uniform sampler2D u_pointShadowMapTexture;
|
|
300
|
+
uniform float u_pointShadowMapEnabled;
|
|
301
|
+
uniform vec3 u_pointShadowLightPosition;
|
|
302
|
+
uniform float u_pointShadowRange;
|
|
303
|
+
uniform mat4 u_pointShadowFaceMatrices[6];
|
|
304
|
+
uniform vec4 u_pointShadowFaceRects[6];
|
|
305
|
+
uniform float u_pointShadowStrength;
|
|
306
|
+
uniform float u_pointShadowBias;
|
|
307
|
+
uniform float u_pointShadowSlopeBias;
|
|
308
|
+
uniform vec2 u_pointShadowTexelSize;
|
|
309
|
+
uniform float u_pointShadowPcfSampleCount;
|
|
310
|
+
uniform vec4 u_pointShadowPcfSamples[32];
|
|
311
|
+
uniform float u_outputColorSpace;
|
|
312
|
+
uniform vec3 u_cameraPosition;
|
|
313
|
+
uniform float u_environmentFogEnabled;
|
|
314
|
+
uniform float u_environmentFogMode;
|
|
315
|
+
uniform vec3 u_environmentFogColor;
|
|
316
|
+
uniform float u_environmentFogNear;
|
|
317
|
+
uniform float u_environmentFogFar;
|
|
318
|
+
uniform float u_environmentFogDensity;
|
|
319
|
+
uniform float u_environmentFogHeightFalloff;
|
|
320
|
+
uniform float u_environmentFogHeightReference;
|
|
321
|
+
uniform float u_environmentFogMaxOpacity;
|
|
322
|
+
in vec3 v_normal;
|
|
323
|
+
in vec3 v_worldPosition;
|
|
324
|
+
in vec4 v_vertexColor;
|
|
325
|
+
out vec4 outColor;
|
|
326
|
+
#include <environment_fog_common>
|
|
327
|
+
vec2 a3dEnvironmentEquirectUv(vec3 direction, float rotation) {
|
|
328
|
+
vec3 d = normalize(direction);
|
|
329
|
+
float u = atan(d.z, d.x) / 6.28318530718 + 0.5 + rotation;
|
|
330
|
+
float v = acos(clamp(d.y, -1.0, 1.0)) / 3.14159265359;
|
|
331
|
+
return vec2(fract(u), clamp(v, 0.0, 1.0));
|
|
332
|
+
}
|
|
333
|
+
vec3 a3dEnvironmentCubeDirection(vec3 direction, float rotation) {
|
|
334
|
+
float angle = rotation * 6.28318530718;
|
|
335
|
+
float c = cos(angle);
|
|
336
|
+
float s = sin(angle);
|
|
337
|
+
vec3 d = normalize(direction);
|
|
338
|
+
return normalize(vec3(c * d.x - s * d.z, d.y, s * d.x + c * d.z));
|
|
339
|
+
}
|
|
340
|
+
vec3 a3dPbrDecodeEnvironmentSrgb(vec3 encodedColor) {
|
|
341
|
+
return max(encodedColor, vec3(0.0));
|
|
342
|
+
}
|
|
343
|
+
vec3 a3dPbrDecodeEnvironmentRgbe(vec4 encodedSample) {
|
|
344
|
+
float exponent = encodedSample.a * 255.0;
|
|
345
|
+
float scale = exponent <= 0.0 ? 0.0 : exp2(exponent - 128.0) * (255.0 / 256.0);
|
|
346
|
+
return max(encodedSample.rgb * scale, vec3(0.0));
|
|
347
|
+
}
|
|
348
|
+
vec3 a3dPbrDecodeEnvironmentSample(vec4 encodedSample) {
|
|
349
|
+
if (u_environmentMapTextureEncoding > 1.5) return max(encodedSample.rgb, vec3(0.0));
|
|
350
|
+
if (u_environmentMapTextureEncoding > 0.5) return a3dPbrDecodeEnvironmentRgbe(encodedSample);
|
|
351
|
+
return a3dPbrDecodeEnvironmentSrgb(encodedSample.rgb);
|
|
352
|
+
}
|
|
353
|
+
vec3 a3dPbrBoundHdrTransmissionRadiance(vec3 radiance) {
|
|
354
|
+
vec3 nonNegative = max(radiance, vec3(0.0));
|
|
355
|
+
return nonNegative / (vec3(1.0) + max(nonNegative - vec3(1.0), vec3(0.0)));
|
|
356
|
+
}
|
|
357
|
+
vec3 a3dPbrBoundHdrSpecularRadiance(vec3 radiance) {
|
|
358
|
+
vec3 nonNegative = max(radiance, vec3(0.0));
|
|
359
|
+
vec3 softKnee = nonNegative / (vec3(1.0) + max(nonNegative - vec3(1.0), vec3(0.0)) * 0.58);
|
|
360
|
+
float maxChannel = max(max(softKnee.r, softKnee.g), softKnee.b);
|
|
361
|
+
return maxChannel > 1.65 ? softKnee * (1.65 / maxChannel) : softKnee;
|
|
362
|
+
}
|
|
363
|
+
vec3 a3dPbrClampSampledSpecularEdgeEnergy(vec3 radiance, float nDotV, float roughness) {
|
|
364
|
+
float faceOn = smoothstep(0.12, 0.55, clamp(nDotV, 0.0, 1.0));
|
|
365
|
+
float roughEnergy = mix(0.6, 1.0, clamp(roughness, 0.0, 1.0));
|
|
366
|
+
float edgeCap = mix(0.12, 1.2, faceOn) * roughEnergy;
|
|
367
|
+
float edgeScale = mix(0.14, 0.92, faceOn);
|
|
368
|
+
vec3 bounded = min(radiance * edgeScale, vec3(edgeCap));
|
|
369
|
+
return max(bounded, vec3(0.0));
|
|
370
|
+
}
|
|
371
|
+
vec4 a3dPbrEnvironmentSampleRaw(vec3 direction, float lod) {
|
|
372
|
+
vec4 equirectSample = textureLod(u_environmentMapTexture, a3dEnvironmentEquirectUv(direction, u_environmentMapTextureRotation), lod);
|
|
373
|
+
vec4 cubeSample = textureLod(u_environmentCubeMapTexture, a3dEnvironmentCubeDirection(direction, u_environmentMapTextureRotation), lod);
|
|
374
|
+
return mix(equirectSample, cubeSample, step(0.5, u_environmentCubeMapTextureEnabled));
|
|
375
|
+
}
|
|
376
|
+
vec3 a3dPbrBoxProjectedDirection(vec3 worldPosition, vec3 direction, vec3 boxMin, vec3 boxMax) {
|
|
377
|
+
vec3 safeDirection = normalize(direction);
|
|
378
|
+
vec3 invDirection = 1.0 / max(abs(safeDirection), vec3(0.0001)) * sign(safeDirection);
|
|
379
|
+
vec3 firstPlane = mix(boxMin, boxMax, step(vec3(0.0), safeDirection));
|
|
380
|
+
vec3 distances = (firstPlane - worldPosition) * invDirection;
|
|
381
|
+
float travel = min(min(
|
|
382
|
+
distances.x > 0.0 ? distances.x : 100000.0,
|
|
383
|
+
distances.y > 0.0 ? distances.y : 100000.0
|
|
384
|
+
), distances.z > 0.0 ? distances.z : 100000.0);
|
|
385
|
+
vec3 hitPosition = worldPosition + safeDirection * travel;
|
|
386
|
+
vec3 boxCenter = (boxMin + boxMax) * 0.5;
|
|
387
|
+
return normalize(hitPosition - boxCenter);
|
|
388
|
+
}
|
|
389
|
+
float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
390
|
+
if (u_shadowMapEnabled < 0.5) return 1.0;
|
|
391
|
+
vec4 lightPosition = u_shadowMapMatrix * vec4(worldPosition, 1.0);
|
|
392
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
393
|
+
vec2 uv = projected.xy * 0.5 + 0.5;
|
|
394
|
+
if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return 1.0;
|
|
395
|
+
vec3 receiverNormal = normalize(normal);
|
|
396
|
+
vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);
|
|
397
|
+
float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
|
|
398
|
+
float slopeReceiverBias = (1.0 - normalDotLight) * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
|
|
399
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_shadowMapBias - slopeReceiverBias;
|
|
400
|
+
float shadowed = 0.0;
|
|
401
|
+
float totalWeight = 0.0;
|
|
402
|
+
int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
|
|
403
|
+
for (int i = 0; i < 32; ++i) {
|
|
404
|
+
if (i >= sampleCount) break;
|
|
405
|
+
vec4 sampleData = u_shadowPcfSamples[i];
|
|
406
|
+
float weight = max(sampleData.z, 0.0);
|
|
407
|
+
vec2 offset = sampleData.xy * u_shadowMapTexelSize;
|
|
408
|
+
float storedDepth = texture(u_shadowMapTexture, uv + offset).r;
|
|
409
|
+
shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;
|
|
410
|
+
totalWeight += weight;
|
|
411
|
+
}
|
|
412
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
413
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_shadowMapStrength, 0.0, 1.0));
|
|
414
|
+
}
|
|
415
|
+
float a3dPointShadowFaceIndex(vec3 direction) {
|
|
416
|
+
vec3 absoluteDirection = abs(direction);
|
|
417
|
+
if (absoluteDirection.x >= absoluteDirection.y && absoluteDirection.x >= absoluteDirection.z) return direction.x >= 0.0 ? 0.0 : 1.0;
|
|
418
|
+
if (absoluteDirection.y >= absoluteDirection.x && absoluteDirection.y >= absoluteDirection.z) return direction.y >= 0.0 ? 2.0 : 3.0;
|
|
419
|
+
return direction.z >= 0.0 ? 4.0 : 5.0;
|
|
420
|
+
}
|
|
421
|
+
float a3dPointShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
422
|
+
if (u_pointShadowMapEnabled < 0.5) return 1.0;
|
|
423
|
+
vec3 lightToFragment = worldPosition - u_pointShadowLightPosition;
|
|
424
|
+
float distanceToLight = length(lightToFragment);
|
|
425
|
+
if (distanceToLight > u_pointShadowRange) return 1.0;
|
|
426
|
+
int faceIndex = int(a3dPointShadowFaceIndex(lightToFragment));
|
|
427
|
+
vec4 lightPosition = u_pointShadowFaceMatrices[faceIndex] * vec4(worldPosition, 1.0);
|
|
428
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
429
|
+
vec2 localUv = projected.xy * 0.5 + 0.5;
|
|
430
|
+
if (localUv.x < 0.0 || localUv.x > 1.0 || localUv.y < 0.0 || localUv.y > 1.0) return 1.0;
|
|
431
|
+
vec4 rect = u_pointShadowFaceRects[faceIndex];
|
|
432
|
+
vec2 uv = rect.xy + localUv * rect.zw;
|
|
433
|
+
vec3 receiverNormal = normalize(normal);
|
|
434
|
+
vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);
|
|
435
|
+
float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
|
|
436
|
+
float slopeReceiverBias = (1.0 - normalDotLight) * u_pointShadowSlopeBias * max(u_pointShadowTexelSize.x, u_pointShadowTexelSize.y);
|
|
437
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_pointShadowBias - slopeReceiverBias;
|
|
438
|
+
float shadowed = 0.0;
|
|
439
|
+
float totalWeight = 0.0;
|
|
440
|
+
int sampleCount = clamp(int(u_pointShadowPcfSampleCount), 1, 32);
|
|
441
|
+
for (int i = 0; i < 32; ++i) {
|
|
442
|
+
if (i >= sampleCount) break;
|
|
443
|
+
vec4 sampleData = u_pointShadowPcfSamples[i];
|
|
444
|
+
float weight = max(sampleData.z, 0.0);
|
|
445
|
+
vec2 offset = sampleData.xy * u_pointShadowTexelSize;
|
|
446
|
+
float storedDepth = texture(u_pointShadowMapTexture, uv + offset).r;
|
|
447
|
+
shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;
|
|
448
|
+
totalWeight += weight;
|
|
449
|
+
}
|
|
450
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
451
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_pointShadowStrength, 0.0, 1.0));
|
|
452
|
+
}
|
|
453
|
+
vec3 a3dPbrEncodeOutput(vec3 linearColor) {
|
|
454
|
+
vec3 color = max(linearColor, vec3(0.0));
|
|
455
|
+
vec3 filmic = clamp((color * (2.51 * color + 0.03)) / (color * (2.43 * color + 0.59) + 0.14), vec3(0.0), vec3(1.0));
|
|
456
|
+
vec3 srgb = pow(filmic, vec3(1.0 / 2.2));
|
|
457
|
+
return mix(color, srgb, step(0.5, u_outputColorSpace));
|
|
458
|
+
}
|
|
459
|
+
void main() {
|
|
460
|
+
vec3 normal = normalize(v_normal);
|
|
461
|
+
if (!gl_FrontFacing) normal = -normal;
|
|
462
|
+
vec3 viewDirection = normalize(u_cameraPosition - v_worldPosition);
|
|
463
|
+
vec3 materialBase = a3dApplyAdvancedPbrLobes(
|
|
464
|
+
u_baseColor.rgb * v_vertexColor.rgb,
|
|
465
|
+
u_clearcoatFactor,
|
|
466
|
+
u_clearcoatRoughnessFactor,
|
|
467
|
+
u_transmissionFactor,
|
|
468
|
+
u_diffuseTransmissionFactor,
|
|
469
|
+
u_diffuseTransmissionColorFactor,
|
|
470
|
+
u_transmissionFallbackEnergy,
|
|
471
|
+
u_volumeThicknessFactor,
|
|
472
|
+
u_volumeAttenuationDistance,
|
|
473
|
+
u_volumeAttenuationColor,
|
|
474
|
+
u_ior,
|
|
475
|
+
u_specularFactor,
|
|
476
|
+
u_specularColorFactor,
|
|
477
|
+
u_sheenColorFactor,
|
|
478
|
+
u_sheenRoughnessFactor,
|
|
479
|
+
u_anisotropyStrength,
|
|
480
|
+
u_anisotropyRotation,
|
|
481
|
+
u_iridescenceFactor,
|
|
482
|
+
u_iridescenceIor,
|
|
483
|
+
u_iridescenceThicknessMinimum,
|
|
484
|
+
u_iridescenceThicknessMaximum,
|
|
485
|
+
u_dispersion
|
|
486
|
+
);
|
|
487
|
+
float environmentHemi = mix(0.35, 1.0, clamp(normal.y * 0.5 + 0.5, 0.0, 1.0));
|
|
488
|
+
vec3 ambientEnvironment = u_environmentColor * u_environmentIntensity * environmentHemi;
|
|
489
|
+
float proceduralEnvironmentWeight = step(0.0001, u_environmentMapIntensity);
|
|
490
|
+
float skyBlend = clamp(normal.y * 0.5 + 0.5, 0.0, 1.0);
|
|
491
|
+
float horizonBlend = 1.0 - abs(normal.y);
|
|
492
|
+
vec3 proceduralDiffuse = mix(u_environmentGroundColor, u_environmentSkyColor, skyBlend);
|
|
493
|
+
proceduralDiffuse = mix(proceduralDiffuse, u_environmentHorizonColor, clamp(horizonBlend, 0.0, 1.0) * 0.55);
|
|
494
|
+
vec3 environmentDiffuse = mix(ambientEnvironment, proceduralDiffuse * u_environmentMapIntensity, proceduralEnvironmentWeight);
|
|
495
|
+
float sampledEnvironmentWeight = step(0.0001, u_environmentMapTextureEnabled * u_environmentMapTextureIntensity);
|
|
496
|
+
float diffuseEnvironmentLod = max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
497
|
+
vec3 sampledDiffuse = a3dPbrDecodeEnvironmentSample(a3dPbrEnvironmentSampleRaw(normal, diffuseEnvironmentLod));
|
|
498
|
+
environmentDiffuse = mix(environmentDiffuse, environmentDiffuse * 0.18 + sampledDiffuse * u_environmentMapTextureIntensity * 0.92, sampledEnvironmentWeight);
|
|
499
|
+
vec3 reflectionDirection = reflect(-viewDirection, normal);
|
|
500
|
+
float roughness = clamp(u_roughness, 0.0, 1.0);
|
|
501
|
+
float reflectionBand = pow(clamp(reflectionDirection.y * 0.5 + 0.5, 0.0, 1.0), mix(18.0, 2.0, roughness));
|
|
502
|
+
float roughEnvironmentFloor = mix(0.04, 0.38, roughness);
|
|
503
|
+
float proceduralSpecularResponse = max(reflectionBand, roughEnvironmentFloor);
|
|
504
|
+
vec3 proceduralSpecular = u_environmentSpecularColor * u_environmentSpecularIntensity * proceduralSpecularResponse * proceduralEnvironmentWeight;
|
|
505
|
+
float environmentLod = roughness * max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
506
|
+
vec3 sampledSpecular = a3dPbrBoundHdrSpecularRadiance(a3dPbrDecodeEnvironmentSample(a3dPbrEnvironmentSampleRaw(reflectionDirection, environmentLod)));
|
|
507
|
+
float nDotV = clamp(dot(normal, viewDirection), 0.0, 1.0);
|
|
508
|
+
vec2 brdfLut = texture(u_environmentBrdfLutTexture, vec2(nDotV, roughness)).rg;
|
|
509
|
+
sampledSpecular = a3dPbrClampSampledSpecularEdgeEnergy(sampledSpecular, nDotV, roughness);
|
|
510
|
+
sampledSpecular *= u_environmentMapTextureSpecularIntensity * sampledEnvironmentWeight * mix(1.1, 0.85, roughness);
|
|
511
|
+
vec3 shaded = a3dPbrEnvironmentLightSplitSum(
|
|
512
|
+
normal,
|
|
513
|
+
viewDirection,
|
|
514
|
+
environmentDiffuse,
|
|
515
|
+
proceduralSpecular + sampledSpecular,
|
|
516
|
+
mix(vec2(1.0, 0.0), brdfLut, step(0.0001, u_environmentBrdfLutEnabled)),
|
|
517
|
+
materialBase,
|
|
518
|
+
u_metallic,
|
|
519
|
+
u_roughness,
|
|
520
|
+
u_specularFactor,
|
|
521
|
+
u_specularColorFactor
|
|
522
|
+
) + u_emissiveColor * u_emissiveStrength;
|
|
523
|
+
shaded += a3dPbrExtensionEnvironmentLight(
|
|
524
|
+
normal,
|
|
525
|
+
viewDirection,
|
|
526
|
+
proceduralSpecular + sampledSpecular,
|
|
527
|
+
u_clearcoatFactor,
|
|
528
|
+
u_clearcoatRoughnessFactor,
|
|
529
|
+
u_sheenColorFactor,
|
|
530
|
+
u_sheenRoughnessFactor,
|
|
531
|
+
u_anisotropyStrength,
|
|
532
|
+
u_anisotropyRotation,
|
|
533
|
+
u_iridescenceFactor,
|
|
534
|
+
u_iridescenceIor,
|
|
535
|
+
u_iridescenceThicknessMinimum,
|
|
536
|
+
u_iridescenceThicknessMaximum
|
|
537
|
+
);
|
|
538
|
+
float transmissionAmount = clamp(max(u_transmissionFactor, u_diffuseTransmissionFactor), 0.0, 1.0);
|
|
539
|
+
if (transmissionAmount > 0.0001 && sampledEnvironmentWeight > 0.0001) {
|
|
540
|
+
vec3 refractionDirection = refract(-viewDirection, normal, 1.0 / max(u_ior, 1.0));
|
|
541
|
+
refractionDirection = length(refractionDirection) > 0.0001 ? normalize(refractionDirection) : -reflectionDirection;
|
|
542
|
+
float parallaxStrength = clamp(u_transmissionParallaxStrength, 0.0, 1.0);
|
|
543
|
+
if (parallaxStrength > 0.0001) {
|
|
544
|
+
vec3 parallaxDirection = a3dPbrBoxProjectedDirection(v_worldPosition, refractionDirection, u_transmissionParallaxBoxMin, u_transmissionParallaxBoxMax);
|
|
545
|
+
refractionDirection = normalize(mix(refractionDirection, parallaxDirection, parallaxStrength));
|
|
546
|
+
}
|
|
547
|
+
float bounceCount = clamp(u_transmissionBounceCount, 0.0, 4.0);
|
|
548
|
+
float refractionLod = clamp(roughness + u_volumeThicknessFactor * 0.12 + bounceCount * 0.04 * parallaxStrength, 0.0, 1.0) * max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
549
|
+
vec3 refractedEnvironment = a3dPbrBoundHdrTransmissionRadiance(a3dPbrDecodeEnvironmentSample(a3dPbrEnvironmentSampleRaw(refractionDirection, refractionLod)));
|
|
550
|
+
float volumeTravel = clamp((max(u_volumeThicknessFactor, 0.0) * (1.0 + bounceCount * 0.18 * parallaxStrength)) / max(u_volumeAttenuationDistance, 0.0001), 0.0, 16.0);
|
|
551
|
+
vec3 volumeTint = pow(clamp(u_volumeAttenuationColor, vec3(0.0001), vec3(1.0)), vec3(volumeTravel));
|
|
552
|
+
float causticEnergy = u_transmissionCausticStrength * parallaxStrength * transmissionAmount * pow(1.0 - roughness, 2.0) / (1.0 + bounceCount * 0.35);
|
|
553
|
+
float roughVolumeIorLift = mix(1.0, 1.45, clamp((u_ior - 1.0) / 1.5, 0.0, 1.0) * smoothstep(0.35, 0.95, roughness + u_volumeThicknessFactor * 0.2));
|
|
554
|
+
float fallbackEnvironmentTransmissionEnergy = mix(1.0, clamp(u_transmissionFallbackEnergy, 0.0, 1.0), transmissionAmount);
|
|
555
|
+
vec3 refractionRadiance = (refractedEnvironment + vec3(causticEnergy)) * volumeTint * u_environmentMapTextureIntensity * transmissionAmount * fallbackEnvironmentTransmissionEnergy * mix(0.9, 0.55, roughness) * roughVolumeIorLift;
|
|
556
|
+
shaded = mix(shaded, shaded * 0.72 + refractionRadiance, transmissionAmount * mix(0.08, 0.58, fallbackEnvironmentTransmissionEnergy));
|
|
557
|
+
}
|
|
558
|
+
int count = min(int(u_lightCount), 16);
|
|
559
|
+
for (int i = 0; i < count; ++i) {
|
|
560
|
+
int baseIndex = i * 4;
|
|
561
|
+
vec4 colorIntensity = u_lightData[baseIndex];
|
|
562
|
+
vec4 positionRange = u_lightData[baseIndex + 1];
|
|
563
|
+
vec4 directionKind = u_lightData[baseIndex + 2];
|
|
564
|
+
vec4 spotShadowLayer = u_lightData[baseIndex + 3];
|
|
565
|
+
float kind = directionKind.w;
|
|
566
|
+
vec3 lightDirection = -directionKind.xyz;
|
|
567
|
+
float attenuation = 1.0;
|
|
568
|
+
if (kind > 0.5) {
|
|
569
|
+
vec3 toLight = positionRange.xyz - v_worldPosition;
|
|
570
|
+
float distanceToLight = length(toLight);
|
|
571
|
+
lightDirection = distanceToLight > 0.0001 ? toLight / distanceToLight : -directionKind.xyz;
|
|
572
|
+
float range = max(positionRange.w, 0.0001);
|
|
573
|
+
float rangeFalloff = clamp(1.0 - pow(distanceToLight / range, 4.0), 0.0, 1.0);
|
|
574
|
+
rangeFalloff *= rangeFalloff;
|
|
575
|
+
attenuation = rangeFalloff / max(distanceToLight * distanceToLight, 1.0);
|
|
576
|
+
}
|
|
577
|
+
if (kind > 1.5) {
|
|
578
|
+
vec3 lightToFragment = normalize(v_worldPosition - positionRange.xyz);
|
|
579
|
+
float cone = dot(normalize(directionKind.xyz), lightToFragment);
|
|
580
|
+
float outer = cos(spotShadowLayer.x);
|
|
581
|
+
float inner = cos(spotShadowLayer.x * max(1.0 - spotShadowLayer.y, 0.001));
|
|
582
|
+
attenuation *= smoothstep(outer, inner, cone);
|
|
583
|
+
}
|
|
584
|
+
float directLightIntensity = colorIntensity.a * attenuation * mix(1.0, kind > 0.5 && kind < 1.5 ? a3dPointShadowFactor(v_worldPosition, normal, lightDirection) : a3dForwardShadowFactor(v_worldPosition, normal, lightDirection), step(0.5, spotShadowLayer.z));
|
|
585
|
+
shaded += a3dPbrDirectLight(
|
|
586
|
+
normal,
|
|
587
|
+
viewDirection,
|
|
588
|
+
lightDirection,
|
|
589
|
+
colorIntensity.rgb,
|
|
590
|
+
directLightIntensity,
|
|
591
|
+
materialBase,
|
|
592
|
+
u_metallic,
|
|
593
|
+
u_roughness,
|
|
594
|
+
u_specularFactor,
|
|
595
|
+
u_specularColorFactor
|
|
596
|
+
);
|
|
597
|
+
shaded += a3dPbrExtensionDirectLight(
|
|
598
|
+
normal,
|
|
599
|
+
viewDirection,
|
|
600
|
+
lightDirection,
|
|
601
|
+
colorIntensity.rgb,
|
|
602
|
+
directLightIntensity,
|
|
603
|
+
u_clearcoatFactor,
|
|
604
|
+
u_clearcoatRoughnessFactor,
|
|
605
|
+
u_sheenColorFactor,
|
|
606
|
+
u_sheenRoughnessFactor,
|
|
607
|
+
u_anisotropyStrength,
|
|
608
|
+
u_anisotropyRotation,
|
|
609
|
+
u_iridescenceFactor,
|
|
610
|
+
u_iridescenceIor,
|
|
611
|
+
u_iridescenceThicknessMinimum,
|
|
612
|
+
u_iridescenceThicknessMaximum
|
|
613
|
+
);
|
|
614
|
+
}
|
|
615
|
+
float alpha = u_baseColor.a * v_vertexColor.a;
|
|
616
|
+
if (alpha < u_alphaCutoff) discard;
|
|
617
|
+
vec3 fogged = a3dApplyEnvironmentFog(max(shaded, vec3(0.0)), v_worldPosition);
|
|
618
|
+
outColor = vec4(a3dPbrEncodeOutput(fogged), alpha);
|
|
619
|
+
}
|
|
620
|
+
`
|
|
621
|
+
});
|
|
622
|
+
library.register({
|
|
623
|
+
name: DEFAULT_INSTANCED_PBR_SHADER_NAME,
|
|
624
|
+
marker: DEFAULT_INSTANCED_PBR_SHADER_MARKER,
|
|
625
|
+
vertex: `#version 300 es
|
|
626
|
+
// ${DEFAULT_INSTANCED_PBR_SHADER_MARKER}
|
|
627
|
+
precision highp float;
|
|
628
|
+
layout(location = 0) in vec3 a_position;
|
|
629
|
+
layout(location = 1) in vec3 a_normal;
|
|
630
|
+
uniform mat4 u_modelViewProjection;
|
|
631
|
+
uniform mat4 u_modelMatrix;
|
|
632
|
+
uniform mat4 u_normalMatrix;
|
|
633
|
+
uniform mat4 u_instanceMatrices[64];
|
|
634
|
+
uniform float u_instanceCount;
|
|
635
|
+
uniform float u_instanceAttributeMode;
|
|
636
|
+
layout(location = 8) in vec4 a_instanceMatrix0;
|
|
637
|
+
layout(location = 9) in vec4 a_instanceMatrix1;
|
|
638
|
+
layout(location = 10) in vec4 a_instanceMatrix2;
|
|
639
|
+
layout(location = 11) in vec4 a_instanceMatrix3;
|
|
640
|
+
layout(location = 12) in vec4 a_instanceColor;
|
|
641
|
+
out vec3 v_normal;
|
|
642
|
+
out vec3 v_worldPosition;
|
|
643
|
+
out vec4 v_instanceColor;
|
|
644
|
+
void main() {
|
|
645
|
+
int instanceIndex = clamp(gl_InstanceID, 0, max(int(u_instanceCount) - 1, 0));
|
|
646
|
+
mat4 attributeMatrix = mat4(a_instanceMatrix0, a_instanceMatrix1, a_instanceMatrix2, a_instanceMatrix3);
|
|
647
|
+
mat4 instanceMatrix = u_instanceAttributeMode > 0.5 ? attributeMatrix : u_instanceMatrices[instanceIndex];
|
|
648
|
+
vec4 worldPosition = u_modelMatrix * instanceMatrix * vec4(a_position, 1.0);
|
|
649
|
+
v_normal = mat3(u_normalMatrix) * transpose(inverse(mat3(instanceMatrix))) * a_normal;
|
|
650
|
+
v_worldPosition = worldPosition.xyz;
|
|
651
|
+
v_instanceColor = a_instanceColor;
|
|
652
|
+
gl_Position = u_modelViewProjection * instanceMatrix * vec4(a_position, 1.0);
|
|
653
|
+
}
|
|
654
|
+
`,
|
|
655
|
+
fragment: `#version 300 es
|
|
656
|
+
// ${DEFAULT_INSTANCED_PBR_SHADER_MARKER}
|
|
657
|
+
precision highp float;
|
|
658
|
+
#include <lighting_common>
|
|
659
|
+
#include <pbr_common>
|
|
660
|
+
uniform vec4 u_baseColor;
|
|
661
|
+
uniform float u_alphaCutoff;
|
|
662
|
+
uniform float u_metallic;
|
|
663
|
+
uniform float u_roughness;
|
|
664
|
+
uniform vec3 u_environmentColor;
|
|
665
|
+
uniform float u_environmentIntensity;
|
|
666
|
+
uniform vec3 u_environmentSkyColor;
|
|
667
|
+
uniform vec3 u_environmentHorizonColor;
|
|
668
|
+
uniform vec3 u_environmentGroundColor;
|
|
669
|
+
uniform vec3 u_environmentSpecularColor;
|
|
670
|
+
uniform float u_environmentMapIntensity;
|
|
671
|
+
uniform float u_environmentSpecularIntensity;
|
|
672
|
+
uniform sampler2D u_environmentMapTexture;
|
|
673
|
+
uniform samplerCube u_environmentCubeMapTexture;
|
|
674
|
+
uniform float u_environmentCubeMapTextureEnabled;
|
|
675
|
+
uniform float u_environmentMapTextureEnabled;
|
|
676
|
+
uniform float u_environmentMapTextureIntensity;
|
|
677
|
+
uniform float u_environmentMapTextureSpecularIntensity;
|
|
678
|
+
uniform float u_environmentMapTextureRotation;
|
|
679
|
+
uniform float u_environmentMapTextureMipCount;
|
|
680
|
+
uniform float u_environmentMapTextureEncoding;
|
|
681
|
+
uniform sampler2D u_environmentBrdfLutTexture;
|
|
682
|
+
uniform float u_environmentBrdfLutEnabled;
|
|
683
|
+
uniform vec3 u_emissiveColor;
|
|
684
|
+
uniform float u_emissiveStrength;
|
|
685
|
+
uniform float u_lightCount;
|
|
686
|
+
uniform vec4 u_lightData[64];
|
|
687
|
+
uniform sampler2D u_shadowMapTexture;
|
|
688
|
+
uniform float u_shadowMapEnabled;
|
|
689
|
+
uniform mat4 u_shadowMapMatrix;
|
|
690
|
+
uniform float u_shadowMapStrength;
|
|
691
|
+
uniform float u_shadowMapBias;
|
|
692
|
+
uniform float u_shadowMapSlopeBias;
|
|
693
|
+
uniform vec2 u_shadowMapTexelSize;
|
|
694
|
+
uniform float u_shadowPcfSampleCount;
|
|
695
|
+
uniform vec4 u_shadowPcfSamples[32];
|
|
696
|
+
uniform sampler2D u_pointShadowMapTexture;
|
|
697
|
+
uniform float u_pointShadowMapEnabled;
|
|
698
|
+
uniform vec3 u_pointShadowLightPosition;
|
|
699
|
+
uniform float u_pointShadowRange;
|
|
700
|
+
uniform mat4 u_pointShadowFaceMatrices[6];
|
|
701
|
+
uniform vec4 u_pointShadowFaceRects[6];
|
|
702
|
+
uniform float u_pointShadowStrength;
|
|
703
|
+
uniform float u_pointShadowBias;
|
|
704
|
+
uniform float u_pointShadowSlopeBias;
|
|
705
|
+
uniform vec2 u_pointShadowTexelSize;
|
|
706
|
+
uniform float u_pointShadowPcfSampleCount;
|
|
707
|
+
uniform vec4 u_pointShadowPcfSamples[32];
|
|
708
|
+
uniform float u_outputColorSpace;
|
|
709
|
+
uniform vec3 u_cameraPosition;
|
|
710
|
+
uniform float u_environmentFogEnabled;
|
|
711
|
+
uniform float u_environmentFogMode;
|
|
712
|
+
uniform vec3 u_environmentFogColor;
|
|
713
|
+
uniform float u_environmentFogNear;
|
|
714
|
+
uniform float u_environmentFogFar;
|
|
715
|
+
uniform float u_environmentFogDensity;
|
|
716
|
+
uniform float u_environmentFogHeightFalloff;
|
|
717
|
+
uniform float u_environmentFogHeightReference;
|
|
718
|
+
uniform float u_environmentFogMaxOpacity;
|
|
719
|
+
in vec3 v_normal;
|
|
720
|
+
in vec3 v_worldPosition;
|
|
721
|
+
in vec4 v_instanceColor;
|
|
722
|
+
out vec4 outColor;
|
|
723
|
+
#include <environment_fog_common>
|
|
724
|
+
float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
725
|
+
if (u_shadowMapEnabled < 0.5) return 1.0;
|
|
726
|
+
vec4 lightPosition = u_shadowMapMatrix * vec4(worldPosition, 1.0);
|
|
727
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
728
|
+
vec2 uv = projected.xy * 0.5 + 0.5;
|
|
729
|
+
if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return 1.0;
|
|
730
|
+
vec3 receiverNormal = normalize(normal);
|
|
731
|
+
vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);
|
|
732
|
+
float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
|
|
733
|
+
float slopeReceiverBias = (1.0 - normalDotLight) * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
|
|
734
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_shadowMapBias - slopeReceiverBias;
|
|
735
|
+
float shadowed = 0.0;
|
|
736
|
+
float totalWeight = 0.0;
|
|
737
|
+
int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
|
|
738
|
+
for (int i = 0; i < 32; ++i) {
|
|
739
|
+
if (i >= sampleCount) break;
|
|
740
|
+
vec4 sampleData = u_shadowPcfSamples[i];
|
|
741
|
+
float weight = max(sampleData.z, 0.0);
|
|
742
|
+
vec2 offset = sampleData.xy * u_shadowMapTexelSize;
|
|
743
|
+
float storedDepth = texture(u_shadowMapTexture, uv + offset).r;
|
|
744
|
+
shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;
|
|
745
|
+
totalWeight += weight;
|
|
746
|
+
}
|
|
747
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
748
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_shadowMapStrength, 0.0, 1.0));
|
|
749
|
+
}
|
|
750
|
+
float a3dPointShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
751
|
+
if (u_pointShadowMapEnabled < 0.5) return 1.0;
|
|
752
|
+
vec3 lightToFragment = worldPosition - u_pointShadowLightPosition;
|
|
753
|
+
vec3 absoluteDirection = abs(lightToFragment);
|
|
754
|
+
int faceIndex = absoluteDirection.x >= absoluteDirection.y && absoluteDirection.x >= absoluteDirection.z ? (lightToFragment.x >= 0.0 ? 0 : 1) : (absoluteDirection.y >= absoluteDirection.z ? (lightToFragment.y >= 0.0 ? 2 : 3) : (lightToFragment.z >= 0.0 ? 4 : 5));
|
|
755
|
+
vec4 lightPosition = u_pointShadowFaceMatrices[faceIndex] * vec4(worldPosition, 1.0);
|
|
756
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
757
|
+
vec2 localUv = projected.xy * 0.5 + 0.5;
|
|
758
|
+
if (localUv.x < 0.0 || localUv.x > 1.0 || localUv.y < 0.0 || localUv.y > 1.0 || length(lightToFragment) > u_pointShadowRange) return 1.0;
|
|
759
|
+
vec4 rect = u_pointShadowFaceRects[faceIndex];
|
|
760
|
+
vec2 uv = rect.xy + localUv * rect.zw;
|
|
761
|
+
float normalDotLight = clamp(abs(dot(normalize(normal), normalize(lightDirection))), 0.0, 1.0);
|
|
762
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_pointShadowBias - (1.0 - normalDotLight) * u_pointShadowSlopeBias * max(u_pointShadowTexelSize.x, u_pointShadowTexelSize.y);
|
|
763
|
+
float shadowed = 0.0;
|
|
764
|
+
float totalWeight = 0.0;
|
|
765
|
+
int sampleCount = clamp(int(u_pointShadowPcfSampleCount), 1, 32);
|
|
766
|
+
for (int i = 0; i < 32; ++i) {
|
|
767
|
+
if (i >= sampleCount) break;
|
|
768
|
+
vec4 sampleData = u_pointShadowPcfSamples[i];
|
|
769
|
+
float weight = max(sampleData.z, 0.0);
|
|
770
|
+
shadowed += (receiverDepth > texture(u_pointShadowMapTexture, uv + sampleData.xy * u_pointShadowTexelSize).r ? 1.0 : 0.0) * weight;
|
|
771
|
+
totalWeight += weight;
|
|
772
|
+
}
|
|
773
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
774
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_pointShadowStrength, 0.0, 1.0));
|
|
775
|
+
}
|
|
776
|
+
vec2 a3dEnvironmentEquirectUv(vec3 direction, float rotation) {
|
|
777
|
+
vec3 d = normalize(direction);
|
|
778
|
+
float u = atan(d.z, d.x) / 6.28318530718 + 0.5 + rotation;
|
|
779
|
+
float v = acos(clamp(d.y, -1.0, 1.0)) / 3.14159265359;
|
|
780
|
+
return vec2(fract(u), clamp(v, 0.0, 1.0));
|
|
781
|
+
}
|
|
782
|
+
vec3 a3dEnvironmentCubeDirection(vec3 direction, float rotation) {
|
|
783
|
+
float angle = rotation * 6.28318530718;
|
|
784
|
+
float c = cos(angle);
|
|
785
|
+
float s = sin(angle);
|
|
786
|
+
vec3 d = normalize(direction);
|
|
787
|
+
return normalize(vec3(c * d.x - s * d.z, d.y, s * d.x + c * d.z));
|
|
788
|
+
}
|
|
789
|
+
vec3 a3dPbrDecodeEnvironmentSrgb(vec3 encodedColor) {
|
|
790
|
+
return max(encodedColor, vec3(0.0));
|
|
791
|
+
}
|
|
792
|
+
vec3 a3dPbrDecodeEnvironmentRgbe(vec4 encodedSample) {
|
|
793
|
+
float exponent = encodedSample.a * 255.0;
|
|
794
|
+
float scale = exponent <= 0.0 ? 0.0 : exp2(exponent - 128.0) * (255.0 / 256.0);
|
|
795
|
+
return max(encodedSample.rgb * scale, vec3(0.0));
|
|
796
|
+
}
|
|
797
|
+
vec3 a3dPbrDecodeEnvironmentSample(vec4 encodedSample) {
|
|
798
|
+
if (u_environmentMapTextureEncoding > 1.5) return max(encodedSample.rgb, vec3(0.0));
|
|
799
|
+
if (u_environmentMapTextureEncoding > 0.5) return a3dPbrDecodeEnvironmentRgbe(encodedSample);
|
|
800
|
+
return a3dPbrDecodeEnvironmentSrgb(encodedSample.rgb);
|
|
801
|
+
}
|
|
802
|
+
vec3 a3dPbrBoundHdrSpecularRadiance(vec3 radiance) {
|
|
803
|
+
vec3 nonNegative = max(radiance, vec3(0.0));
|
|
804
|
+
vec3 softKnee = nonNegative / (vec3(1.0) + max(nonNegative - vec3(1.0), vec3(0.0)) * 0.58);
|
|
805
|
+
float maxChannel = max(max(softKnee.r, softKnee.g), softKnee.b);
|
|
806
|
+
return maxChannel > 1.65 ? softKnee * (1.65 / maxChannel) : softKnee;
|
|
807
|
+
}
|
|
808
|
+
vec3 a3dPbrClampSampledSpecularEdgeEnergy(vec3 radiance, float nDotV, float roughness) {
|
|
809
|
+
float faceOn = smoothstep(0.12, 0.55, clamp(nDotV, 0.0, 1.0));
|
|
810
|
+
float roughEnergy = mix(0.6, 1.0, clamp(roughness, 0.0, 1.0));
|
|
811
|
+
float edgeCap = mix(0.12, 1.2, faceOn) * roughEnergy;
|
|
812
|
+
float edgeScale = mix(0.14, 0.92, faceOn);
|
|
813
|
+
vec3 bounded = min(radiance * edgeScale, vec3(edgeCap));
|
|
814
|
+
return max(bounded, vec3(0.0));
|
|
815
|
+
}
|
|
816
|
+
vec4 a3dPbrEnvironmentSampleRaw(vec3 direction, float lod) {
|
|
817
|
+
vec4 equirectSample = textureLod(u_environmentMapTexture, a3dEnvironmentEquirectUv(direction, u_environmentMapTextureRotation), lod);
|
|
818
|
+
vec4 cubeSample = textureLod(u_environmentCubeMapTexture, a3dEnvironmentCubeDirection(direction, u_environmentMapTextureRotation), lod);
|
|
819
|
+
return mix(equirectSample, cubeSample, step(0.5, u_environmentCubeMapTextureEnabled));
|
|
820
|
+
}
|
|
821
|
+
vec3 a3dPbrEnvironmentDiffuseInput(vec3 normal) {
|
|
822
|
+
float environmentHemi = mix(0.35, 1.0, clamp(normal.y * 0.5 + 0.5, 0.0, 1.0));
|
|
823
|
+
vec3 ambientEnvironment = u_environmentColor * u_environmentIntensity * environmentHemi;
|
|
824
|
+
float proceduralEnvironmentWeight = step(0.0001, u_environmentMapIntensity);
|
|
825
|
+
float skyBlend = clamp(normal.y * 0.5 + 0.5, 0.0, 1.0);
|
|
826
|
+
float horizonBlend = 1.0 - abs(normal.y);
|
|
827
|
+
vec3 proceduralDiffuse = mix(u_environmentGroundColor, u_environmentSkyColor, skyBlend);
|
|
828
|
+
proceduralDiffuse = mix(proceduralDiffuse, u_environmentHorizonColor, clamp(horizonBlend, 0.0, 1.0) * 0.55);
|
|
829
|
+
vec3 environmentDiffuse = mix(ambientEnvironment, proceduralDiffuse * u_environmentMapIntensity, proceduralEnvironmentWeight);
|
|
830
|
+
float sampledEnvironmentWeight = step(0.0001, u_environmentMapTextureEnabled * u_environmentMapTextureIntensity);
|
|
831
|
+
float diffuseEnvironmentLod = max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
832
|
+
vec3 sampledDiffuse = a3dPbrDecodeEnvironmentSample(a3dPbrEnvironmentSampleRaw(normal, diffuseEnvironmentLod));
|
|
833
|
+
return mix(environmentDiffuse, environmentDiffuse * 0.18 + sampledDiffuse * u_environmentMapTextureIntensity * 0.92, sampledEnvironmentWeight);
|
|
834
|
+
}
|
|
835
|
+
vec3 a3dPbrEnvironmentSpecularInput(vec3 normal, vec3 viewDirection, float roughness) {
|
|
836
|
+
float proceduralEnvironmentWeight = step(0.0001, u_environmentMapIntensity);
|
|
837
|
+
vec3 reflectionDirection = reflect(-viewDirection, normal);
|
|
838
|
+
float clampedRoughness = clamp(roughness, 0.0, 1.0);
|
|
839
|
+
float reflectionBand = pow(clamp(reflectionDirection.y * 0.5 + 0.5, 0.0, 1.0), mix(18.0, 2.0, clampedRoughness));
|
|
840
|
+
float roughEnvironmentFloor = mix(0.04, 0.38, clampedRoughness);
|
|
841
|
+
float proceduralSpecularResponse = max(reflectionBand, roughEnvironmentFloor);
|
|
842
|
+
float horizonStripe = pow(clamp(1.0 - abs(reflectionDirection.y), 0.0, 1.0), mix(14.0, 3.0, clampedRoughness));
|
|
843
|
+
float sideStripe = pow(clamp(abs(reflectionDirection.x), 0.0, 1.0), mix(10.0, 3.0, clampedRoughness)) * smoothstep(0.0, 0.72, 1.0 - abs(reflectionDirection.y));
|
|
844
|
+
float overheadStripe = pow(clamp(reflectionDirection.y * 0.5 + 0.5, 0.0, 1.0), mix(22.0, 4.0, clampedRoughness));
|
|
845
|
+
vec3 proceduralSpecularColor = u_environmentSpecularColor * proceduralSpecularResponse
|
|
846
|
+
+ u_environmentHorizonColor * horizonStripe * 0.42
|
|
847
|
+
+ u_environmentSkyColor * overheadStripe * 0.28
|
|
848
|
+
+ u_environmentGroundColor * sideStripe * 0.22;
|
|
849
|
+
vec3 proceduralSpecular = proceduralSpecularColor * u_environmentSpecularIntensity * proceduralEnvironmentWeight;
|
|
850
|
+
float sampledEnvironmentWeight = step(0.0001, u_environmentMapTextureEnabled * u_environmentMapTextureSpecularIntensity);
|
|
851
|
+
float environmentLod = clampedRoughness * max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
852
|
+
vec3 sampledSpecular = a3dPbrBoundHdrSpecularRadiance(a3dPbrDecodeEnvironmentSample(a3dPbrEnvironmentSampleRaw(reflectionDirection, environmentLod)));
|
|
853
|
+
float nDotV = clamp(dot(normal, viewDirection), 0.0, 1.0);
|
|
854
|
+
vec2 brdfLut = texture(u_environmentBrdfLutTexture, vec2(nDotV, clampedRoughness)).rg;
|
|
855
|
+
sampledSpecular = a3dPbrClampSampledSpecularEdgeEnergy(sampledSpecular, nDotV, clampedRoughness);
|
|
856
|
+
sampledSpecular *= u_environmentMapTextureSpecularIntensity * sampledEnvironmentWeight * mix(0.84, 0.58, clampedRoughness);
|
|
857
|
+
return proceduralSpecular + sampledSpecular;
|
|
858
|
+
}
|
|
859
|
+
vec3 a3dPbrEncodeOutput(vec3 linearColor) {
|
|
860
|
+
vec3 color = max(linearColor, vec3(0.0));
|
|
861
|
+
vec3 filmic = clamp((color * (2.51 * color + 0.03)) / (color * (2.43 * color + 0.59) + 0.14), vec3(0.0), vec3(1.0));
|
|
862
|
+
vec3 srgb = pow(filmic, vec3(1.0 / 2.2));
|
|
863
|
+
return mix(color, srgb, step(0.5, u_outputColorSpace));
|
|
864
|
+
}
|
|
865
|
+
void main() {
|
|
866
|
+
vec3 normal = normalize(v_normal);
|
|
867
|
+
if (!gl_FrontFacing) normal = -normal;
|
|
868
|
+
vec3 viewDirection = normalize(u_cameraPosition - v_worldPosition);
|
|
869
|
+
vec3 base = u_baseColor.rgb * v_instanceColor.rgb;
|
|
870
|
+
vec3 shaded = u_emissiveColor * u_emissiveStrength + a3dPbrEnvironmentLight(
|
|
871
|
+
normal,
|
|
872
|
+
viewDirection,
|
|
873
|
+
a3dPbrEnvironmentDiffuseInput(normal),
|
|
874
|
+
a3dPbrEnvironmentSpecularInput(normal, viewDirection, u_roughness),
|
|
875
|
+
base,
|
|
876
|
+
u_metallic,
|
|
877
|
+
u_roughness,
|
|
878
|
+
1.0,
|
|
879
|
+
vec3(1.0)
|
|
880
|
+
);
|
|
881
|
+
int count = min(int(u_lightCount), 16);
|
|
882
|
+
for (int i = 0; i < count; ++i) {
|
|
883
|
+
int baseIndex = i * 4;
|
|
884
|
+
vec4 colorIntensity = u_lightData[baseIndex];
|
|
885
|
+
vec4 positionRange = u_lightData[baseIndex + 1];
|
|
886
|
+
vec4 directionKind = u_lightData[baseIndex + 2];
|
|
887
|
+
vec4 spotShadowLayer = u_lightData[baseIndex + 3];
|
|
888
|
+
float kind = directionKind.w;
|
|
889
|
+
vec3 lightDirection = -directionKind.xyz;
|
|
890
|
+
float attenuation = 1.0;
|
|
891
|
+
if (kind > 0.5) {
|
|
892
|
+
vec3 toLight = positionRange.xyz - v_worldPosition;
|
|
893
|
+
float distanceToLight = length(toLight);
|
|
894
|
+
lightDirection = distanceToLight > 0.0001 ? toLight / distanceToLight : -directionKind.xyz;
|
|
895
|
+
float range = max(positionRange.w, 0.0001);
|
|
896
|
+
float rangeFalloff = clamp(1.0 - pow(distanceToLight / range, 4.0), 0.0, 1.0);
|
|
897
|
+
rangeFalloff *= rangeFalloff;
|
|
898
|
+
attenuation = rangeFalloff / max(distanceToLight * distanceToLight, 1.0);
|
|
899
|
+
}
|
|
900
|
+
if (kind > 1.5) {
|
|
901
|
+
vec3 lightToFragment = normalize(v_worldPosition - positionRange.xyz);
|
|
902
|
+
float cone = dot(normalize(directionKind.xyz), lightToFragment);
|
|
903
|
+
float outer = cos(spotShadowLayer.x);
|
|
904
|
+
float inner = cos(spotShadowLayer.x * max(1.0 - spotShadowLayer.y, 0.001));
|
|
905
|
+
attenuation *= smoothstep(outer, inner, cone);
|
|
906
|
+
}
|
|
907
|
+
float shadowFactor = mix(1.0, kind > 0.5 && kind < 1.5 ? a3dPointShadowFactor(v_worldPosition, normal, lightDirection) : a3dForwardShadowFactor(v_worldPosition, normal, lightDirection), step(0.5, spotShadowLayer.z));
|
|
908
|
+
shaded += a3dPbrDirectLight(normal, viewDirection, lightDirection, colorIntensity.rgb, colorIntensity.a * attenuation * shadowFactor, base, u_metallic, u_roughness, 1.0, vec3(1.0));
|
|
909
|
+
}
|
|
910
|
+
float alpha = u_baseColor.a * v_instanceColor.a;
|
|
911
|
+
if (alpha < u_alphaCutoff) discard;
|
|
912
|
+
vec3 fogged = a3dApplyEnvironmentFog(max(shaded, vec3(0.0)), v_worldPosition);
|
|
913
|
+
outColor = vec4(a3dPbrEncodeOutput(fogged), alpha);
|
|
914
|
+
}
|
|
915
|
+
`
|
|
916
|
+
});
|
|
917
|
+
library.register({
|
|
918
|
+
name: DEFAULT_TEXTURED_UNLIT_SHADER_NAME,
|
|
919
|
+
marker: DEFAULT_TEXTURED_UNLIT_SHADER_MARKER,
|
|
920
|
+
vertex: `#version 300 es
|
|
921
|
+
// ${DEFAULT_TEXTURED_UNLIT_SHADER_MARKER}
|
|
922
|
+
precision highp float;
|
|
923
|
+
layout(location = 0) in vec3 a_position;
|
|
924
|
+
layout(location = 2) in vec2 a_uv;
|
|
925
|
+
layout(location = 4) in vec4 a_color;
|
|
926
|
+
uniform mat4 u_modelViewProjection;
|
|
927
|
+
uniform vec2 u_baseColorTextureOffset;
|
|
928
|
+
uniform vec2 u_baseColorTextureScale;
|
|
929
|
+
uniform float u_baseColorTextureRotation;
|
|
930
|
+
out vec2 v_uv;
|
|
931
|
+
out vec4 v_vertexColor;
|
|
932
|
+
void main() {
|
|
933
|
+
vec2 scaledUv = a_uv * u_baseColorTextureScale;
|
|
934
|
+
float c = cos(u_baseColorTextureRotation);
|
|
935
|
+
float s = sin(u_baseColorTextureRotation);
|
|
936
|
+
v_uv = vec2(scaledUv.x * c - scaledUv.y * s, scaledUv.x * s + scaledUv.y * c) + u_baseColorTextureOffset;
|
|
937
|
+
v_vertexColor = a_color;
|
|
938
|
+
gl_Position = u_modelViewProjection * vec4(a_position, 1.0);
|
|
939
|
+
}
|
|
940
|
+
`,
|
|
941
|
+
fragment: `#version 300 es
|
|
942
|
+
// ${DEFAULT_TEXTURED_UNLIT_SHADER_MARKER}
|
|
943
|
+
precision highp float;
|
|
944
|
+
uniform vec4 u_baseColor;
|
|
945
|
+
uniform float u_alphaCutoff;
|
|
946
|
+
uniform sampler2D u_baseColorTexture;
|
|
947
|
+
in vec2 v_uv;
|
|
948
|
+
in vec4 v_vertexColor;
|
|
949
|
+
out vec4 outColor;
|
|
950
|
+
void main() {
|
|
951
|
+
vec4 base = texture(u_baseColorTexture, v_uv) * u_baseColor * v_vertexColor;
|
|
952
|
+
if (base.a < u_alphaCutoff) discard;
|
|
953
|
+
outColor = base;
|
|
954
|
+
}
|
|
955
|
+
`
|
|
956
|
+
});
|
|
957
|
+
library.register({
|
|
958
|
+
name: DEFAULT_SKINNED_UNLIT_SHADER_NAME,
|
|
959
|
+
marker: DEFAULT_SKINNED_UNLIT_SHADER_MARKER,
|
|
960
|
+
vertex: `#version 300 es
|
|
961
|
+
// ${DEFAULT_SKINNED_UNLIT_SHADER_MARKER}
|
|
962
|
+
precision highp float;
|
|
963
|
+
layout(location = 0) in vec3 a_position;
|
|
964
|
+
layout(location = 5) in vec4 a_joints;
|
|
965
|
+
layout(location = 6) in vec4 a_weights;
|
|
966
|
+
uniform mat4 u_modelViewProjection;
|
|
967
|
+
uniform mat4 u_jointMatrices[64];
|
|
968
|
+
uniform float u_jointCount;
|
|
969
|
+
void main() {
|
|
970
|
+
float maxJoint = max(u_jointCount - 1.0, 0.0);
|
|
971
|
+
int jointX = int(clamp(a_joints.x, 0.0, maxJoint));
|
|
972
|
+
int jointY = int(clamp(a_joints.y, 0.0, maxJoint));
|
|
973
|
+
int jointZ = int(clamp(a_joints.z, 0.0, maxJoint));
|
|
974
|
+
int jointW = int(clamp(a_joints.w, 0.0, maxJoint));
|
|
975
|
+
mat4 skin =
|
|
976
|
+
u_jointMatrices[jointX] * a_weights.x +
|
|
977
|
+
u_jointMatrices[jointY] * a_weights.y +
|
|
978
|
+
u_jointMatrices[jointZ] * a_weights.z +
|
|
979
|
+
u_jointMatrices[jointW] * a_weights.w;
|
|
980
|
+
float weightSum = a_weights.x + a_weights.y + a_weights.z + a_weights.w;
|
|
981
|
+
vec4 skinnedPosition = weightSum > 0.0001 ? skin * vec4(a_position, 1.0) : vec4(a_position, 1.0);
|
|
982
|
+
gl_Position = u_modelViewProjection * skinnedPosition;
|
|
983
|
+
}
|
|
984
|
+
`,
|
|
985
|
+
fragment: `#version 300 es
|
|
986
|
+
// ${DEFAULT_SKINNED_UNLIT_SHADER_MARKER}
|
|
987
|
+
precision highp float;
|
|
988
|
+
uniform vec4 u_baseColor;
|
|
989
|
+
out vec4 outColor;
|
|
990
|
+
void main() {
|
|
991
|
+
outColor = u_baseColor;
|
|
992
|
+
}
|
|
993
|
+
`
|
|
994
|
+
});
|
|
995
|
+
library.register({
|
|
996
|
+
name: DEFAULT_SKINNED_LIT_SHADER_NAME,
|
|
997
|
+
marker: DEFAULT_SKINNED_LIT_SHADER_MARKER,
|
|
998
|
+
vertex: `#version 300 es
|
|
999
|
+
// ${DEFAULT_SKINNED_LIT_SHADER_MARKER}
|
|
1000
|
+
precision highp float;
|
|
1001
|
+
layout(location = 0) in vec3 a_position;
|
|
1002
|
+
layout(location = 1) in vec3 a_normal;
|
|
1003
|
+
layout(location = 2) in vec2 a_uv;
|
|
1004
|
+
layout(location = 3) in vec4 a_tangent;
|
|
1005
|
+
layout(location = 4) in vec4 a_color;
|
|
1006
|
+
layout(location = 5) in vec4 a_joints;
|
|
1007
|
+
layout(location = 6) in vec4 a_weights;
|
|
1008
|
+
uniform mat4 u_modelViewProjection;
|
|
1009
|
+
uniform mat4 u_modelMatrix;
|
|
1010
|
+
uniform mat4 u_normalMatrix;
|
|
1011
|
+
uniform vec2 u_baseColorTextureOffset;
|
|
1012
|
+
uniform vec2 u_baseColorTextureScale;
|
|
1013
|
+
uniform float u_baseColorTextureRotation;
|
|
1014
|
+
uniform mat4 u_jointMatrices[64];
|
|
1015
|
+
uniform float u_jointCount;
|
|
1016
|
+
out vec3 v_normal;
|
|
1017
|
+
out vec4 v_tangent;
|
|
1018
|
+
out vec3 v_worldPosition;
|
|
1019
|
+
out vec2 v_uv;
|
|
1020
|
+
out vec4 v_vertexColor;
|
|
1021
|
+
out float v_weightSum;
|
|
1022
|
+
void main() {
|
|
1023
|
+
vec2 scaledUv = a_uv * u_baseColorTextureScale;
|
|
1024
|
+
float c = cos(u_baseColorTextureRotation);
|
|
1025
|
+
float s = sin(u_baseColorTextureRotation);
|
|
1026
|
+
v_uv = vec2(scaledUv.x * c - scaledUv.y * s, scaledUv.x * s + scaledUv.y * c) + u_baseColorTextureOffset;
|
|
1027
|
+
v_vertexColor = a_color;
|
|
1028
|
+
float maxJoint = max(u_jointCount - 1.0, 0.0);
|
|
1029
|
+
int jointX = int(clamp(a_joints.x, 0.0, maxJoint));
|
|
1030
|
+
int jointY = int(clamp(a_joints.y, 0.0, maxJoint));
|
|
1031
|
+
int jointZ = int(clamp(a_joints.z, 0.0, maxJoint));
|
|
1032
|
+
int jointW = int(clamp(a_joints.w, 0.0, maxJoint));
|
|
1033
|
+
mat4 skin =
|
|
1034
|
+
u_jointMatrices[jointX] * a_weights.x +
|
|
1035
|
+
u_jointMatrices[jointY] * a_weights.y +
|
|
1036
|
+
u_jointMatrices[jointZ] * a_weights.z +
|
|
1037
|
+
u_jointMatrices[jointW] * a_weights.w;
|
|
1038
|
+
v_weightSum = a_weights.x + a_weights.y + a_weights.z + a_weights.w;
|
|
1039
|
+
vec4 skinnedPosition = v_weightSum > 0.0001 ? skin * vec4(a_position, 1.0) : vec4(a_position, 1.0);
|
|
1040
|
+
vec3 skinnedNormal = (v_weightSum > 0.0001 ? skin * vec4(a_normal, 0.0) : vec4(a_normal, 0.0)).xyz;
|
|
1041
|
+
vec3 skinnedTangent = (v_weightSum > 0.0001 ? skin * vec4(a_tangent.xyz, 0.0) : vec4(a_tangent.xyz, 0.0)).xyz;
|
|
1042
|
+
v_normal = mat3(u_normalMatrix) * skinnedNormal;
|
|
1043
|
+
v_tangent = vec4(mat3(u_normalMatrix) * skinnedTangent, a_tangent.w);
|
|
1044
|
+
v_worldPosition = (u_modelMatrix * skinnedPosition).xyz;
|
|
1045
|
+
gl_Position = u_modelViewProjection * skinnedPosition;
|
|
1046
|
+
}
|
|
1047
|
+
`,
|
|
1048
|
+
fragment: `#version 300 es
|
|
1049
|
+
// ${DEFAULT_SKINNED_LIT_SHADER_MARKER}
|
|
1050
|
+
precision highp float;
|
|
1051
|
+
#include <lighting_common>
|
|
1052
|
+
#include <pbr_common>
|
|
1053
|
+
uniform vec4 u_baseColor;
|
|
1054
|
+
uniform sampler2D u_baseColorTexture;
|
|
1055
|
+
uniform float u_baseColorTextureEnabled;
|
|
1056
|
+
uniform sampler2D u_normalTexture;
|
|
1057
|
+
uniform float u_normalTextureEnabled;
|
|
1058
|
+
uniform float u_normalScale;
|
|
1059
|
+
uniform sampler2D u_metallicRoughnessTexture;
|
|
1060
|
+
uniform float u_metallicRoughnessTextureEnabled;
|
|
1061
|
+
uniform sampler2D u_occlusionTexture;
|
|
1062
|
+
uniform float u_occlusionTextureEnabled;
|
|
1063
|
+
uniform float u_occlusionStrength;
|
|
1064
|
+
uniform sampler2D u_emissiveTexture;
|
|
1065
|
+
uniform float u_emissiveTextureEnabled;
|
|
1066
|
+
uniform float u_alphaCutoff;
|
|
1067
|
+
uniform float u_metallic;
|
|
1068
|
+
uniform float u_roughness;
|
|
1069
|
+
uniform vec3 u_environmentColor;
|
|
1070
|
+
uniform float u_environmentIntensity;
|
|
1071
|
+
uniform vec3 u_environmentSkyColor;
|
|
1072
|
+
uniform vec3 u_environmentHorizonColor;
|
|
1073
|
+
uniform vec3 u_environmentGroundColor;
|
|
1074
|
+
uniform vec3 u_environmentSpecularColor;
|
|
1075
|
+
uniform float u_environmentMapIntensity;
|
|
1076
|
+
uniform float u_environmentSpecularIntensity;
|
|
1077
|
+
uniform sampler2D u_environmentMapTexture;
|
|
1078
|
+
uniform samplerCube u_environmentCubeMapTexture;
|
|
1079
|
+
uniform float u_environmentCubeMapTextureEnabled;
|
|
1080
|
+
uniform float u_environmentMapTextureEnabled;
|
|
1081
|
+
uniform float u_environmentMapTextureIntensity;
|
|
1082
|
+
uniform float u_environmentMapTextureSpecularIntensity;
|
|
1083
|
+
uniform float u_environmentMapTextureRotation;
|
|
1084
|
+
uniform float u_environmentMapTextureMipCount;
|
|
1085
|
+
uniform float u_environmentMapTextureEncoding;
|
|
1086
|
+
uniform sampler2D u_environmentBrdfLutTexture;
|
|
1087
|
+
uniform float u_environmentBrdfLutEnabled;
|
|
1088
|
+
uniform vec3 u_emissiveColor;
|
|
1089
|
+
uniform float u_emissiveStrength;
|
|
1090
|
+
uniform float u_clearcoatFactor;
|
|
1091
|
+
uniform float u_clearcoatRoughnessFactor;
|
|
1092
|
+
uniform float u_transmissionFactor;
|
|
1093
|
+
uniform float u_diffuseTransmissionFactor;
|
|
1094
|
+
uniform vec3 u_diffuseTransmissionColorFactor;
|
|
1095
|
+
uniform float u_transmissionFallbackEnergy;
|
|
1096
|
+
uniform float u_volumeThicknessFactor;
|
|
1097
|
+
uniform float u_volumeAttenuationDistance;
|
|
1098
|
+
uniform vec3 u_volumeAttenuationColor;
|
|
1099
|
+
uniform float u_transmissionParallaxStrength;
|
|
1100
|
+
uniform vec3 u_transmissionParallaxBoxMin;
|
|
1101
|
+
uniform vec3 u_transmissionParallaxBoxMax;
|
|
1102
|
+
uniform float u_transmissionBounceCount;
|
|
1103
|
+
uniform float u_transmissionCausticStrength;
|
|
1104
|
+
uniform float u_ior;
|
|
1105
|
+
uniform float u_specularFactor;
|
|
1106
|
+
uniform vec3 u_specularColorFactor;
|
|
1107
|
+
uniform vec3 u_sheenColorFactor;
|
|
1108
|
+
uniform float u_sheenRoughnessFactor;
|
|
1109
|
+
uniform float u_anisotropyStrength;
|
|
1110
|
+
uniform float u_anisotropyRotation;
|
|
1111
|
+
uniform float u_iridescenceFactor;
|
|
1112
|
+
uniform float u_iridescenceIor;
|
|
1113
|
+
uniform float u_iridescenceThicknessMinimum;
|
|
1114
|
+
uniform float u_iridescenceThicknessMaximum;
|
|
1115
|
+
uniform float u_dispersion;
|
|
1116
|
+
uniform float u_lightCount;
|
|
1117
|
+
uniform vec4 u_lightData[64];
|
|
1118
|
+
uniform sampler2D u_shadowMapTexture;
|
|
1119
|
+
uniform float u_shadowMapEnabled;
|
|
1120
|
+
uniform mat4 u_shadowMapMatrix;
|
|
1121
|
+
uniform float u_shadowMapStrength;
|
|
1122
|
+
uniform float u_shadowMapBias;
|
|
1123
|
+
uniform float u_shadowMapSlopeBias;
|
|
1124
|
+
uniform vec2 u_shadowMapTexelSize;
|
|
1125
|
+
uniform float u_shadowPcfSampleCount;
|
|
1126
|
+
uniform vec4 u_shadowPcfSamples[32];
|
|
1127
|
+
uniform sampler2D u_pointShadowMapTexture;
|
|
1128
|
+
uniform float u_pointShadowMapEnabled;
|
|
1129
|
+
uniform vec3 u_pointShadowLightPosition;
|
|
1130
|
+
uniform float u_pointShadowRange;
|
|
1131
|
+
uniform mat4 u_pointShadowFaceMatrices[6];
|
|
1132
|
+
uniform vec4 u_pointShadowFaceRects[6];
|
|
1133
|
+
uniform float u_pointShadowStrength;
|
|
1134
|
+
uniform float u_pointShadowBias;
|
|
1135
|
+
uniform float u_pointShadowSlopeBias;
|
|
1136
|
+
uniform vec2 u_pointShadowTexelSize;
|
|
1137
|
+
uniform float u_pointShadowPcfSampleCount;
|
|
1138
|
+
uniform vec4 u_pointShadowPcfSamples[32];
|
|
1139
|
+
uniform float u_outputColorSpace;
|
|
1140
|
+
uniform vec3 u_cameraPosition;
|
|
1141
|
+
uniform float u_environmentFogEnabled;
|
|
1142
|
+
uniform float u_environmentFogMode;
|
|
1143
|
+
uniform vec3 u_environmentFogColor;
|
|
1144
|
+
uniform float u_environmentFogNear;
|
|
1145
|
+
uniform float u_environmentFogFar;
|
|
1146
|
+
uniform float u_environmentFogDensity;
|
|
1147
|
+
uniform float u_environmentFogHeightFalloff;
|
|
1148
|
+
uniform float u_environmentFogHeightReference;
|
|
1149
|
+
uniform float u_environmentFogMaxOpacity;
|
|
1150
|
+
in vec3 v_normal;
|
|
1151
|
+
in vec4 v_tangent;
|
|
1152
|
+
in vec3 v_worldPosition;
|
|
1153
|
+
in vec2 v_uv;
|
|
1154
|
+
in vec4 v_vertexColor;
|
|
1155
|
+
in float v_weightSum;
|
|
1156
|
+
out vec4 outColor;
|
|
1157
|
+
#include <environment_fog_common>
|
|
1158
|
+
vec2 a3dEnvironmentEquirectUv(vec3 direction, float rotation) {
|
|
1159
|
+
vec3 d = normalize(direction);
|
|
1160
|
+
float u = atan(d.z, d.x) / 6.28318530718 + 0.5 + rotation;
|
|
1161
|
+
float v = acos(clamp(d.y, -1.0, 1.0)) / 3.14159265359;
|
|
1162
|
+
return vec2(fract(u), clamp(v, 0.0, 1.0));
|
|
1163
|
+
}
|
|
1164
|
+
vec3 a3dEnvironmentCubeDirection(vec3 direction, float rotation) {
|
|
1165
|
+
float angle = rotation * 6.28318530718;
|
|
1166
|
+
float c = cos(angle);
|
|
1167
|
+
float s = sin(angle);
|
|
1168
|
+
vec3 d = normalize(direction);
|
|
1169
|
+
return normalize(vec3(c * d.x - s * d.z, d.y, s * d.x + c * d.z));
|
|
1170
|
+
}
|
|
1171
|
+
vec3 a3dPbrDecodeEnvironmentSrgb(vec3 encodedColor) {
|
|
1172
|
+
return max(encodedColor, vec3(0.0));
|
|
1173
|
+
}
|
|
1174
|
+
vec3 a3dPbrDecodeEnvironmentRgbe(vec4 encodedSample) {
|
|
1175
|
+
float exponent = encodedSample.a * 255.0;
|
|
1176
|
+
float scale = exponent <= 0.0 ? 0.0 : exp2(exponent - 128.0) * (255.0 / 256.0);
|
|
1177
|
+
return max(encodedSample.rgb * scale, vec3(0.0));
|
|
1178
|
+
}
|
|
1179
|
+
vec3 a3dPbrDecodeEnvironmentSample(vec4 encodedSample) {
|
|
1180
|
+
if (u_environmentMapTextureEncoding > 1.5) return max(encodedSample.rgb, vec3(0.0));
|
|
1181
|
+
if (u_environmentMapTextureEncoding > 0.5) return a3dPbrDecodeEnvironmentRgbe(encodedSample);
|
|
1182
|
+
return a3dPbrDecodeEnvironmentSrgb(encodedSample.rgb);
|
|
1183
|
+
}
|
|
1184
|
+
vec3 a3dPbrBoundHdrSpecularRadiance(vec3 radiance) {
|
|
1185
|
+
vec3 nonNegative = max(radiance, vec3(0.0));
|
|
1186
|
+
vec3 softKnee = nonNegative / (vec3(1.0) + max(nonNegative - vec3(1.0), vec3(0.0)) * 0.58);
|
|
1187
|
+
float maxChannel = max(max(softKnee.r, softKnee.g), softKnee.b);
|
|
1188
|
+
return maxChannel > 1.65 ? softKnee * (1.65 / maxChannel) : softKnee;
|
|
1189
|
+
}
|
|
1190
|
+
vec3 a3dPbrClampSampledSpecularEdgeEnergy(vec3 radiance, float nDotV, float roughness) {
|
|
1191
|
+
float faceOn = smoothstep(0.12, 0.55, clamp(nDotV, 0.0, 1.0));
|
|
1192
|
+
float roughEnergy = mix(0.6, 1.0, clamp(roughness, 0.0, 1.0));
|
|
1193
|
+
float edgeCap = mix(0.12, 1.2, faceOn) * roughEnergy;
|
|
1194
|
+
float edgeScale = mix(0.14, 0.92, faceOn);
|
|
1195
|
+
vec3 bounded = min(radiance * edgeScale, vec3(edgeCap));
|
|
1196
|
+
return max(bounded, vec3(0.0));
|
|
1197
|
+
}
|
|
1198
|
+
vec4 a3dPbrEnvironmentSampleRaw(vec3 direction, float lod) {
|
|
1199
|
+
vec4 equirectSample = textureLod(u_environmentMapTexture, a3dEnvironmentEquirectUv(direction, u_environmentMapTextureRotation), lod);
|
|
1200
|
+
vec4 cubeSample = textureLod(u_environmentCubeMapTexture, a3dEnvironmentCubeDirection(direction, u_environmentMapTextureRotation), lod);
|
|
1201
|
+
return mix(equirectSample, cubeSample, step(0.5, u_environmentCubeMapTextureEnabled));
|
|
1202
|
+
}
|
|
1203
|
+
vec3 a3dSkinnedPbrNormal(vec3 baseNormal, vec4 tangentFrame, vec2 uv) {
|
|
1204
|
+
vec3 sampled = texture(u_normalTexture, uv).xyz * 2.0 - 1.0;
|
|
1205
|
+
vec3 n = normalize(baseNormal);
|
|
1206
|
+
vec3 tangent = normalize(tangentFrame.xyz);
|
|
1207
|
+
vec3 bitangent = normalize(cross(n, tangent) * tangentFrame.w);
|
|
1208
|
+
return normalize(tangent * sampled.x * u_normalScale + bitangent * sampled.y * u_normalScale + n * max(sampled.z, 0.001));
|
|
1209
|
+
}
|
|
1210
|
+
float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
1211
|
+
if (u_shadowMapEnabled < 0.5) return 1.0;
|
|
1212
|
+
vec4 lightPosition = u_shadowMapMatrix * vec4(worldPosition, 1.0);
|
|
1213
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
1214
|
+
vec2 uv = projected.xy * 0.5 + 0.5;
|
|
1215
|
+
if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return 1.0;
|
|
1216
|
+
vec3 receiverNormal = normalize(normal);
|
|
1217
|
+
vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);
|
|
1218
|
+
float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
|
|
1219
|
+
float slopeReceiverBias = (1.0 - normalDotLight) * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
|
|
1220
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_shadowMapBias - slopeReceiverBias;
|
|
1221
|
+
float shadowed = 0.0;
|
|
1222
|
+
float totalWeight = 0.0;
|
|
1223
|
+
int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
|
|
1224
|
+
for (int i = 0; i < 32; ++i) {
|
|
1225
|
+
if (i >= sampleCount) break;
|
|
1226
|
+
vec4 sampleData = u_shadowPcfSamples[i];
|
|
1227
|
+
float weight = max(sampleData.z, 0.0);
|
|
1228
|
+
vec2 offset = sampleData.xy * u_shadowMapTexelSize;
|
|
1229
|
+
float storedDepth = texture(u_shadowMapTexture, uv + offset).r;
|
|
1230
|
+
shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;
|
|
1231
|
+
totalWeight += weight;
|
|
1232
|
+
}
|
|
1233
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
1234
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_shadowMapStrength, 0.0, 1.0));
|
|
1235
|
+
}
|
|
1236
|
+
float a3dPointShadowFaceIndex(vec3 direction) {
|
|
1237
|
+
vec3 absoluteDirection = abs(direction);
|
|
1238
|
+
if (absoluteDirection.x >= absoluteDirection.y && absoluteDirection.x >= absoluteDirection.z) return direction.x >= 0.0 ? 0.0 : 1.0;
|
|
1239
|
+
if (absoluteDirection.y >= absoluteDirection.x && absoluteDirection.y >= absoluteDirection.z) return direction.y >= 0.0 ? 2.0 : 3.0;
|
|
1240
|
+
return direction.z >= 0.0 ? 4.0 : 5.0;
|
|
1241
|
+
}
|
|
1242
|
+
float a3dPointShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
1243
|
+
if (u_pointShadowMapEnabled < 0.5) return 1.0;
|
|
1244
|
+
vec3 lightToFragment = worldPosition - u_pointShadowLightPosition;
|
|
1245
|
+
float distanceToLight = length(lightToFragment);
|
|
1246
|
+
if (distanceToLight > u_pointShadowRange) return 1.0;
|
|
1247
|
+
int faceIndex = int(a3dPointShadowFaceIndex(lightToFragment));
|
|
1248
|
+
vec4 lightPosition = u_pointShadowFaceMatrices[faceIndex] * vec4(worldPosition, 1.0);
|
|
1249
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
1250
|
+
vec2 localUv = projected.xy * 0.5 + 0.5;
|
|
1251
|
+
if (localUv.x < 0.0 || localUv.x > 1.0 || localUv.y < 0.0 || localUv.y > 1.0) return 1.0;
|
|
1252
|
+
vec4 rect = u_pointShadowFaceRects[faceIndex];
|
|
1253
|
+
vec2 uv = rect.xy + localUv * rect.zw;
|
|
1254
|
+
vec3 receiverNormal = normalize(normal);
|
|
1255
|
+
vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);
|
|
1256
|
+
float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
|
|
1257
|
+
float slopeReceiverBias = (1.0 - normalDotLight) * u_pointShadowSlopeBias * max(u_pointShadowTexelSize.x, u_pointShadowTexelSize.y);
|
|
1258
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_pointShadowBias - slopeReceiverBias;
|
|
1259
|
+
float shadowed = 0.0;
|
|
1260
|
+
float totalWeight = 0.0;
|
|
1261
|
+
int sampleCount = clamp(int(u_pointShadowPcfSampleCount), 1, 32);
|
|
1262
|
+
for (int i = 0; i < 32; ++i) {
|
|
1263
|
+
if (i >= sampleCount) break;
|
|
1264
|
+
vec4 sampleData = u_pointShadowPcfSamples[i];
|
|
1265
|
+
float weight = max(sampleData.z, 0.0);
|
|
1266
|
+
vec2 offset = sampleData.xy * u_pointShadowTexelSize;
|
|
1267
|
+
float storedDepth = texture(u_pointShadowMapTexture, uv + offset).r;
|
|
1268
|
+
shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;
|
|
1269
|
+
totalWeight += weight;
|
|
1270
|
+
}
|
|
1271
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
1272
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_pointShadowStrength, 0.0, 1.0));
|
|
1273
|
+
}
|
|
1274
|
+
vec3 a3dPbrEncodeOutput(vec3 linearColor) {
|
|
1275
|
+
vec3 color = max(linearColor, vec3(0.0));
|
|
1276
|
+
vec3 filmic = clamp((color * (2.51 * color + 0.03)) / (color * (2.43 * color + 0.59) + 0.14), vec3(0.0), vec3(1.0));
|
|
1277
|
+
vec3 srgb = pow(filmic, vec3(1.0 / 2.2));
|
|
1278
|
+
return mix(color, srgb, step(0.5, u_outputColorSpace));
|
|
1279
|
+
}
|
|
1280
|
+
void main() {
|
|
1281
|
+
vec3 normal = normalize(v_normal);
|
|
1282
|
+
normal = mix(normal, a3dSkinnedPbrNormal(v_normal, v_tangent, v_uv), step(0.5, u_normalTextureEnabled));
|
|
1283
|
+
if (!gl_FrontFacing) normal = -normal;
|
|
1284
|
+
vec3 viewDirection = normalize(u_cameraPosition - v_worldPosition);
|
|
1285
|
+
vec4 sampledBaseColor = texture(u_baseColorTexture, v_uv);
|
|
1286
|
+
vec4 decodedBaseColor = vec4(a3dPbrDecodeEnvironmentSrgb(sampledBaseColor.rgb), sampledBaseColor.a);
|
|
1287
|
+
float baseColorTextureWeight = clamp(u_baseColorTextureEnabled, 0.0, 1.0);
|
|
1288
|
+
vec4 baseColor = mix(u_baseColor, u_baseColor * decodedBaseColor, baseColorTextureWeight) * v_vertexColor;
|
|
1289
|
+
vec4 metallicRoughnessSample = texture(u_metallicRoughnessTexture, v_uv);
|
|
1290
|
+
float metallic = mix(u_metallic, clamp(u_metallic * metallicRoughnessSample.b, 0.0, 1.0), step(0.5, u_metallicRoughnessTextureEnabled));
|
|
1291
|
+
float roughness = mix(u_roughness, clamp(u_roughness * metallicRoughnessSample.g, 0.0, 1.0), step(0.5, u_metallicRoughnessTextureEnabled));
|
|
1292
|
+
float occlusion = mix(1.0, mix(1.0, texture(u_occlusionTexture, v_uv).r, clamp(u_occlusionStrength, 0.0, 1.0)), step(0.5, u_occlusionTextureEnabled));
|
|
1293
|
+
vec3 emissive = u_emissiveColor * u_emissiveStrength + a3dPbrDecodeEnvironmentSrgb(texture(u_emissiveTexture, v_uv).rgb) * step(0.5, u_emissiveTextureEnabled);
|
|
1294
|
+
vec3 materialBase = a3dApplyAdvancedPbrLobes(
|
|
1295
|
+
baseColor.rgb,
|
|
1296
|
+
u_clearcoatFactor,
|
|
1297
|
+
u_clearcoatRoughnessFactor,
|
|
1298
|
+
u_transmissionFactor,
|
|
1299
|
+
u_diffuseTransmissionFactor,
|
|
1300
|
+
u_diffuseTransmissionColorFactor,
|
|
1301
|
+
u_transmissionFallbackEnergy,
|
|
1302
|
+
u_volumeThicknessFactor,
|
|
1303
|
+
u_volumeAttenuationDistance,
|
|
1304
|
+
u_volumeAttenuationColor,
|
|
1305
|
+
u_ior,
|
|
1306
|
+
u_specularFactor,
|
|
1307
|
+
u_specularColorFactor,
|
|
1308
|
+
u_sheenColorFactor,
|
|
1309
|
+
u_sheenRoughnessFactor,
|
|
1310
|
+
u_anisotropyStrength,
|
|
1311
|
+
u_anisotropyRotation,
|
|
1312
|
+
u_iridescenceFactor,
|
|
1313
|
+
u_iridescenceIor,
|
|
1314
|
+
u_iridescenceThicknessMinimum,
|
|
1315
|
+
u_iridescenceThicknessMaximum,
|
|
1316
|
+
u_dispersion
|
|
1317
|
+
);
|
|
1318
|
+
float environmentHemi = mix(0.35, 1.0, clamp(normal.y * 0.5 + 0.5, 0.0, 1.0));
|
|
1319
|
+
vec3 ambientEnvironment = u_environmentColor * u_environmentIntensity * environmentHemi;
|
|
1320
|
+
float proceduralEnvironmentWeight = step(0.0001, u_environmentMapIntensity);
|
|
1321
|
+
float skyBlend = clamp(normal.y * 0.5 + 0.5, 0.0, 1.0);
|
|
1322
|
+
float horizonBlend = 1.0 - abs(normal.y);
|
|
1323
|
+
vec3 proceduralDiffuse = mix(u_environmentGroundColor, u_environmentSkyColor, skyBlend);
|
|
1324
|
+
proceduralDiffuse = mix(proceduralDiffuse, u_environmentHorizonColor, clamp(horizonBlend, 0.0, 1.0) * 0.55);
|
|
1325
|
+
vec3 environmentDiffuse = mix(ambientEnvironment, proceduralDiffuse * u_environmentMapIntensity, proceduralEnvironmentWeight);
|
|
1326
|
+
vec3 reflectionDirection = reflect(-viewDirection, normal);
|
|
1327
|
+
float sampledEnvironmentWeight = step(0.0001, u_environmentMapTextureEnabled * u_environmentMapTextureIntensity);
|
|
1328
|
+
float diffuseEnvironmentLod = max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
1329
|
+
vec3 sampledDiffuse = a3dPbrDecodeEnvironmentSample(a3dPbrEnvironmentSampleRaw(normal, diffuseEnvironmentLod));
|
|
1330
|
+
float clampedRoughness = clamp(roughness, 0.0, 1.0);
|
|
1331
|
+
float reflectionBand = pow(clamp(reflectionDirection.y * 0.5 + 0.5, 0.0, 1.0), mix(18.0, 2.0, clampedRoughness));
|
|
1332
|
+
float roughEnvironmentFloor = mix(0.04, 0.38, clampedRoughness);
|
|
1333
|
+
float proceduralSpecularResponse = max(reflectionBand, roughEnvironmentFloor);
|
|
1334
|
+
float horizonStripe = pow(clamp(1.0 - abs(reflectionDirection.y), 0.0, 1.0), mix(14.0, 3.0, clampedRoughness));
|
|
1335
|
+
float sideStripe = pow(clamp(abs(reflectionDirection.x), 0.0, 1.0), mix(10.0, 3.0, clampedRoughness)) * smoothstep(0.0, 0.72, 1.0 - abs(reflectionDirection.y));
|
|
1336
|
+
float overheadStripe = pow(clamp(reflectionDirection.y * 0.5 + 0.5, 0.0, 1.0), mix(22.0, 4.0, clampedRoughness));
|
|
1337
|
+
vec3 proceduralSpecularColor = u_environmentSpecularColor * proceduralSpecularResponse
|
|
1338
|
+
+ u_environmentHorizonColor * horizonStripe * 0.42
|
|
1339
|
+
+ u_environmentSkyColor * overheadStripe * 0.28
|
|
1340
|
+
+ u_environmentGroundColor * sideStripe * 0.22;
|
|
1341
|
+
vec3 proceduralSpecular = proceduralSpecularColor * u_environmentSpecularIntensity * proceduralEnvironmentWeight;
|
|
1342
|
+
float environmentLod = clampedRoughness * max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
1343
|
+
vec3 sampledSpecular = a3dPbrBoundHdrSpecularRadiance(a3dPbrDecodeEnvironmentSample(a3dPbrEnvironmentSampleRaw(reflectionDirection, environmentLod)));
|
|
1344
|
+
float nDotV = clamp(dot(normal, viewDirection), 0.0, 1.0);
|
|
1345
|
+
vec2 brdfLut = texture(u_environmentBrdfLutTexture, vec2(nDotV, clampedRoughness)).rg;
|
|
1346
|
+
sampledSpecular = a3dPbrClampSampledSpecularEdgeEnergy(sampledSpecular, nDotV, clampedRoughness);
|
|
1347
|
+
sampledSpecular *= u_environmentMapTextureSpecularIntensity * sampledEnvironmentWeight * mix(1.1, 0.85, roughness);
|
|
1348
|
+
vec3 shaded = a3dPbrEnvironmentLightSplitSum(
|
|
1349
|
+
normal,
|
|
1350
|
+
viewDirection,
|
|
1351
|
+
mix(environmentDiffuse, environmentDiffuse * 0.18 + sampledDiffuse * u_environmentMapTextureIntensity * 0.92, sampledEnvironmentWeight),
|
|
1352
|
+
proceduralSpecular + sampledSpecular,
|
|
1353
|
+
mix(vec2(1.0, 0.0), brdfLut, step(0.0001, u_environmentBrdfLutEnabled)),
|
|
1354
|
+
materialBase,
|
|
1355
|
+
metallic,
|
|
1356
|
+
roughness,
|
|
1357
|
+
u_specularFactor,
|
|
1358
|
+
u_specularColorFactor
|
|
1359
|
+
) * occlusion + emissive;
|
|
1360
|
+
int count = min(int(u_lightCount), 16);
|
|
1361
|
+
for (int i = 0; i < count; ++i) {
|
|
1362
|
+
int baseIndex = i * 4;
|
|
1363
|
+
vec4 colorIntensity = u_lightData[baseIndex];
|
|
1364
|
+
vec4 positionRange = u_lightData[baseIndex + 1];
|
|
1365
|
+
vec4 directionKind = u_lightData[baseIndex + 2];
|
|
1366
|
+
vec4 spotShadowLayer = u_lightData[baseIndex + 3];
|
|
1367
|
+
float kind = directionKind.w;
|
|
1368
|
+
vec3 lightDirection = -directionKind.xyz;
|
|
1369
|
+
float attenuation = 1.0;
|
|
1370
|
+
if (kind > 0.5) {
|
|
1371
|
+
vec3 toLight = positionRange.xyz - v_worldPosition;
|
|
1372
|
+
float distanceToLight = length(toLight);
|
|
1373
|
+
lightDirection = distanceToLight > 0.0001 ? toLight / distanceToLight : -directionKind.xyz;
|
|
1374
|
+
float range = max(positionRange.w, 0.0001);
|
|
1375
|
+
float rangeFalloff = clamp(1.0 - pow(distanceToLight / range, 4.0), 0.0, 1.0);
|
|
1376
|
+
rangeFalloff *= rangeFalloff;
|
|
1377
|
+
attenuation = rangeFalloff / max(distanceToLight * distanceToLight, 1.0);
|
|
1378
|
+
}
|
|
1379
|
+
if (kind > 1.5) {
|
|
1380
|
+
vec3 lightToFragment = normalize(v_worldPosition - positionRange.xyz);
|
|
1381
|
+
float cone = dot(normalize(directionKind.xyz), lightToFragment);
|
|
1382
|
+
float outer = cos(spotShadowLayer.x);
|
|
1383
|
+
float inner = cos(spotShadowLayer.x * max(1.0 - spotShadowLayer.y, 0.001));
|
|
1384
|
+
attenuation *= smoothstep(outer, inner, cone);
|
|
1385
|
+
}
|
|
1386
|
+
shaded += a3dPbrDirectLight(
|
|
1387
|
+
normal,
|
|
1388
|
+
viewDirection,
|
|
1389
|
+
lightDirection,
|
|
1390
|
+
colorIntensity.rgb,
|
|
1391
|
+
colorIntensity.a * attenuation * mix(1.0, kind > 0.5 && kind < 1.5 ? a3dPointShadowFactor(v_worldPosition, normal, lightDirection) : a3dForwardShadowFactor(v_worldPosition, normal, lightDirection), step(0.5, spotShadowLayer.z)),
|
|
1392
|
+
materialBase,
|
|
1393
|
+
metallic,
|
|
1394
|
+
roughness,
|
|
1395
|
+
u_specularFactor,
|
|
1396
|
+
u_specularColorFactor
|
|
1397
|
+
);
|
|
1398
|
+
}
|
|
1399
|
+
if (baseColor.a < u_alphaCutoff) discard;
|
|
1400
|
+
vec3 fogged = a3dApplyEnvironmentFog(max(shaded, vec3(0.0)), v_worldPosition);
|
|
1401
|
+
outColor = vec4(a3dPbrEncodeOutput(fogged), baseColor.a);
|
|
1402
|
+
}
|
|
1403
|
+
`
|
|
1404
|
+
});
|
|
1405
|
+
library.register({
|
|
1406
|
+
name: DEFAULT_MORPH_UNLIT_SHADER_NAME,
|
|
1407
|
+
marker: DEFAULT_MORPH_UNLIT_SHADER_MARKER,
|
|
1408
|
+
vertex: `#version 300 es
|
|
1409
|
+
// ${DEFAULT_MORPH_UNLIT_SHADER_MARKER}
|
|
1410
|
+
precision highp float;
|
|
1411
|
+
layout(location = 0) in vec3 a_position;
|
|
1412
|
+
uniform mat4 u_modelViewProjection;
|
|
1413
|
+
uniform vec4 u_morphPositionDeltas[256];
|
|
1414
|
+
uniform vec4 u_morphWeights;
|
|
1415
|
+
uniform float u_morphTargetCount;
|
|
1416
|
+
void main() {
|
|
1417
|
+
int morphVertexIndex = clamp(gl_VertexID, 0, 63);
|
|
1418
|
+
vec3 morphDelta = vec3(0.0);
|
|
1419
|
+
for (int target = 0; target < 4; ++target) {
|
|
1420
|
+
if (float(target) < u_morphTargetCount) {
|
|
1421
|
+
int morphIndex = target * 64 + morphVertexIndex;
|
|
1422
|
+
morphDelta += u_morphPositionDeltas[morphIndex].xyz * u_morphWeights[target];
|
|
1423
|
+
}
|
|
1424
|
+
}
|
|
1425
|
+
vec3 morphedPosition = a_position + morphDelta;
|
|
1426
|
+
gl_Position = u_modelViewProjection * vec4(morphedPosition, 1.0);
|
|
1427
|
+
}
|
|
1428
|
+
`,
|
|
1429
|
+
fragment: `#version 300 es
|
|
1430
|
+
// ${DEFAULT_MORPH_UNLIT_SHADER_MARKER}
|
|
1431
|
+
precision highp float;
|
|
1432
|
+
uniform vec4 u_baseColor;
|
|
1433
|
+
out vec4 outColor;
|
|
1434
|
+
void main() {
|
|
1435
|
+
outColor = u_baseColor;
|
|
1436
|
+
}
|
|
1437
|
+
`
|
|
1438
|
+
});
|
|
1439
|
+
library.register({
|
|
1440
|
+
name: DEFAULT_NORMAL_MAPPED_PBR_SHADER_NAME,
|
|
1441
|
+
marker: DEFAULT_NORMAL_MAPPED_PBR_SHADER_MARKER,
|
|
1442
|
+
vertex: `#version 300 es
|
|
1443
|
+
// ${DEFAULT_NORMAL_MAPPED_PBR_SHADER_MARKER}
|
|
1444
|
+
precision highp float;
|
|
1445
|
+
layout(location = 0) in vec3 a_position;
|
|
1446
|
+
layout(location = 1) in vec3 a_normal;
|
|
1447
|
+
layout(location = 2) in vec2 a_uv;
|
|
1448
|
+
layout(location = 3) in vec4 a_tangent;
|
|
1449
|
+
layout(location = 4) in vec4 a_color;
|
|
1450
|
+
layout(location = 7) in vec2 a_uv1;
|
|
1451
|
+
uniform mat4 u_modelViewProjection;
|
|
1452
|
+
uniform mat4 u_modelMatrix;
|
|
1453
|
+
uniform mat4 u_normalMatrix;
|
|
1454
|
+
out vec3 v_normal;
|
|
1455
|
+
out vec4 v_tangent;
|
|
1456
|
+
out vec3 v_worldPosition;
|
|
1457
|
+
out vec2 v_uv;
|
|
1458
|
+
out vec4 v_vertexColor;
|
|
1459
|
+
void main() {
|
|
1460
|
+
v_normal = mat3(u_normalMatrix) * a_normal;
|
|
1461
|
+
v_tangent = vec4(mat3(u_normalMatrix) * a_tangent.xyz, a_tangent.w);
|
|
1462
|
+
v_worldPosition = (u_modelMatrix * vec4(a_position, 1.0)).xyz;
|
|
1463
|
+
v_uv = a_uv;
|
|
1464
|
+
v_vertexColor = a_color;
|
|
1465
|
+
gl_Position = u_modelViewProjection * vec4(a_position, 1.0);
|
|
1466
|
+
}
|
|
1467
|
+
`,
|
|
1468
|
+
fragment: `#version 300 es
|
|
1469
|
+
// ${DEFAULT_NORMAL_MAPPED_PBR_SHADER_MARKER}
|
|
1470
|
+
precision highp float;
|
|
1471
|
+
#include <lighting_common>
|
|
1472
|
+
#include <pbr_common>
|
|
1473
|
+
uniform vec4 u_baseColor;
|
|
1474
|
+
uniform float u_alphaCutoff;
|
|
1475
|
+
uniform float u_metallic;
|
|
1476
|
+
uniform float u_roughness;
|
|
1477
|
+
uniform vec3 u_environmentColor;
|
|
1478
|
+
uniform float u_environmentIntensity;
|
|
1479
|
+
uniform vec3 u_environmentSkyColor;
|
|
1480
|
+
uniform vec3 u_environmentHorizonColor;
|
|
1481
|
+
uniform vec3 u_environmentGroundColor;
|
|
1482
|
+
uniform vec3 u_environmentSpecularColor;
|
|
1483
|
+
uniform float u_environmentMapIntensity;
|
|
1484
|
+
uniform float u_environmentSpecularIntensity;
|
|
1485
|
+
uniform sampler2D u_environmentMapTexture;
|
|
1486
|
+
uniform samplerCube u_environmentCubeMapTexture;
|
|
1487
|
+
uniform float u_environmentCubeMapTextureEnabled;
|
|
1488
|
+
uniform float u_environmentMapTextureEnabled;
|
|
1489
|
+
uniform float u_environmentMapTextureIntensity;
|
|
1490
|
+
uniform float u_environmentMapTextureSpecularIntensity;
|
|
1491
|
+
uniform float u_environmentMapTextureRotation;
|
|
1492
|
+
uniform float u_environmentMapTextureMipCount;
|
|
1493
|
+
uniform float u_environmentMapTextureEncoding;
|
|
1494
|
+
uniform sampler2D u_environmentBrdfLutTexture;
|
|
1495
|
+
uniform float u_environmentBrdfLutEnabled;
|
|
1496
|
+
uniform vec3 u_emissiveColor;
|
|
1497
|
+
uniform float u_emissiveStrength;
|
|
1498
|
+
uniform float u_clearcoatFactor;
|
|
1499
|
+
uniform float u_clearcoatRoughnessFactor;
|
|
1500
|
+
uniform float u_transmissionFactor;
|
|
1501
|
+
uniform float u_diffuseTransmissionFactor;
|
|
1502
|
+
uniform vec3 u_diffuseTransmissionColorFactor;
|
|
1503
|
+
uniform float u_transmissionFallbackEnergy;
|
|
1504
|
+
uniform float u_volumeThicknessFactor;
|
|
1505
|
+
uniform float u_volumeAttenuationDistance;
|
|
1506
|
+
uniform vec3 u_volumeAttenuationColor;
|
|
1507
|
+
uniform float u_transmissionParallaxStrength;
|
|
1508
|
+
uniform vec3 u_transmissionParallaxBoxMin;
|
|
1509
|
+
uniform vec3 u_transmissionParallaxBoxMax;
|
|
1510
|
+
uniform float u_transmissionBounceCount;
|
|
1511
|
+
uniform float u_transmissionCausticStrength;
|
|
1512
|
+
uniform float u_ior;
|
|
1513
|
+
uniform float u_specularFactor;
|
|
1514
|
+
uniform vec3 u_specularColorFactor;
|
|
1515
|
+
uniform vec3 u_sheenColorFactor;
|
|
1516
|
+
uniform float u_sheenRoughnessFactor;
|
|
1517
|
+
uniform float u_lightCount;
|
|
1518
|
+
uniform vec4 u_lightData[64];
|
|
1519
|
+
uniform sampler2D u_normalTexture;
|
|
1520
|
+
uniform float u_normalScale;
|
|
1521
|
+
uniform sampler2D u_shadowMapTexture;
|
|
1522
|
+
uniform float u_shadowMapEnabled;
|
|
1523
|
+
uniform mat4 u_shadowMapMatrix;
|
|
1524
|
+
uniform float u_shadowMapStrength;
|
|
1525
|
+
uniform float u_shadowMapBias;
|
|
1526
|
+
uniform float u_shadowMapSlopeBias;
|
|
1527
|
+
uniform vec2 u_shadowMapTexelSize;
|
|
1528
|
+
uniform float u_shadowPcfSampleCount;
|
|
1529
|
+
uniform vec4 u_shadowPcfSamples[32];
|
|
1530
|
+
uniform sampler2D u_pointShadowMapTexture;
|
|
1531
|
+
uniform float u_pointShadowMapEnabled;
|
|
1532
|
+
uniform vec3 u_pointShadowLightPosition;
|
|
1533
|
+
uniform float u_pointShadowRange;
|
|
1534
|
+
uniform mat4 u_pointShadowFaceMatrices[6];
|
|
1535
|
+
uniform vec4 u_pointShadowFaceRects[6];
|
|
1536
|
+
uniform float u_pointShadowStrength;
|
|
1537
|
+
uniform float u_pointShadowBias;
|
|
1538
|
+
uniform float u_pointShadowSlopeBias;
|
|
1539
|
+
uniform vec2 u_pointShadowTexelSize;
|
|
1540
|
+
uniform float u_pointShadowPcfSampleCount;
|
|
1541
|
+
uniform vec4 u_pointShadowPcfSamples[32];
|
|
1542
|
+
uniform float u_outputColorSpace;
|
|
1543
|
+
uniform vec3 u_cameraPosition;
|
|
1544
|
+
uniform float u_environmentFogEnabled;
|
|
1545
|
+
uniform float u_environmentFogMode;
|
|
1546
|
+
uniform vec3 u_environmentFogColor;
|
|
1547
|
+
uniform float u_environmentFogNear;
|
|
1548
|
+
uniform float u_environmentFogFar;
|
|
1549
|
+
uniform float u_environmentFogDensity;
|
|
1550
|
+
uniform float u_environmentFogHeightFalloff;
|
|
1551
|
+
uniform float u_environmentFogHeightReference;
|
|
1552
|
+
uniform float u_environmentFogMaxOpacity;
|
|
1553
|
+
in vec3 v_normal;
|
|
1554
|
+
in vec4 v_tangent;
|
|
1555
|
+
in vec3 v_worldPosition;
|
|
1556
|
+
in vec2 v_uv;
|
|
1557
|
+
in vec4 v_vertexColor;
|
|
1558
|
+
out vec4 outColor;
|
|
1559
|
+
#include <environment_fog_common>
|
|
1560
|
+
vec3 a3dNormalMappedNormal(vec3 baseNormal, vec4 tangentFrame, vec2 uv) {
|
|
1561
|
+
vec3 sampled = texture(u_normalTexture, uv).xyz * 2.0 - 1.0;
|
|
1562
|
+
vec3 n = normalize(baseNormal);
|
|
1563
|
+
vec3 tangent = normalize(tangentFrame.xyz);
|
|
1564
|
+
vec3 bitangent = normalize(cross(n, tangent) * tangentFrame.w);
|
|
1565
|
+
return normalize(tangent * sampled.x * u_normalScale + bitangent * sampled.y * u_normalScale + n * max(sampled.z, 0.001));
|
|
1566
|
+
}
|
|
1567
|
+
float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
1568
|
+
if (u_shadowMapEnabled < 0.5) return 1.0;
|
|
1569
|
+
vec4 lightPosition = u_shadowMapMatrix * vec4(worldPosition, 1.0);
|
|
1570
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
1571
|
+
vec2 uv = projected.xy * 0.5 + 0.5;
|
|
1572
|
+
if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return 1.0;
|
|
1573
|
+
vec3 receiverNormal = normalize(normal);
|
|
1574
|
+
vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);
|
|
1575
|
+
float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
|
|
1576
|
+
float slopeReceiverBias = (1.0 - normalDotLight) * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
|
|
1577
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_shadowMapBias - slopeReceiverBias;
|
|
1578
|
+
float shadowed = 0.0;
|
|
1579
|
+
float totalWeight = 0.0;
|
|
1580
|
+
int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
|
|
1581
|
+
for (int i = 0; i < 32; ++i) {
|
|
1582
|
+
if (i >= sampleCount) break;
|
|
1583
|
+
vec4 sampleData = u_shadowPcfSamples[i];
|
|
1584
|
+
float weight = max(sampleData.z, 0.0);
|
|
1585
|
+
vec2 offset = sampleData.xy * u_shadowMapTexelSize;
|
|
1586
|
+
float storedDepth = texture(u_shadowMapTexture, uv + offset).r;
|
|
1587
|
+
shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;
|
|
1588
|
+
totalWeight += weight;
|
|
1589
|
+
}
|
|
1590
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
1591
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_shadowMapStrength, 0.0, 1.0));
|
|
1592
|
+
}
|
|
1593
|
+
float a3dPointShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
1594
|
+
if (u_pointShadowMapEnabled < 0.5) return 1.0;
|
|
1595
|
+
vec3 lightToFragment = worldPosition - u_pointShadowLightPosition;
|
|
1596
|
+
vec3 absoluteDirection = abs(lightToFragment);
|
|
1597
|
+
int faceIndex = absoluteDirection.x >= absoluteDirection.y && absoluteDirection.x >= absoluteDirection.z ? (lightToFragment.x >= 0.0 ? 0 : 1) : (absoluteDirection.y >= absoluteDirection.z ? (lightToFragment.y >= 0.0 ? 2 : 3) : (lightToFragment.z >= 0.0 ? 4 : 5));
|
|
1598
|
+
vec4 lightPosition = u_pointShadowFaceMatrices[faceIndex] * vec4(worldPosition, 1.0);
|
|
1599
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
1600
|
+
vec2 localUv = projected.xy * 0.5 + 0.5;
|
|
1601
|
+
if (localUv.x < 0.0 || localUv.x > 1.0 || localUv.y < 0.0 || localUv.y > 1.0 || length(lightToFragment) > u_pointShadowRange) return 1.0;
|
|
1602
|
+
vec4 rect = u_pointShadowFaceRects[faceIndex];
|
|
1603
|
+
vec2 uv = rect.xy + localUv * rect.zw;
|
|
1604
|
+
float normalDotLight = clamp(abs(dot(normalize(normal), normalize(lightDirection))), 0.0, 1.0);
|
|
1605
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_pointShadowBias - (1.0 - normalDotLight) * u_pointShadowSlopeBias * max(u_pointShadowTexelSize.x, u_pointShadowTexelSize.y);
|
|
1606
|
+
float shadowed = 0.0;
|
|
1607
|
+
float totalWeight = 0.0;
|
|
1608
|
+
int sampleCount = clamp(int(u_pointShadowPcfSampleCount), 1, 32);
|
|
1609
|
+
for (int i = 0; i < 32; ++i) {
|
|
1610
|
+
if (i >= sampleCount) break;
|
|
1611
|
+
vec4 sampleData = u_pointShadowPcfSamples[i];
|
|
1612
|
+
float weight = max(sampleData.z, 0.0);
|
|
1613
|
+
shadowed += (receiverDepth > texture(u_pointShadowMapTexture, uv + sampleData.xy * u_pointShadowTexelSize).r ? 1.0 : 0.0) * weight;
|
|
1614
|
+
totalWeight += weight;
|
|
1615
|
+
}
|
|
1616
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
1617
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_pointShadowStrength, 0.0, 1.0));
|
|
1618
|
+
}
|
|
1619
|
+
vec2 a3dEnvironmentEquirectUv(vec3 direction, float rotation) {
|
|
1620
|
+
vec3 d = normalize(direction);
|
|
1621
|
+
float u = atan(d.z, d.x) / 6.28318530718 + 0.5 + rotation;
|
|
1622
|
+
float v = acos(clamp(d.y, -1.0, 1.0)) / 3.14159265359;
|
|
1623
|
+
return vec2(fract(u), clamp(v, 0.0, 1.0));
|
|
1624
|
+
}
|
|
1625
|
+
vec3 a3dEnvironmentCubeDirection(vec3 direction, float rotation) {
|
|
1626
|
+
float angle = rotation * 6.28318530718;
|
|
1627
|
+
float c = cos(angle);
|
|
1628
|
+
float s = sin(angle);
|
|
1629
|
+
vec3 d = normalize(direction);
|
|
1630
|
+
return normalize(vec3(c * d.x - s * d.z, d.y, s * d.x + c * d.z));
|
|
1631
|
+
}
|
|
1632
|
+
vec3 a3dPbrDecodeEnvironmentSrgb(vec3 encodedColor) {
|
|
1633
|
+
return max(encodedColor, vec3(0.0));
|
|
1634
|
+
}
|
|
1635
|
+
vec3 a3dPbrDecodeEnvironmentRgbe(vec4 encodedSample) {
|
|
1636
|
+
float exponent = encodedSample.a * 255.0;
|
|
1637
|
+
float scale = exponent <= 0.0 ? 0.0 : exp2(exponent - 128.0) * (255.0 / 256.0);
|
|
1638
|
+
return max(encodedSample.rgb * scale, vec3(0.0));
|
|
1639
|
+
}
|
|
1640
|
+
vec3 a3dPbrDecodeEnvironmentSample(vec4 encodedSample) {
|
|
1641
|
+
if (u_environmentMapTextureEncoding > 1.5) return max(encodedSample.rgb, vec3(0.0));
|
|
1642
|
+
if (u_environmentMapTextureEncoding > 0.5) return a3dPbrDecodeEnvironmentRgbe(encodedSample);
|
|
1643
|
+
return a3dPbrDecodeEnvironmentSrgb(encodedSample.rgb);
|
|
1644
|
+
}
|
|
1645
|
+
vec3 a3dPbrBoundHdrSpecularRadiance(vec3 radiance) {
|
|
1646
|
+
vec3 nonNegative = max(radiance, vec3(0.0));
|
|
1647
|
+
vec3 softKnee = nonNegative / (vec3(1.0) + max(nonNegative - vec3(1.0), vec3(0.0)) * 0.58);
|
|
1648
|
+
float maxChannel = max(max(softKnee.r, softKnee.g), softKnee.b);
|
|
1649
|
+
return maxChannel > 1.65 ? softKnee * (1.65 / maxChannel) : softKnee;
|
|
1650
|
+
}
|
|
1651
|
+
vec3 a3dPbrClampSampledSpecularEdgeEnergy(vec3 radiance, float nDotV, float roughness) {
|
|
1652
|
+
float faceOn = smoothstep(0.12, 0.55, clamp(nDotV, 0.0, 1.0));
|
|
1653
|
+
float roughEnergy = mix(0.6, 1.0, clamp(roughness, 0.0, 1.0));
|
|
1654
|
+
float edgeCap = mix(0.12, 1.2, faceOn) * roughEnergy;
|
|
1655
|
+
float edgeScale = mix(0.14, 0.92, faceOn);
|
|
1656
|
+
vec3 bounded = min(radiance * edgeScale, vec3(edgeCap));
|
|
1657
|
+
return max(bounded, vec3(0.0));
|
|
1658
|
+
}
|
|
1659
|
+
vec4 a3dPbrEnvironmentSampleRaw(vec3 direction, float lod) {
|
|
1660
|
+
vec4 equirectSample = textureLod(u_environmentMapTexture, a3dEnvironmentEquirectUv(direction, u_environmentMapTextureRotation), lod);
|
|
1661
|
+
vec4 cubeSample = textureLod(u_environmentCubeMapTexture, a3dEnvironmentCubeDirection(direction, u_environmentMapTextureRotation), lod);
|
|
1662
|
+
return mix(equirectSample, cubeSample, step(0.5, u_environmentCubeMapTextureEnabled));
|
|
1663
|
+
}
|
|
1664
|
+
vec3 a3dPbrEnvironmentDiffuseInput(vec3 normal) {
|
|
1665
|
+
float environmentHemi = mix(0.35, 1.0, clamp(normal.y * 0.5 + 0.5, 0.0, 1.0));
|
|
1666
|
+
vec3 ambientEnvironment = u_environmentColor * u_environmentIntensity * environmentHemi;
|
|
1667
|
+
float proceduralEnvironmentWeight = step(0.0001, u_environmentMapIntensity);
|
|
1668
|
+
float skyBlend = clamp(normal.y * 0.5 + 0.5, 0.0, 1.0);
|
|
1669
|
+
float horizonBlend = 1.0 - abs(normal.y);
|
|
1670
|
+
vec3 proceduralDiffuse = mix(u_environmentGroundColor, u_environmentSkyColor, skyBlend);
|
|
1671
|
+
proceduralDiffuse = mix(proceduralDiffuse, u_environmentHorizonColor, clamp(horizonBlend, 0.0, 1.0) * 0.55);
|
|
1672
|
+
vec3 environmentDiffuse = mix(ambientEnvironment, proceduralDiffuse * u_environmentMapIntensity, proceduralEnvironmentWeight);
|
|
1673
|
+
float sampledEnvironmentWeight = step(0.0001, u_environmentMapTextureEnabled * u_environmentMapTextureIntensity);
|
|
1674
|
+
float diffuseEnvironmentLod = max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
1675
|
+
vec3 sampledDiffuse = a3dPbrDecodeEnvironmentSample(a3dPbrEnvironmentSampleRaw(normal, diffuseEnvironmentLod));
|
|
1676
|
+
return mix(environmentDiffuse, environmentDiffuse * 0.18 + sampledDiffuse * u_environmentMapTextureIntensity * 0.92, sampledEnvironmentWeight);
|
|
1677
|
+
}
|
|
1678
|
+
vec3 a3dPbrEnvironmentSpecularInput(vec3 normal, vec3 viewDirection, float roughness) {
|
|
1679
|
+
float proceduralEnvironmentWeight = step(0.0001, u_environmentMapIntensity);
|
|
1680
|
+
vec3 reflectionDirection = reflect(-viewDirection, normal);
|
|
1681
|
+
float clampedRoughness = clamp(roughness, 0.0, 1.0);
|
|
1682
|
+
float reflectionBand = pow(clamp(reflectionDirection.y * 0.5 + 0.5, 0.0, 1.0), mix(18.0, 2.0, clampedRoughness));
|
|
1683
|
+
float roughEnvironmentFloor = mix(0.04, 0.38, clampedRoughness);
|
|
1684
|
+
float proceduralSpecularResponse = max(reflectionBand, roughEnvironmentFloor);
|
|
1685
|
+
vec3 proceduralSpecular = u_environmentSpecularColor * u_environmentSpecularIntensity * proceduralSpecularResponse * proceduralEnvironmentWeight;
|
|
1686
|
+
float sampledEnvironmentWeight = step(0.0001, u_environmentMapTextureEnabled * u_environmentMapTextureSpecularIntensity);
|
|
1687
|
+
float environmentLod = clampedRoughness * max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
1688
|
+
vec3 sampledSpecular = a3dPbrBoundHdrSpecularRadiance(a3dPbrDecodeEnvironmentSample(a3dPbrEnvironmentSampleRaw(reflectionDirection, environmentLod)));
|
|
1689
|
+
float nDotV = clamp(dot(normal, viewDirection), 0.0, 1.0);
|
|
1690
|
+
vec2 brdfLut = texture(u_environmentBrdfLutTexture, vec2(nDotV, clampedRoughness)).rg;
|
|
1691
|
+
sampledSpecular = a3dPbrClampSampledSpecularEdgeEnergy(sampledSpecular, nDotV, clampedRoughness);
|
|
1692
|
+
sampledSpecular *= u_environmentMapTextureSpecularIntensity * sampledEnvironmentWeight * mix(0.84, 0.58, clampedRoughness);
|
|
1693
|
+
return proceduralSpecular + sampledSpecular;
|
|
1694
|
+
}
|
|
1695
|
+
vec3 a3dPbrEncodeOutput(vec3 linearColor) {
|
|
1696
|
+
vec3 color = max(linearColor, vec3(0.0));
|
|
1697
|
+
vec3 filmic = clamp((color * (2.51 * color + 0.03)) / (color * (2.43 * color + 0.59) + 0.14), vec3(0.0), vec3(1.0));
|
|
1698
|
+
vec3 srgb = pow(filmic, vec3(1.0 / 2.2));
|
|
1699
|
+
return mix(color, srgb, step(0.5, u_outputColorSpace));
|
|
1700
|
+
}
|
|
1701
|
+
void main() {
|
|
1702
|
+
vec3 mappedNormal = a3dNormalMappedNormal(v_normal, v_tangent, v_uv);
|
|
1703
|
+
if (!gl_FrontFacing) mappedNormal = -mappedNormal;
|
|
1704
|
+
vec3 viewDirection = normalize(u_cameraPosition - v_worldPosition);
|
|
1705
|
+
vec3 materialBase = u_baseColor.rgb * v_vertexColor.rgb;
|
|
1706
|
+
vec3 shaded = u_emissiveColor * u_emissiveStrength + a3dPbrEnvironmentLight(
|
|
1707
|
+
mappedNormal,
|
|
1708
|
+
viewDirection,
|
|
1709
|
+
a3dPbrEnvironmentDiffuseInput(mappedNormal),
|
|
1710
|
+
a3dPbrEnvironmentSpecularInput(mappedNormal, viewDirection, u_roughness),
|
|
1711
|
+
materialBase,
|
|
1712
|
+
u_metallic,
|
|
1713
|
+
u_roughness,
|
|
1714
|
+
u_specularFactor,
|
|
1715
|
+
u_specularColorFactor
|
|
1716
|
+
);
|
|
1717
|
+
int count = min(int(u_lightCount), 16);
|
|
1718
|
+
for (int i = 0; i < count; ++i) {
|
|
1719
|
+
int baseIndex = i * 4;
|
|
1720
|
+
vec4 colorIntensity = u_lightData[baseIndex];
|
|
1721
|
+
vec4 positionRange = u_lightData[baseIndex + 1];
|
|
1722
|
+
vec4 directionKind = u_lightData[baseIndex + 2];
|
|
1723
|
+
vec4 spotShadowLayer = u_lightData[baseIndex + 3];
|
|
1724
|
+
float kind = directionKind.w;
|
|
1725
|
+
vec3 lightDirection = -directionKind.xyz;
|
|
1726
|
+
float attenuation = 1.0;
|
|
1727
|
+
if (kind > 0.5) {
|
|
1728
|
+
vec3 toLight = positionRange.xyz - v_worldPosition;
|
|
1729
|
+
float distanceToLight = length(toLight);
|
|
1730
|
+
lightDirection = distanceToLight > 0.0001 ? toLight / distanceToLight : -directionKind.xyz;
|
|
1731
|
+
float range = max(positionRange.w, 0.0001);
|
|
1732
|
+
float rangeFalloff = clamp(1.0 - pow(distanceToLight / range, 4.0), 0.0, 1.0);
|
|
1733
|
+
rangeFalloff *= rangeFalloff;
|
|
1734
|
+
attenuation = rangeFalloff / max(distanceToLight * distanceToLight, 1.0);
|
|
1735
|
+
}
|
|
1736
|
+
if (kind > 1.5) {
|
|
1737
|
+
vec3 lightToFragment = normalize(v_worldPosition - positionRange.xyz);
|
|
1738
|
+
float cone = dot(normalize(directionKind.xyz), lightToFragment);
|
|
1739
|
+
float outer = cos(spotShadowLayer.x);
|
|
1740
|
+
float inner = cos(spotShadowLayer.x * max(1.0 - spotShadowLayer.y, 0.001));
|
|
1741
|
+
attenuation *= smoothstep(outer, inner, cone);
|
|
1742
|
+
}
|
|
1743
|
+
float shadowFactor = mix(1.0, kind > 0.5 && kind < 1.5 ? a3dPointShadowFactor(v_worldPosition, mappedNormal, lightDirection) : a3dForwardShadowFactor(v_worldPosition, mappedNormal, lightDirection), step(0.5, spotShadowLayer.z));
|
|
1744
|
+
shaded += a3dPbrDirectLight(mappedNormal, viewDirection, lightDirection, colorIntensity.rgb, colorIntensity.a * attenuation * shadowFactor, materialBase, u_metallic, u_roughness, u_specularFactor, u_specularColorFactor);
|
|
1745
|
+
}
|
|
1746
|
+
float alpha = u_baseColor.a * v_vertexColor.a;
|
|
1747
|
+
if (alpha < u_alphaCutoff) discard;
|
|
1748
|
+
vec3 fogged = a3dApplyEnvironmentFog(max(shaded, vec3(0.0)), v_worldPosition);
|
|
1749
|
+
outColor = vec4(a3dPbrEncodeOutput(fogged), alpha);
|
|
1750
|
+
}
|
|
1751
|
+
`
|
|
1752
|
+
});
|
|
1753
|
+
library.register({
|
|
1754
|
+
name: DEFAULT_TEXTURED_PBR_SHADER_NAME,
|
|
1755
|
+
marker: DEFAULT_TEXTURED_PBR_SHADER_MARKER,
|
|
1756
|
+
variants: [
|
|
1757
|
+
{ name: DEFAULT_TEXTURED_PBR_CLEARCOAT_TEXTURES_VARIANT, defines: { A3D_PBR_CLEARCOAT_TEXTURES: true, A3D_PBR_DISABLE_TRANSMISSION_BACKDROP: true } },
|
|
1758
|
+
{ name: DEFAULT_TEXTURED_PBR_TRANSMISSION_VOLUME_TEXTURES_VARIANT, defines: { A3D_PBR_TRANSMISSION_VOLUME_TEXTURES: true, A3D_PBR_DISABLE_TRANSMISSION_BACKDROP: true } },
|
|
1759
|
+
{ name: DEFAULT_TEXTURED_PBR_SPECULAR_SHEEN_ANISOTROPY_TEXTURES_VARIANT, defines: { A3D_PBR_SPECULAR_TEXTURES: true, A3D_PBR_SPECULAR_SHEEN_ANISOTROPY_TEXTURES: true, A3D_PBR_DISABLE_TRANSMISSION_BACKDROP: true } },
|
|
1760
|
+
{ name: DEFAULT_TEXTURED_PBR_IRIDESCENCE_TEXTURES_VARIANT, defines: { A3D_PBR_IRIDESCENCE_TEXTURES: true, A3D_PBR_DISABLE_TRANSMISSION_BACKDROP: true } },
|
|
1761
|
+
{ name: DEFAULT_TEXTURED_PBR_CLEARCOAT_TRANSMISSION_VOLUME_TEXTURES_VARIANT, defines: { A3D_PBR_CLEARCOAT_TEXTURES: true, A3D_PBR_TRANSMISSION_VOLUME_TEXTURES: true, A3D_PBR_DISABLE_TRANSMISSION_BACKDROP: true } },
|
|
1762
|
+
{ name: DEFAULT_TEXTURED_PBR_CLEARCOAT_SPECULAR_TEXTURES_VARIANT, defines: { A3D_PBR_CLEARCOAT_TEXTURES: true, A3D_PBR_SPECULAR_TEXTURES: true, A3D_PBR_DISABLE_TRANSMISSION_BACKDROP: true } },
|
|
1763
|
+
{ name: DEFAULT_TEXTURED_PBR_SPECULAR_SHEEN_ANISOTROPY_IRIDESCENCE_TEXTURES_VARIANT, defines: { A3D_PBR_SPECULAR_TEXTURES: true, A3D_PBR_SPECULAR_SHEEN_ANISOTROPY_TEXTURES: true, A3D_PBR_IRIDESCENCE_TEXTURES: true, A3D_PBR_DISABLE_TRANSMISSION_BACKDROP: true } }
|
|
1764
|
+
],
|
|
1765
|
+
vertex: `#version 300 es
|
|
1766
|
+
// ${DEFAULT_TEXTURED_PBR_SHADER_MARKER}
|
|
1767
|
+
precision highp float;
|
|
1768
|
+
layout(location = 0) in vec3 a_position;
|
|
1769
|
+
layout(location = 1) in vec3 a_normal;
|
|
1770
|
+
layout(location = 2) in vec2 a_uv;
|
|
1771
|
+
layout(location = 3) in vec4 a_tangent;
|
|
1772
|
+
layout(location = 4) in vec4 a_color;
|
|
1773
|
+
layout(location = 7) in vec2 a_uv1;
|
|
1774
|
+
uniform mat4 u_modelViewProjection;
|
|
1775
|
+
uniform mat4 u_modelMatrix;
|
|
1776
|
+
uniform mat4 u_normalMatrix;
|
|
1777
|
+
out vec3 v_normal;
|
|
1778
|
+
out vec4 v_tangent;
|
|
1779
|
+
out vec3 v_worldPosition;
|
|
1780
|
+
out vec2 v_uv;
|
|
1781
|
+
out vec2 v_uv1;
|
|
1782
|
+
out vec4 v_vertexColor;
|
|
1783
|
+
void main() {
|
|
1784
|
+
v_uv = a_uv;
|
|
1785
|
+
v_uv1 = a_uv1;
|
|
1786
|
+
v_normal = mat3(u_normalMatrix) * a_normal;
|
|
1787
|
+
v_tangent = vec4(mat3(u_normalMatrix) * a_tangent.xyz, a_tangent.w);
|
|
1788
|
+
v_worldPosition = (u_modelMatrix * vec4(a_position, 1.0)).xyz;
|
|
1789
|
+
v_vertexColor = a_color;
|
|
1790
|
+
gl_Position = u_modelViewProjection * vec4(a_position, 1.0);
|
|
1791
|
+
}
|
|
1792
|
+
`,
|
|
1793
|
+
fragment: `#version 300 es
|
|
1794
|
+
// ${DEFAULT_TEXTURED_PBR_SHADER_MARKER}
|
|
1795
|
+
precision highp float;
|
|
1796
|
+
#include <lighting_common>
|
|
1797
|
+
#include <pbr_common>
|
|
1798
|
+
uniform vec4 u_baseColor;
|
|
1799
|
+
uniform float u_alphaCutoff;
|
|
1800
|
+
uniform float u_metallic;
|
|
1801
|
+
uniform float u_roughness;
|
|
1802
|
+
uniform vec3 u_environmentColor;
|
|
1803
|
+
uniform float u_environmentIntensity;
|
|
1804
|
+
uniform vec3 u_environmentSkyColor;
|
|
1805
|
+
uniform vec3 u_environmentHorizonColor;
|
|
1806
|
+
uniform vec3 u_environmentGroundColor;
|
|
1807
|
+
uniform vec3 u_environmentSpecularColor;
|
|
1808
|
+
uniform float u_environmentMapIntensity;
|
|
1809
|
+
uniform float u_environmentSpecularIntensity;
|
|
1810
|
+
uniform sampler2D u_environmentMapTexture;
|
|
1811
|
+
uniform samplerCube u_environmentCubeMapTexture;
|
|
1812
|
+
uniform float u_environmentCubeMapTextureEnabled;
|
|
1813
|
+
uniform float u_environmentMapTextureEnabled;
|
|
1814
|
+
uniform float u_environmentMapTextureIntensity;
|
|
1815
|
+
uniform float u_environmentMapTextureSpecularIntensity;
|
|
1816
|
+
uniform float u_materialEnvironmentSpecularScale;
|
|
1817
|
+
uniform float u_environmentMapTextureRotation;
|
|
1818
|
+
uniform float u_environmentMapTextureMipCount;
|
|
1819
|
+
uniform float u_environmentMapTextureEncoding;
|
|
1820
|
+
uniform sampler2D u_environmentBrdfLutTexture;
|
|
1821
|
+
uniform float u_environmentBrdfLutEnabled;
|
|
1822
|
+
uniform vec3 u_emissiveColor;
|
|
1823
|
+
uniform float u_emissiveStrength;
|
|
1824
|
+
uniform float u_clearcoatFactor;
|
|
1825
|
+
uniform float u_clearcoatRoughnessFactor;
|
|
1826
|
+
uniform float u_transmissionFactor;
|
|
1827
|
+
uniform float u_diffuseTransmissionFactor;
|
|
1828
|
+
uniform vec3 u_diffuseTransmissionColorFactor;
|
|
1829
|
+
uniform float u_transmissionFallbackEnergy;
|
|
1830
|
+
uniform float u_volumeThicknessFactor;
|
|
1831
|
+
uniform float u_volumeAttenuationDistance;
|
|
1832
|
+
uniform vec3 u_volumeAttenuationColor;
|
|
1833
|
+
uniform float u_transmissionParallaxStrength;
|
|
1834
|
+
uniform vec3 u_transmissionParallaxBoxMin;
|
|
1835
|
+
uniform vec3 u_transmissionParallaxBoxMax;
|
|
1836
|
+
uniform float u_transmissionBounceCount;
|
|
1837
|
+
uniform float u_transmissionCausticStrength;
|
|
1838
|
+
#ifndef A3D_PBR_DISABLE_TRANSMISSION_BACKDROP
|
|
1839
|
+
uniform sampler2D u_transmissionBackdropTexture;
|
|
1840
|
+
uniform float u_transmissionBackdropEnabled;
|
|
1841
|
+
uniform float u_transmissionBackdropStrength;
|
|
1842
|
+
uniform vec2 u_transmissionBackdropResolution;
|
|
1843
|
+
uniform float u_transmissionBackdropMipCount;
|
|
1844
|
+
uniform float u_transmissionBackdropRefractionScale;
|
|
1845
|
+
#endif
|
|
1846
|
+
uniform float u_ior;
|
|
1847
|
+
uniform float u_specularFactor;
|
|
1848
|
+
uniform vec3 u_specularColorFactor;
|
|
1849
|
+
uniform vec3 u_sheenColorFactor;
|
|
1850
|
+
uniform float u_sheenRoughnessFactor;
|
|
1851
|
+
uniform float u_anisotropyStrength;
|
|
1852
|
+
uniform float u_anisotropyRotation;
|
|
1853
|
+
uniform float u_iridescenceFactor;
|
|
1854
|
+
uniform float u_iridescenceIor;
|
|
1855
|
+
uniform float u_iridescenceThicknessMinimum;
|
|
1856
|
+
uniform float u_iridescenceThicknessMaximum;
|
|
1857
|
+
uniform float u_dispersion;
|
|
1858
|
+
uniform float u_lightCount;
|
|
1859
|
+
uniform vec4 u_lightData[64];
|
|
1860
|
+
uniform sampler2D u_shadowMapTexture;
|
|
1861
|
+
uniform float u_shadowMapEnabled;
|
|
1862
|
+
uniform mat4 u_shadowMapMatrix;
|
|
1863
|
+
uniform float u_shadowMapStrength;
|
|
1864
|
+
uniform float u_shadowMapBias;
|
|
1865
|
+
uniform float u_shadowMapSlopeBias;
|
|
1866
|
+
uniform vec2 u_shadowMapTexelSize;
|
|
1867
|
+
uniform float u_shadowPcfSampleCount;
|
|
1868
|
+
uniform vec4 u_shadowPcfSamples[32];
|
|
1869
|
+
uniform sampler2D u_pointShadowMapTexture;
|
|
1870
|
+
uniform float u_pointShadowMapEnabled;
|
|
1871
|
+
uniform vec3 u_pointShadowLightPosition;
|
|
1872
|
+
uniform float u_pointShadowRange;
|
|
1873
|
+
uniform mat4 u_pointShadowFaceMatrices[6];
|
|
1874
|
+
uniform vec4 u_pointShadowFaceRects[6];
|
|
1875
|
+
uniform float u_pointShadowStrength;
|
|
1876
|
+
uniform float u_pointShadowBias;
|
|
1877
|
+
uniform float u_pointShadowSlopeBias;
|
|
1878
|
+
uniform vec2 u_pointShadowTexelSize;
|
|
1879
|
+
uniform float u_pointShadowPcfSampleCount;
|
|
1880
|
+
uniform vec4 u_pointShadowPcfSamples[32];
|
|
1881
|
+
uniform sampler2D u_baseColorTexture;
|
|
1882
|
+
uniform float u_baseColorTextureEnabled;
|
|
1883
|
+
uniform vec2 u_baseColorTextureOffset;
|
|
1884
|
+
uniform vec2 u_baseColorTextureScale;
|
|
1885
|
+
uniform float u_baseColorTextureRotation;
|
|
1886
|
+
uniform float u_baseColorTextureTexCoord;
|
|
1887
|
+
uniform vec2 u_baseColorTextureWrap;
|
|
1888
|
+
uniform sampler2D u_normalTexture;
|
|
1889
|
+
uniform vec2 u_normalTextureOffset;
|
|
1890
|
+
uniform vec2 u_normalTextureScale;
|
|
1891
|
+
uniform float u_normalTextureRotation;
|
|
1892
|
+
uniform float u_normalTextureTexCoord;
|
|
1893
|
+
uniform vec2 u_normalTextureWrap;
|
|
1894
|
+
uniform float u_normalTextureEnabled;
|
|
1895
|
+
uniform sampler2D u_emissiveTexture;
|
|
1896
|
+
uniform float u_emissiveTextureEnabled;
|
|
1897
|
+
uniform vec2 u_emissiveTextureOffset;
|
|
1898
|
+
uniform vec2 u_emissiveTextureScale;
|
|
1899
|
+
uniform float u_emissiveTextureRotation;
|
|
1900
|
+
uniform float u_emissiveTextureTexCoord;
|
|
1901
|
+
uniform vec2 u_emissiveTextureWrap;
|
|
1902
|
+
uniform sampler2D u_metallicRoughnessTexture;
|
|
1903
|
+
uniform float u_metallicRoughnessTextureEnabled;
|
|
1904
|
+
uniform vec2 u_metallicRoughnessTextureOffset;
|
|
1905
|
+
uniform vec2 u_metallicRoughnessTextureScale;
|
|
1906
|
+
uniform float u_metallicRoughnessTextureRotation;
|
|
1907
|
+
uniform float u_metallicRoughnessTextureTexCoord;
|
|
1908
|
+
uniform vec2 u_metallicRoughnessTextureWrap;
|
|
1909
|
+
uniform sampler2D u_occlusionTexture;
|
|
1910
|
+
uniform float u_occlusionTextureEnabled;
|
|
1911
|
+
uniform vec2 u_occlusionTextureOffset;
|
|
1912
|
+
uniform vec2 u_occlusionTextureScale;
|
|
1913
|
+
uniform float u_occlusionTextureRotation;
|
|
1914
|
+
uniform float u_occlusionTextureTexCoord;
|
|
1915
|
+
uniform vec2 u_occlusionTextureWrap;
|
|
1916
|
+
uniform float u_occlusionStrength;
|
|
1917
|
+
uniform float u_clearcoatNormalScale;
|
|
1918
|
+
#ifdef A3D_PBR_CLEARCOAT_TEXTURES
|
|
1919
|
+
uniform sampler2D u_clearcoatTexture;
|
|
1920
|
+
uniform float u_clearcoatTextureEnabled;
|
|
1921
|
+
uniform vec2 u_clearcoatTextureOffset;
|
|
1922
|
+
uniform vec2 u_clearcoatTextureScale;
|
|
1923
|
+
uniform float u_clearcoatTextureRotation;
|
|
1924
|
+
uniform float u_clearcoatTextureTexCoord;
|
|
1925
|
+
uniform vec2 u_clearcoatTextureWrap;
|
|
1926
|
+
uniform sampler2D u_clearcoatRoughnessTexture;
|
|
1927
|
+
uniform float u_clearcoatRoughnessTextureEnabled;
|
|
1928
|
+
uniform vec2 u_clearcoatRoughnessTextureOffset;
|
|
1929
|
+
uniform vec2 u_clearcoatRoughnessTextureScale;
|
|
1930
|
+
uniform float u_clearcoatRoughnessTextureRotation;
|
|
1931
|
+
uniform float u_clearcoatRoughnessTextureTexCoord;
|
|
1932
|
+
uniform vec2 u_clearcoatRoughnessTextureWrap;
|
|
1933
|
+
uniform sampler2D u_clearcoatNormalTexture;
|
|
1934
|
+
uniform float u_clearcoatNormalTextureEnabled;
|
|
1935
|
+
uniform vec2 u_clearcoatNormalTextureOffset;
|
|
1936
|
+
uniform vec2 u_clearcoatNormalTextureScale;
|
|
1937
|
+
uniform float u_clearcoatNormalTextureRotation;
|
|
1938
|
+
uniform float u_clearcoatNormalTextureTexCoord;
|
|
1939
|
+
uniform vec2 u_clearcoatNormalTextureWrap;
|
|
1940
|
+
#endif
|
|
1941
|
+
#ifdef A3D_PBR_TRANSMISSION_VOLUME_TEXTURES
|
|
1942
|
+
uniform sampler2D u_transmissionTexture;
|
|
1943
|
+
uniform float u_transmissionTextureEnabled;
|
|
1944
|
+
uniform vec2 u_transmissionTextureOffset;
|
|
1945
|
+
uniform vec2 u_transmissionTextureScale;
|
|
1946
|
+
uniform float u_transmissionTextureRotation;
|
|
1947
|
+
uniform float u_transmissionTextureTexCoord;
|
|
1948
|
+
uniform vec2 u_transmissionTextureWrap;
|
|
1949
|
+
uniform sampler2D u_diffuseTransmissionTexture;
|
|
1950
|
+
uniform float u_diffuseTransmissionTextureEnabled;
|
|
1951
|
+
uniform vec2 u_diffuseTransmissionTextureOffset;
|
|
1952
|
+
uniform vec2 u_diffuseTransmissionTextureScale;
|
|
1953
|
+
uniform float u_diffuseTransmissionTextureRotation;
|
|
1954
|
+
uniform float u_diffuseTransmissionTextureTexCoord;
|
|
1955
|
+
uniform vec2 u_diffuseTransmissionTextureWrap;
|
|
1956
|
+
uniform sampler2D u_diffuseTransmissionColorTexture;
|
|
1957
|
+
uniform float u_diffuseTransmissionColorTextureEnabled;
|
|
1958
|
+
uniform vec2 u_diffuseTransmissionColorTextureOffset;
|
|
1959
|
+
uniform vec2 u_diffuseTransmissionColorTextureScale;
|
|
1960
|
+
uniform float u_diffuseTransmissionColorTextureRotation;
|
|
1961
|
+
uniform float u_diffuseTransmissionColorTextureTexCoord;
|
|
1962
|
+
uniform vec2 u_diffuseTransmissionColorTextureWrap;
|
|
1963
|
+
uniform sampler2D u_volumeThicknessTexture;
|
|
1964
|
+
uniform float u_volumeThicknessTextureEnabled;
|
|
1965
|
+
uniform vec2 u_volumeThicknessTextureOffset;
|
|
1966
|
+
uniform vec2 u_volumeThicknessTextureScale;
|
|
1967
|
+
uniform float u_volumeThicknessTextureRotation;
|
|
1968
|
+
uniform float u_volumeThicknessTextureTexCoord;
|
|
1969
|
+
uniform vec2 u_volumeThicknessTextureWrap;
|
|
1970
|
+
#endif
|
|
1971
|
+
#ifdef A3D_PBR_SPECULAR_TEXTURES
|
|
1972
|
+
uniform sampler2D u_specularTexture;
|
|
1973
|
+
uniform float u_specularTextureEnabled;
|
|
1974
|
+
uniform vec2 u_specularTextureOffset;
|
|
1975
|
+
uniform vec2 u_specularTextureScale;
|
|
1976
|
+
uniform float u_specularTextureRotation;
|
|
1977
|
+
uniform float u_specularTextureTexCoord;
|
|
1978
|
+
uniform vec2 u_specularTextureWrap;
|
|
1979
|
+
uniform sampler2D u_specularColorTexture;
|
|
1980
|
+
uniform float u_specularColorTextureEnabled;
|
|
1981
|
+
uniform vec2 u_specularColorTextureOffset;
|
|
1982
|
+
uniform vec2 u_specularColorTextureScale;
|
|
1983
|
+
uniform float u_specularColorTextureRotation;
|
|
1984
|
+
uniform float u_specularColorTextureTexCoord;
|
|
1985
|
+
uniform vec2 u_specularColorTextureWrap;
|
|
1986
|
+
#endif
|
|
1987
|
+
#ifdef A3D_PBR_SPECULAR_SHEEN_ANISOTROPY_TEXTURES
|
|
1988
|
+
uniform sampler2D u_sheenColorTexture;
|
|
1989
|
+
uniform float u_sheenColorTextureEnabled;
|
|
1990
|
+
uniform vec2 u_sheenColorTextureOffset;
|
|
1991
|
+
uniform vec2 u_sheenColorTextureScale;
|
|
1992
|
+
uniform float u_sheenColorTextureRotation;
|
|
1993
|
+
uniform float u_sheenColorTextureTexCoord;
|
|
1994
|
+
uniform vec2 u_sheenColorTextureWrap;
|
|
1995
|
+
uniform sampler2D u_sheenRoughnessTexture;
|
|
1996
|
+
uniform float u_sheenRoughnessTextureEnabled;
|
|
1997
|
+
uniform vec2 u_sheenRoughnessTextureOffset;
|
|
1998
|
+
uniform vec2 u_sheenRoughnessTextureScale;
|
|
1999
|
+
uniform float u_sheenRoughnessTextureRotation;
|
|
2000
|
+
uniform float u_sheenRoughnessTextureTexCoord;
|
|
2001
|
+
uniform vec2 u_sheenRoughnessTextureWrap;
|
|
2002
|
+
uniform sampler2D u_anisotropyTexture;
|
|
2003
|
+
uniform float u_anisotropyTextureEnabled;
|
|
2004
|
+
uniform vec2 u_anisotropyTextureOffset;
|
|
2005
|
+
uniform vec2 u_anisotropyTextureScale;
|
|
2006
|
+
uniform float u_anisotropyTextureRotation;
|
|
2007
|
+
uniform float u_anisotropyTextureTexCoord;
|
|
2008
|
+
uniform vec2 u_anisotropyTextureWrap;
|
|
2009
|
+
#endif
|
|
2010
|
+
#ifdef A3D_PBR_IRIDESCENCE_TEXTURES
|
|
2011
|
+
uniform sampler2D u_iridescenceTexture;
|
|
2012
|
+
uniform float u_iridescenceTextureEnabled;
|
|
2013
|
+
uniform vec2 u_iridescenceTextureOffset;
|
|
2014
|
+
uniform vec2 u_iridescenceTextureScale;
|
|
2015
|
+
uniform float u_iridescenceTextureRotation;
|
|
2016
|
+
uniform float u_iridescenceTextureTexCoord;
|
|
2017
|
+
uniform vec2 u_iridescenceTextureWrap;
|
|
2018
|
+
uniform sampler2D u_iridescenceThicknessTexture;
|
|
2019
|
+
uniform float u_iridescenceThicknessTextureEnabled;
|
|
2020
|
+
uniform vec2 u_iridescenceThicknessTextureOffset;
|
|
2021
|
+
uniform vec2 u_iridescenceThicknessTextureScale;
|
|
2022
|
+
uniform float u_iridescenceThicknessTextureRotation;
|
|
2023
|
+
uniform float u_iridescenceThicknessTextureTexCoord;
|
|
2024
|
+
uniform vec2 u_iridescenceThicknessTextureWrap;
|
|
2025
|
+
#endif
|
|
2026
|
+
uniform float u_normalScale;
|
|
2027
|
+
uniform float u_outputColorSpace;
|
|
2028
|
+
uniform vec3 u_cameraPosition;
|
|
2029
|
+
uniform float u_environmentFogEnabled;
|
|
2030
|
+
uniform float u_environmentFogMode;
|
|
2031
|
+
uniform vec3 u_environmentFogColor;
|
|
2032
|
+
uniform float u_environmentFogNear;
|
|
2033
|
+
uniform float u_environmentFogFar;
|
|
2034
|
+
uniform float u_environmentFogDensity;
|
|
2035
|
+
uniform float u_environmentFogHeightFalloff;
|
|
2036
|
+
uniform float u_environmentFogHeightReference;
|
|
2037
|
+
uniform float u_environmentFogMaxOpacity;
|
|
2038
|
+
in vec3 v_normal;
|
|
2039
|
+
in vec4 v_tangent;
|
|
2040
|
+
in vec3 v_worldPosition;
|
|
2041
|
+
in vec2 v_uv;
|
|
2042
|
+
in vec2 v_uv1;
|
|
2043
|
+
in vec4 v_vertexColor;
|
|
2044
|
+
out vec4 outColor;
|
|
2045
|
+
#include <environment_fog_common>
|
|
2046
|
+
vec2 a3dTexturedPbrSelectUv(float texCoord) {
|
|
2047
|
+
return texCoord > 0.5 ? v_uv1 : v_uv;
|
|
2048
|
+
}
|
|
2049
|
+
vec2 a3dTexturedPbrUv(float texCoord, vec2 offset, vec2 scale, float rotation) {
|
|
2050
|
+
vec2 uv = a3dTexturedPbrSelectUv(texCoord);
|
|
2051
|
+
vec2 scaledUv = uv * scale;
|
|
2052
|
+
float c = cos(rotation);
|
|
2053
|
+
float s = sin(rotation);
|
|
2054
|
+
return vec2(scaledUv.x * c - scaledUv.y * s, scaledUv.x * s + scaledUv.y * c) + offset;
|
|
2055
|
+
}
|
|
2056
|
+
float a3dTexturedPbrWrapCoordinate(float value, float mode) {
|
|
2057
|
+
if (mode > 1.5) {
|
|
2058
|
+
float repeated = mod(value, 2.0);
|
|
2059
|
+
return repeated <= 1.0 ? repeated : 2.0 - repeated;
|
|
2060
|
+
}
|
|
2061
|
+
if (mode > 0.5) return fract(value);
|
|
2062
|
+
return clamp(value, 0.0, 1.0);
|
|
2063
|
+
}
|
|
2064
|
+
vec2 a3dTexturedPbrWrapUv(vec2 uv, vec2 wrapMode) {
|
|
2065
|
+
return vec2(
|
|
2066
|
+
a3dTexturedPbrWrapCoordinate(uv.x, wrapMode.x),
|
|
2067
|
+
a3dTexturedPbrWrapCoordinate(uv.y, wrapMode.y)
|
|
2068
|
+
);
|
|
2069
|
+
}
|
|
2070
|
+
vec3 a3dTexturedPbrEncodeOutput(vec3 linearColor) {
|
|
2071
|
+
vec3 color = max(linearColor, vec3(0.0));
|
|
2072
|
+
vec3 filmic = clamp((color * (2.51 * color + 0.03)) / (color * (2.43 * color + 0.59) + 0.14), vec3(0.0), vec3(1.0));
|
|
2073
|
+
vec3 srgb = pow(filmic, vec3(1.0 / 2.2));
|
|
2074
|
+
return mix(color, srgb, step(0.5, u_outputColorSpace));
|
|
2075
|
+
}
|
|
2076
|
+
vec3 a3dTexturedPbrDecodeSrgb(vec3 encodedColor) {
|
|
2077
|
+
return max(encodedColor, vec3(0.0));
|
|
2078
|
+
}
|
|
2079
|
+
vec3 a3dTexturedPbrDecodeEnvironmentRgbe(vec4 encodedSample) {
|
|
2080
|
+
float exponent = encodedSample.a * 255.0;
|
|
2081
|
+
float scale = exponent <= 0.0 ? 0.0 : exp2(exponent - 128.0) * (255.0 / 256.0);
|
|
2082
|
+
return max(encodedSample.rgb * scale, vec3(0.0));
|
|
2083
|
+
}
|
|
2084
|
+
vec3 a3dTexturedPbrDecodeEnvironmentSample(vec4 encodedSample) {
|
|
2085
|
+
if (u_environmentMapTextureEncoding > 1.5) return max(encodedSample.rgb, vec3(0.0));
|
|
2086
|
+
if (u_environmentMapTextureEncoding > 0.5) return a3dTexturedPbrDecodeEnvironmentRgbe(encodedSample);
|
|
2087
|
+
return a3dTexturedPbrDecodeSrgb(encodedSample.rgb);
|
|
2088
|
+
}
|
|
2089
|
+
vec3 a3dTexturedPbrBoundHdrTransmissionRadiance(vec3 radiance) {
|
|
2090
|
+
vec3 nonNegative = max(radiance, vec3(0.0));
|
|
2091
|
+
return nonNegative / (vec3(1.0) + max(nonNegative - vec3(1.0), vec3(0.0)));
|
|
2092
|
+
}
|
|
2093
|
+
vec3 a3dTexturedPbrBoundHdrSpecularRadiance(vec3 radiance) {
|
|
2094
|
+
vec3 nonNegative = max(radiance, vec3(0.0));
|
|
2095
|
+
vec3 softKnee = nonNegative / (vec3(1.0) + max(nonNegative - vec3(1.0), vec3(0.0)) * 0.62);
|
|
2096
|
+
float maxChannel = max(max(softKnee.r, softKnee.g), softKnee.b);
|
|
2097
|
+
return maxChannel > 1.35 ? softKnee * (1.35 / maxChannel) : softKnee;
|
|
2098
|
+
}
|
|
2099
|
+
vec3 a3dTexturedPbrClampSampledSpecularEdgeEnergy(vec3 radiance, float nDotV, float roughness) {
|
|
2100
|
+
float faceOn = smoothstep(0.2, 0.72, clamp(nDotV, 0.0, 1.0));
|
|
2101
|
+
float roughEnergy = mix(0.35, 0.88, clamp(roughness, 0.0, 1.0));
|
|
2102
|
+
float edgeCap = mix(0.035, 0.86, faceOn) * roughEnergy;
|
|
2103
|
+
float edgeScale = mix(0.045, 0.78, faceOn);
|
|
2104
|
+
vec3 bounded = min(radiance * edgeScale, vec3(edgeCap));
|
|
2105
|
+
return max(bounded, vec3(0.0));
|
|
2106
|
+
}
|
|
2107
|
+
vec3 a3dTexturedPbrApplyNormalSample(vec3 baseNormal, vec4 tangentFrame, vec3 sampled, float scale) {
|
|
2108
|
+
vec3 n = normalize(baseNormal);
|
|
2109
|
+
vec3 tangent = normalize(tangentFrame.xyz);
|
|
2110
|
+
vec3 bitangent = normalize(cross(n, tangent) * tangentFrame.w);
|
|
2111
|
+
return normalize(tangent * sampled.x * scale + bitangent * sampled.y * scale + n * max(sampled.z, 0.001));
|
|
2112
|
+
}
|
|
2113
|
+
vec3 a3dTexturedPbrNormal(vec3 baseNormal, vec4 tangentFrame, vec2 uv) {
|
|
2114
|
+
vec3 sampled = texture(u_normalTexture, uv).xyz * 2.0 - 1.0;
|
|
2115
|
+
return a3dTexturedPbrApplyNormalSample(baseNormal, tangentFrame, sampled, u_normalScale);
|
|
2116
|
+
}
|
|
2117
|
+
float a3dTexturedPbrShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
2118
|
+
if (u_shadowMapEnabled < 0.5) return 1.0;
|
|
2119
|
+
vec4 lightPosition = u_shadowMapMatrix * vec4(worldPosition, 1.0);
|
|
2120
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
2121
|
+
vec2 uv = projected.xy * 0.5 + 0.5;
|
|
2122
|
+
if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return 1.0;
|
|
2123
|
+
vec3 receiverNormal = normalize(normal);
|
|
2124
|
+
vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);
|
|
2125
|
+
float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);
|
|
2126
|
+
float slopeReceiverBias = (1.0 - normalDotLight) * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);
|
|
2127
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_shadowMapBias - slopeReceiverBias;
|
|
2128
|
+
float shadowed = 0.0;
|
|
2129
|
+
float totalWeight = 0.0;
|
|
2130
|
+
int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);
|
|
2131
|
+
for (int i = 0; i < 32; ++i) {
|
|
2132
|
+
if (i >= sampleCount) break;
|
|
2133
|
+
vec4 sampleData = u_shadowPcfSamples[i];
|
|
2134
|
+
float weight = max(sampleData.z, 0.0);
|
|
2135
|
+
vec2 offset = sampleData.xy * u_shadowMapTexelSize;
|
|
2136
|
+
float storedDepth = texture(u_shadowMapTexture, uv + offset).r;
|
|
2137
|
+
shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;
|
|
2138
|
+
totalWeight += weight;
|
|
2139
|
+
}
|
|
2140
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
2141
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_shadowMapStrength, 0.0, 1.0));
|
|
2142
|
+
}
|
|
2143
|
+
float a3dTexturedPbrPointShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
2144
|
+
if (u_pointShadowMapEnabled < 0.5) return 1.0;
|
|
2145
|
+
vec3 lightToFragment = worldPosition - u_pointShadowLightPosition;
|
|
2146
|
+
vec3 absoluteDirection = abs(lightToFragment);
|
|
2147
|
+
int faceIndex = absoluteDirection.x >= absoluteDirection.y && absoluteDirection.x >= absoluteDirection.z ? (lightToFragment.x >= 0.0 ? 0 : 1) : (absoluteDirection.y >= absoluteDirection.z ? (lightToFragment.y >= 0.0 ? 2 : 3) : (lightToFragment.z >= 0.0 ? 4 : 5));
|
|
2148
|
+
vec4 lightPosition = u_pointShadowFaceMatrices[faceIndex] * vec4(worldPosition, 1.0);
|
|
2149
|
+
vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);
|
|
2150
|
+
vec2 localUv = projected.xy * 0.5 + 0.5;
|
|
2151
|
+
if (localUv.x < 0.0 || localUv.x > 1.0 || localUv.y < 0.0 || localUv.y > 1.0 || length(lightToFragment) > u_pointShadowRange) return 1.0;
|
|
2152
|
+
vec4 rect = u_pointShadowFaceRects[faceIndex];
|
|
2153
|
+
vec2 uv = rect.xy + localUv * rect.zw;
|
|
2154
|
+
float normalDotLight = clamp(abs(dot(normalize(normal), normalize(lightDirection))), 0.0, 1.0);
|
|
2155
|
+
float receiverDepth = projected.z * 0.5 + 0.5 - u_pointShadowBias - (1.0 - normalDotLight) * u_pointShadowSlopeBias * max(u_pointShadowTexelSize.x, u_pointShadowTexelSize.y);
|
|
2156
|
+
float shadowed = 0.0;
|
|
2157
|
+
float totalWeight = 0.0;
|
|
2158
|
+
int sampleCount = clamp(int(u_pointShadowPcfSampleCount), 1, 32);
|
|
2159
|
+
for (int i = 0; i < 32; ++i) {
|
|
2160
|
+
if (i >= sampleCount) break;
|
|
2161
|
+
vec4 sampleData = u_pointShadowPcfSamples[i];
|
|
2162
|
+
float weight = max(sampleData.z, 0.0);
|
|
2163
|
+
shadowed += (receiverDepth > texture(u_pointShadowMapTexture, uv + sampleData.xy * u_pointShadowTexelSize).r ? 1.0 : 0.0) * weight;
|
|
2164
|
+
totalWeight += weight;
|
|
2165
|
+
}
|
|
2166
|
+
float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;
|
|
2167
|
+
return mix(1.0, 1.0 - occlusion, clamp(u_pointShadowStrength, 0.0, 1.0));
|
|
2168
|
+
}
|
|
2169
|
+
vec2 a3dTexturedPbrEnvironmentUv(vec3 direction, float rotation) {
|
|
2170
|
+
vec3 d = normalize(direction);
|
|
2171
|
+
float u = atan(d.z, d.x) / 6.28318530718 + 0.5 + rotation;
|
|
2172
|
+
float v = acos(clamp(d.y, -1.0, 1.0)) / 3.14159265359;
|
|
2173
|
+
return vec2(fract(u), clamp(v, 0.0, 1.0));
|
|
2174
|
+
}
|
|
2175
|
+
vec3 a3dTexturedPbrRotateEnvironmentDirection(vec3 direction, float rotation) {
|
|
2176
|
+
float angle = rotation * 6.28318530718;
|
|
2177
|
+
float c = cos(angle);
|
|
2178
|
+
float s = sin(angle);
|
|
2179
|
+
vec3 d = normalize(direction);
|
|
2180
|
+
return normalize(vec3(c * d.x - s * d.z, d.y, s * d.x + c * d.z));
|
|
2181
|
+
}
|
|
2182
|
+
vec4 a3dTexturedPbrEnvironmentSampleRaw(vec3 direction, float lod) {
|
|
2183
|
+
vec4 equirectSample = textureLod(u_environmentMapTexture, a3dTexturedPbrEnvironmentUv(direction, u_environmentMapTextureRotation), lod);
|
|
2184
|
+
vec4 cubeSample = textureLod(u_environmentCubeMapTexture, a3dTexturedPbrRotateEnvironmentDirection(direction, u_environmentMapTextureRotation), lod);
|
|
2185
|
+
return mix(equirectSample, cubeSample, step(0.5, u_environmentCubeMapTextureEnabled));
|
|
2186
|
+
}
|
|
2187
|
+
vec3 a3dTexturedPbrBoxProjectedDirection(vec3 worldPosition, vec3 direction, vec3 boxMin, vec3 boxMax) {
|
|
2188
|
+
vec3 safeDirection = normalize(direction);
|
|
2189
|
+
vec3 invDirection = 1.0 / max(abs(safeDirection), vec3(0.0001)) * sign(safeDirection);
|
|
2190
|
+
vec3 firstPlane = mix(boxMin, boxMax, step(vec3(0.0), safeDirection));
|
|
2191
|
+
vec3 distances = (firstPlane - worldPosition) * invDirection;
|
|
2192
|
+
float travel = min(min(
|
|
2193
|
+
distances.x > 0.0 ? distances.x : 100000.0,
|
|
2194
|
+
distances.y > 0.0 ? distances.y : 100000.0
|
|
2195
|
+
), distances.z > 0.0 ? distances.z : 100000.0);
|
|
2196
|
+
vec3 hitPosition = worldPosition + safeDirection * travel;
|
|
2197
|
+
vec3 boxCenter = (boxMin + boxMax) * 0.5;
|
|
2198
|
+
return normalize(hitPosition - boxCenter);
|
|
2199
|
+
}
|
|
2200
|
+
vec3 a3dTexturedPbrEnvironmentDiffuseInput(vec3 normal) {
|
|
2201
|
+
float environmentHemi = mix(0.35, 1.0, clamp(normal.y * 0.5 + 0.5, 0.0, 1.0));
|
|
2202
|
+
vec3 ambientEnvironment = u_environmentColor * u_environmentIntensity * environmentHemi;
|
|
2203
|
+
float proceduralEnvironmentWeight = step(0.0001, u_environmentMapIntensity);
|
|
2204
|
+
float skyBlend = clamp(normal.y * 0.5 + 0.5, 0.0, 1.0);
|
|
2205
|
+
float horizonBlend = 1.0 - abs(normal.y);
|
|
2206
|
+
vec3 proceduralDiffuse = mix(u_environmentGroundColor, u_environmentSkyColor, skyBlend);
|
|
2207
|
+
proceduralDiffuse = mix(proceduralDiffuse, u_environmentHorizonColor, clamp(horizonBlend, 0.0, 1.0) * 0.55);
|
|
2208
|
+
vec3 environmentDiffuse = mix(ambientEnvironment, proceduralDiffuse * u_environmentMapIntensity, proceduralEnvironmentWeight);
|
|
2209
|
+
float sampledEnvironmentWeight = step(0.0001, u_environmentMapTextureEnabled * u_environmentMapTextureIntensity);
|
|
2210
|
+
float diffuseEnvironmentLod = max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
2211
|
+
vec3 sampledDiffuse = a3dTexturedPbrDecodeEnvironmentSample(a3dTexturedPbrEnvironmentSampleRaw(normal, diffuseEnvironmentLod));
|
|
2212
|
+
return mix(environmentDiffuse, environmentDiffuse * 0.18 + sampledDiffuse * u_environmentMapTextureIntensity * 0.92, sampledEnvironmentWeight);
|
|
2213
|
+
}
|
|
2214
|
+
vec3 a3dTexturedPbrEnvironmentSpecularInput(vec3 normal, vec3 viewDirection, float roughness) {
|
|
2215
|
+
float materialEnvironmentSpecularScale = clamp(u_materialEnvironmentSpecularScale, 0.0, 1.0);
|
|
2216
|
+
float materialFiniteSpecularScale = sqrt(materialEnvironmentSpecularScale);
|
|
2217
|
+
float proceduralEnvironmentWeight = step(0.0001, u_environmentMapIntensity);
|
|
2218
|
+
vec3 reflectionDirection = reflect(-viewDirection, normal);
|
|
2219
|
+
float clampedRoughness = clamp(roughness, 0.0, 1.0);
|
|
2220
|
+
float nDotV = clamp(dot(normal, viewDirection), 0.0, 1.0);
|
|
2221
|
+
float faceOnSpecularGate = smoothstep(0.1, 0.42, nDotV);
|
|
2222
|
+
float reflectionBand = pow(clamp(reflectionDirection.y * 0.5 + 0.5, 0.0, 1.0), mix(18.0, 2.0, clampedRoughness));
|
|
2223
|
+
float roughEnvironmentFloor = mix(0.04, 0.38, clampedRoughness);
|
|
2224
|
+
float proceduralSpecularResponse = max(reflectionBand, roughEnvironmentFloor);
|
|
2225
|
+
float horizonStripe = pow(clamp(1.0 - abs(reflectionDirection.y), 0.0, 1.0), mix(14.0, 3.0, clampedRoughness));
|
|
2226
|
+
float sideStripe = pow(clamp(abs(reflectionDirection.x), 0.0, 1.0), mix(10.0, 3.0, clampedRoughness)) * smoothstep(0.0, 0.72, 1.0 - abs(reflectionDirection.y));
|
|
2227
|
+
float overheadStripe = pow(clamp(reflectionDirection.y * 0.5 + 0.5, 0.0, 1.0), mix(22.0, 4.0, clampedRoughness));
|
|
2228
|
+
vec3 proceduralSpecularColor = u_environmentSpecularColor * proceduralSpecularResponse
|
|
2229
|
+
+ u_environmentHorizonColor * horizonStripe * 0.18
|
|
2230
|
+
+ u_environmentSkyColor * overheadStripe * 0.12
|
|
2231
|
+
+ u_environmentGroundColor * sideStripe * 0.09;
|
|
2232
|
+
vec3 proceduralSpecular = proceduralSpecularColor * u_environmentSpecularIntensity * proceduralEnvironmentWeight;
|
|
2233
|
+
float sampledEnvironmentWeight = step(0.0001, u_environmentMapTextureEnabled * u_environmentMapTextureSpecularIntensity);
|
|
2234
|
+
float environmentLod = clampedRoughness * max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
2235
|
+
vec3 sampledSpecular = a3dTexturedPbrBoundHdrSpecularRadiance(a3dTexturedPbrDecodeEnvironmentSample(a3dTexturedPbrEnvironmentSampleRaw(reflectionDirection, environmentLod)));
|
|
2236
|
+
vec2 brdfLut = texture(u_environmentBrdfLutTexture, vec2(nDotV, clampedRoughness)).rg;
|
|
2237
|
+
sampledSpecular = a3dTexturedPbrClampSampledSpecularEdgeEnergy(sampledSpecular, nDotV, clampedRoughness);
|
|
2238
|
+
sampledSpecular *= u_environmentMapTextureSpecularIntensity * sampledEnvironmentWeight * mix(0.84, 0.58, clampedRoughness);
|
|
2239
|
+
float proceduralSpecularScale = materialFiniteSpecularScale * mix(0.34, 1.0, faceOnSpecularGate);
|
|
2240
|
+
float sampledSpecularScale = materialEnvironmentSpecularScale * mix(0.18, 1.0, faceOnSpecularGate);
|
|
2241
|
+
return proceduralSpecular * proceduralSpecularScale + sampledSpecular * sampledSpecularScale;
|
|
2242
|
+
}
|
|
2243
|
+
vec3 a3dTexturedPbrIridescenceColor(float minimumThickness, float maximumThickness, float iridescenceIor) {
|
|
2244
|
+
float thickness = clamp((minimumThickness + maximumThickness) * 0.5, 0.0, 1200.0);
|
|
2245
|
+
float phase = clamp((thickness - 100.0) / 1100.0, 0.0, 1.0) * 6.2831853;
|
|
2246
|
+
float iorShift = clamp((iridescenceIor - 1.0) / 2.0, 0.0, 1.0) * 0.65;
|
|
2247
|
+
return clamp(0.5 + 0.5 * cos(phase + iorShift + vec3(0.0, 2.0943951, 4.1887902)), vec3(0.0), vec3(1.0));
|
|
2248
|
+
}
|
|
2249
|
+
vec3 a3dTexturedPbrExtensionDirectLight(
|
|
2250
|
+
vec3 normal,
|
|
2251
|
+
vec3 viewDirection,
|
|
2252
|
+
vec3 lightDirection,
|
|
2253
|
+
vec3 lightColor,
|
|
2254
|
+
float lightIntensity,
|
|
2255
|
+
float clearcoat,
|
|
2256
|
+
float clearcoatRoughness,
|
|
2257
|
+
vec3 sheenColor,
|
|
2258
|
+
float sheenRoughness,
|
|
2259
|
+
float anisotropy,
|
|
2260
|
+
float anisotropyRotation,
|
|
2261
|
+
float iridescence,
|
|
2262
|
+
float iridescenceIor,
|
|
2263
|
+
float iridescenceThicknessMinimum,
|
|
2264
|
+
float iridescenceThicknessMaximum
|
|
2265
|
+
) {
|
|
2266
|
+
vec3 N = normalize(normal);
|
|
2267
|
+
vec3 V = normalize(viewDirection);
|
|
2268
|
+
vec3 L = normalize(lightDirection);
|
|
2269
|
+
vec3 H = normalize(V + L);
|
|
2270
|
+
float nDotL = a3dSaturate(dot(N, L));
|
|
2271
|
+
float nDotV = max(a3dSaturate(dot(N, V)), A3D_EPSILON);
|
|
2272
|
+
float nDotH = a3dSaturate(dot(N, H));
|
|
2273
|
+
float vDotH = a3dSaturate(dot(V, H));
|
|
2274
|
+
float clearcoatRough = clamp(clearcoatRoughness, 0.18, 1.0);
|
|
2275
|
+
vec3 clearcoatF = a3dFresnelSchlick(vec3(0.04), vDotH);
|
|
2276
|
+
float clearcoatD = a3dDistributionGGX(nDotH, clearcoatRough);
|
|
2277
|
+
float clearcoatG = a3dGeometrySmithGGXCorrelated(nDotV, nDotL, clearcoatRough);
|
|
2278
|
+
vec3 clearcoatLobe = clearcoatF * clearcoatD * clearcoatG * clamp(clearcoat, 0.0, 1.0) * 0.12;
|
|
2279
|
+
float sheenStrength = (1.0 - clamp(sheenRoughness, 0.0, 1.0)) * pow(a3dSaturate(1.0 - vDotH), 5.0);
|
|
2280
|
+
vec3 sheenLobe = clamp(sheenColor, vec3(0.0), vec3(1.0)) * sheenStrength * 0.18;
|
|
2281
|
+
vec3 anisotropyAxis = normalize(vec3(cos(anisotropyRotation), 0.0, sin(anisotropyRotation)));
|
|
2282
|
+
float anisotropyBand = pow(abs(dot(H, anisotropyAxis)), mix(28.0, 6.0, clearcoatRough));
|
|
2283
|
+
vec3 anisotropyLobe = vec3(clamp(anisotropy, 0.0, 1.0) * anisotropyBand * 0.055);
|
|
2284
|
+
vec3 iridescenceColor = a3dTexturedPbrIridescenceColor(iridescenceThicknessMinimum, iridescenceThicknessMaximum, iridescenceIor);
|
|
2285
|
+
vec3 iridescenceLobe = iridescenceColor * clamp(iridescence, 0.0, 1.0) * clearcoatF * pow(a3dSaturate(1.0 - nDotV), 2.0) * 0.12;
|
|
2286
|
+
return (clearcoatLobe + sheenLobe + anisotropyLobe + iridescenceLobe) * lightColor * lightIntensity * nDotL;
|
|
2287
|
+
}
|
|
2288
|
+
vec3 a3dTexturedPbrExtensionEnvironmentLight(
|
|
2289
|
+
vec3 normal,
|
|
2290
|
+
vec3 viewDirection,
|
|
2291
|
+
vec3 specularRadiance,
|
|
2292
|
+
float clearcoat,
|
|
2293
|
+
float clearcoatRoughness,
|
|
2294
|
+
vec3 sheenColor,
|
|
2295
|
+
float sheenRoughness,
|
|
2296
|
+
float anisotropy,
|
|
2297
|
+
float anisotropyRotation,
|
|
2298
|
+
float iridescence,
|
|
2299
|
+
float iridescenceIor,
|
|
2300
|
+
float iridescenceThicknessMinimum,
|
|
2301
|
+
float iridescenceThicknessMaximum
|
|
2302
|
+
) {
|
|
2303
|
+
float nDotV = max(a3dSaturate(dot(normalize(normal), normalize(viewDirection))), A3D_EPSILON);
|
|
2304
|
+
vec3 clearcoatF = a3dFresnelSchlickRoughness(vec3(0.04), nDotV, clamp(clearcoatRoughness, 0.18, 1.0));
|
|
2305
|
+
float faceOn = smoothstep(0.18, 0.68, nDotV);
|
|
2306
|
+
vec3 boundedSpecularRadiance = min(specularRadiance * mix(0.1, 0.82, faceOn), vec3(mix(0.08, 0.95, faceOn)));
|
|
2307
|
+
vec3 clearcoatLobe = boundedSpecularRadiance * clearcoatF * clamp(clearcoat, 0.0, 1.0) * 0.045;
|
|
2308
|
+
vec3 sheenLobe = clamp(sheenColor, vec3(0.0), vec3(1.0)) * (1.0 - clamp(sheenRoughness, 0.0, 1.0)) * pow(a3dSaturate(1.0 - nDotV), 5.0) * 0.12;
|
|
2309
|
+
float anisotropyBand = 0.5 + 0.5 * cos(anisotropyRotation * 2.0);
|
|
2310
|
+
vec3 anisotropyLobe = boundedSpecularRadiance * clamp(anisotropy, 0.0, 1.0) * mix(0.025, 0.07, anisotropyBand);
|
|
2311
|
+
vec3 iridescenceColor = a3dTexturedPbrIridescenceColor(iridescenceThicknessMinimum, iridescenceThicknessMaximum, iridescenceIor);
|
|
2312
|
+
vec3 iridescenceLobe = boundedSpecularRadiance * iridescenceColor * clamp(iridescence, 0.0, 1.0) * pow(a3dSaturate(1.0 - nDotV), 2.0) * 0.09;
|
|
2313
|
+
return clearcoatLobe + sheenLobe + anisotropyLobe + iridescenceLobe;
|
|
2314
|
+
}
|
|
2315
|
+
void main() {
|
|
2316
|
+
vec2 baseColorUv = a3dTexturedPbrUv(u_baseColorTextureTexCoord, u_baseColorTextureOffset, u_baseColorTextureScale, u_baseColorTextureRotation);
|
|
2317
|
+
vec2 normalUv = a3dTexturedPbrUv(u_normalTextureTexCoord, u_normalTextureOffset, u_normalTextureScale, u_normalTextureRotation);
|
|
2318
|
+
vec2 emissiveUv = a3dTexturedPbrUv(u_emissiveTextureTexCoord, u_emissiveTextureOffset, u_emissiveTextureScale, u_emissiveTextureRotation);
|
|
2319
|
+
vec2 metallicRoughnessUv = a3dTexturedPbrUv(u_metallicRoughnessTextureTexCoord, u_metallicRoughnessTextureOffset, u_metallicRoughnessTextureScale, u_metallicRoughnessTextureRotation);
|
|
2320
|
+
vec2 occlusionUv = a3dTexturedPbrUv(u_occlusionTextureTexCoord, u_occlusionTextureOffset, u_occlusionTextureScale, u_occlusionTextureRotation);
|
|
2321
|
+
#ifdef A3D_PBR_CLEARCOAT_TEXTURES
|
|
2322
|
+
vec2 clearcoatUv = a3dTexturedPbrUv(u_clearcoatTextureTexCoord, u_clearcoatTextureOffset, u_clearcoatTextureScale, u_clearcoatTextureRotation);
|
|
2323
|
+
vec2 clearcoatRoughnessUv = a3dTexturedPbrUv(u_clearcoatRoughnessTextureTexCoord, u_clearcoatRoughnessTextureOffset, u_clearcoatRoughnessTextureScale, u_clearcoatRoughnessTextureRotation);
|
|
2324
|
+
vec2 clearcoatNormalUv = a3dTexturedPbrUv(u_clearcoatNormalTextureTexCoord, u_clearcoatNormalTextureOffset, u_clearcoatNormalTextureScale, u_clearcoatNormalTextureRotation);
|
|
2325
|
+
#endif
|
|
2326
|
+
#ifdef A3D_PBR_TRANSMISSION_VOLUME_TEXTURES
|
|
2327
|
+
vec2 transmissionUv = a3dTexturedPbrUv(u_transmissionTextureTexCoord, u_transmissionTextureOffset, u_transmissionTextureScale, u_transmissionTextureRotation);
|
|
2328
|
+
vec2 diffuseTransmissionUv = a3dTexturedPbrUv(u_diffuseTransmissionTextureTexCoord, u_diffuseTransmissionTextureOffset, u_diffuseTransmissionTextureScale, u_diffuseTransmissionTextureRotation);
|
|
2329
|
+
vec2 diffuseTransmissionColorUv = a3dTexturedPbrUv(u_diffuseTransmissionColorTextureTexCoord, u_diffuseTransmissionColorTextureOffset, u_diffuseTransmissionColorTextureScale, u_diffuseTransmissionColorTextureRotation);
|
|
2330
|
+
vec2 volumeThicknessUv = a3dTexturedPbrUv(u_volumeThicknessTextureTexCoord, u_volumeThicknessTextureOffset, u_volumeThicknessTextureScale, u_volumeThicknessTextureRotation);
|
|
2331
|
+
#endif
|
|
2332
|
+
#ifdef A3D_PBR_SPECULAR_TEXTURES
|
|
2333
|
+
vec2 specularUv = a3dTexturedPbrUv(u_specularTextureTexCoord, u_specularTextureOffset, u_specularTextureScale, u_specularTextureRotation);
|
|
2334
|
+
vec2 specularColorUv = a3dTexturedPbrUv(u_specularColorTextureTexCoord, u_specularColorTextureOffset, u_specularColorTextureScale, u_specularColorTextureRotation);
|
|
2335
|
+
#endif
|
|
2336
|
+
#ifdef A3D_PBR_SPECULAR_SHEEN_ANISOTROPY_TEXTURES
|
|
2337
|
+
vec2 sheenColorUv = a3dTexturedPbrUv(u_sheenColorTextureTexCoord, u_sheenColorTextureOffset, u_sheenColorTextureScale, u_sheenColorTextureRotation);
|
|
2338
|
+
vec2 sheenRoughnessUv = a3dTexturedPbrUv(u_sheenRoughnessTextureTexCoord, u_sheenRoughnessTextureOffset, u_sheenRoughnessTextureScale, u_sheenRoughnessTextureRotation);
|
|
2339
|
+
vec2 anisotropyUv = a3dTexturedPbrUv(u_anisotropyTextureTexCoord, u_anisotropyTextureOffset, u_anisotropyTextureScale, u_anisotropyTextureRotation);
|
|
2340
|
+
#endif
|
|
2341
|
+
#ifdef A3D_PBR_IRIDESCENCE_TEXTURES
|
|
2342
|
+
vec2 iridescenceUv = a3dTexturedPbrUv(u_iridescenceTextureTexCoord, u_iridescenceTextureOffset, u_iridescenceTextureScale, u_iridescenceTextureRotation);
|
|
2343
|
+
vec2 iridescenceThicknessUv = a3dTexturedPbrUv(u_iridescenceThicknessTextureTexCoord, u_iridescenceThicknessTextureOffset, u_iridescenceThicknessTextureScale, u_iridescenceThicknessTextureRotation);
|
|
2344
|
+
#endif
|
|
2345
|
+
vec4 baseColorSample = texture(u_baseColorTexture, a3dTexturedPbrWrapUv(baseColorUv, u_baseColorTextureWrap));
|
|
2346
|
+
vec4 decodedBaseColor = vec4(a3dTexturedPbrDecodeSrgb(baseColorSample.rgb), baseColorSample.a);
|
|
2347
|
+
float baseColorTextureWeight = clamp(u_baseColorTextureEnabled, 0.0, 1.0);
|
|
2348
|
+
float sourcePaintMaterialGate = smoothstep(0.015, 0.09, u_materialEnvironmentSpecularScale)
|
|
2349
|
+
* smoothstep(0.18, 0.62, u_baseColor.r)
|
|
2350
|
+
* (1.0 - smoothstep(0.045, 0.16, max(u_baseColor.g, u_baseColor.b)));
|
|
2351
|
+
float sourcePaintDetailGate = baseColorTextureWeight * sourcePaintMaterialGate;
|
|
2352
|
+
float sourcePaintDetailLuma = dot(decodedBaseColor.rgb, vec3(0.2126, 0.7152, 0.0722));
|
|
2353
|
+
float sourcePaintDepthSignal = smoothstep(0.14, 0.86, sourcePaintDetailLuma);
|
|
2354
|
+
vec3 sourcePaintTextureResponse = min(
|
|
2355
|
+
u_baseColor.rgb * vec3(
|
|
2356
|
+
mix(0.72, 1.22, sourcePaintDepthSignal),
|
|
2357
|
+
mix(0.76, 1.03, sourcePaintDepthSignal),
|
|
2358
|
+
mix(0.8, 1.0, sourcePaintDepthSignal)
|
|
2359
|
+
),
|
|
2360
|
+
vec3(0.98, 0.12, 0.075)
|
|
2361
|
+
);
|
|
2362
|
+
float sourcePaintDetailContrast = clamp((sourcePaintDepthSignal - 0.5) * 1.9, -0.68, 0.68);
|
|
2363
|
+
vec3 sourcePaintDetailScale = vec3(
|
|
2364
|
+
1.0 + sourcePaintDetailContrast * 0.48,
|
|
2365
|
+
1.0 + sourcePaintDetailContrast * 0.06,
|
|
2366
|
+
1.0 + sourcePaintDetailContrast * 0.035
|
|
2367
|
+
);
|
|
2368
|
+
vec3 sourceNormalDetailSample = texture(u_normalTexture, a3dTexturedPbrWrapUv(normalUv, u_normalTextureWrap)).xyz * 2.0 - 1.0;
|
|
2369
|
+
float sourcePaintNormalDetailWeight = sourcePaintDetailGate
|
|
2370
|
+
* step(0.5, u_normalTextureEnabled)
|
|
2371
|
+
* smoothstep(0.08, 0.42, clamp(u_normalScale, 0.0, 1.0));
|
|
2372
|
+
float sourcePaintNormalColorDetail = clamp(
|
|
2373
|
+
(sourceNormalDetailSample.x * 0.65 + sourceNormalDetailSample.y * 0.35)
|
|
2374
|
+
* sourcePaintNormalDetailWeight
|
|
2375
|
+
* 1.15,
|
|
2376
|
+
-0.16,
|
|
2377
|
+
0.16
|
|
2378
|
+
);
|
|
2379
|
+
sourcePaintDetailScale *= vec3(
|
|
2380
|
+
1.0 + sourcePaintNormalColorDetail * 0.24,
|
|
2381
|
+
1.0 + sourcePaintNormalColorDetail * 0.03,
|
|
2382
|
+
1.0 + sourcePaintNormalColorDetail * 0.02
|
|
2383
|
+
);
|
|
2384
|
+
float sourcePaintNormalEdge = clamp(
|
|
2385
|
+
length(sourceNormalDetailSample.xy) * sourcePaintNormalDetailWeight * 0.7,
|
|
2386
|
+
0.0,
|
|
2387
|
+
0.14
|
|
2388
|
+
);
|
|
2389
|
+
sourcePaintDetailScale *= vec3(
|
|
2390
|
+
1.0 + sourcePaintNormalEdge * 0.16,
|
|
2391
|
+
1.0 + sourcePaintNormalEdge * 0.02,
|
|
2392
|
+
1.0 + sourcePaintNormalEdge * 0.014
|
|
2393
|
+
);
|
|
2394
|
+
vec3 sourceTexturedBaseColor = mix(u_baseColor.rgb * decodedBaseColor.rgb, sourcePaintTextureResponse, sourcePaintMaterialGate);
|
|
2395
|
+
vec4 texturedBase = vec4(mix(u_baseColor.rgb, sourceTexturedBaseColor, baseColorTextureWeight), mix(u_baseColor.a, u_baseColor.a * decodedBaseColor.a, baseColorTextureWeight)) * v_vertexColor;
|
|
2396
|
+
vec3 sourcePaintDetailedBase = texturedBase.rgb * mix(vec3(1.0), sourcePaintDetailScale, sourcePaintDetailGate);
|
|
2397
|
+
vec3 sourcePaintColorCap = mix(vec3(1.0), vec3(0.98, 0.12, 0.075), sourcePaintDetailGate);
|
|
2398
|
+
texturedBase.rgb = clamp(min(sourcePaintDetailedBase, sourcePaintColorCap), vec3(0.0), vec3(1.0));
|
|
2399
|
+
vec4 metallicRoughnessSample = texture(u_metallicRoughnessTexture, a3dTexturedPbrWrapUv(metallicRoughnessUv, u_metallicRoughnessTextureWrap));
|
|
2400
|
+
float roughness = mix(u_roughness, clamp(u_roughness * metallicRoughnessSample.g, 0.0, 1.0), step(0.5, u_metallicRoughnessTextureEnabled));
|
|
2401
|
+
float metallic = mix(u_metallic, clamp(u_metallic * metallicRoughnessSample.b, 0.0, 1.0), step(0.5, u_metallicRoughnessTextureEnabled));
|
|
2402
|
+
float occlusion = mix(1.0, mix(1.0, texture(u_occlusionTexture, a3dTexturedPbrWrapUv(occlusionUv, u_occlusionTextureWrap)).r, clamp(u_occlusionStrength, 0.0, 1.0)), step(0.5, u_occlusionTextureEnabled));
|
|
2403
|
+
vec3 geometryNormal = normalize(v_normal);
|
|
2404
|
+
vec3 mappedNormal = mix(geometryNormal, a3dTexturedPbrApplyNormalSample(geometryNormal, v_tangent, sourceNormalDetailSample, u_normalScale), step(0.5, u_normalTextureEnabled));
|
|
2405
|
+
if (!gl_FrontFacing) mappedNormal = -mappedNormal;
|
|
2406
|
+
vec3 clearcoatNormalDirection = mappedNormal;
|
|
2407
|
+
float clearcoatNormalBoost = max(0.25, 1.0 - clamp(u_clearcoatNormalScale, 0.0, 1.0) * 0.12);
|
|
2408
|
+
#ifdef A3D_PBR_CLEARCOAT_TEXTURES
|
|
2409
|
+
float clearcoatNormalTextureWeight = step(0.5, u_clearcoatNormalTextureEnabled);
|
|
2410
|
+
vec3 clearcoatNormalSample = texture(u_clearcoatNormalTexture, a3dTexturedPbrWrapUv(clearcoatNormalUv, u_clearcoatNormalTextureWrap)).xyz * 2.0 - 1.0;
|
|
2411
|
+
vec3 sampledClearcoatNormal = a3dTexturedPbrApplyNormalSample(mappedNormal, v_tangent, clearcoatNormalSample, u_clearcoatNormalScale);
|
|
2412
|
+
clearcoatNormalDirection = normalize(mix(mappedNormal, sampledClearcoatNormal, 0.26 * clearcoatNormalTextureWeight));
|
|
2413
|
+
clearcoatNormalBoost *= mix(1.0, max(0.25, clearcoatNormalSample.z), clearcoatNormalTextureWeight);
|
|
2414
|
+
#endif
|
|
2415
|
+
float clearcoat = clamp(u_clearcoatFactor * clearcoatNormalBoost, 0.0, 1.0);
|
|
2416
|
+
float clearcoatRoughness = max(clamp(u_clearcoatRoughnessFactor, 0.0, 1.0), 0.18);
|
|
2417
|
+
float transmission = clamp(u_transmissionFactor, 0.0, 1.0);
|
|
2418
|
+
float diffuseTransmission = clamp(u_diffuseTransmissionFactor, 0.0, 1.0);
|
|
2419
|
+
vec3 diffuseTransmissionColor = clamp(u_diffuseTransmissionColorFactor, vec3(0.0), vec3(1.0));
|
|
2420
|
+
float volumeThickness = max(u_volumeThicknessFactor, 0.0);
|
|
2421
|
+
float specular = clamp(u_specularFactor, 0.0, 1.0);
|
|
2422
|
+
vec3 specularColor = max(u_specularColorFactor, vec3(0.0));
|
|
2423
|
+
vec3 sheenColor = clamp(u_sheenColorFactor, vec3(0.0), vec3(1.0));
|
|
2424
|
+
float sheenRoughness = clamp(u_sheenRoughnessFactor, 0.0, 1.0);
|
|
2425
|
+
float anisotropy = clamp(u_anisotropyStrength, 0.0, 1.0);
|
|
2426
|
+
float anisotropyRotation = u_anisotropyRotation;
|
|
2427
|
+
float iridescence = clamp(u_iridescenceFactor, 0.0, 1.0);
|
|
2428
|
+
float iridescenceThickness = mix(u_iridescenceThicknessMinimum, u_iridescenceThicknessMaximum, 0.5);
|
|
2429
|
+
#ifdef A3D_PBR_CLEARCOAT_TEXTURES
|
|
2430
|
+
clearcoat = clamp(clearcoat * mix(1.0, texture(u_clearcoatTexture, a3dTexturedPbrWrapUv(clearcoatUv, u_clearcoatTextureWrap)).r, step(0.5, u_clearcoatTextureEnabled)), 0.0, 1.0);
|
|
2431
|
+
clearcoatRoughness = clamp(clearcoatRoughness * mix(1.0, texture(u_clearcoatRoughnessTexture, a3dTexturedPbrWrapUv(clearcoatRoughnessUv, u_clearcoatRoughnessTextureWrap)).g, step(0.5, u_clearcoatRoughnessTextureEnabled)), 0.0, 1.0);
|
|
2432
|
+
clearcoatRoughness = max(clearcoatRoughness, 0.19 + (1.0 - clearcoatNormalBoost) * 0.12);
|
|
2433
|
+
#endif
|
|
2434
|
+
#ifdef A3D_PBR_TRANSMISSION_VOLUME_TEXTURES
|
|
2435
|
+
transmission = clamp(transmission * mix(1.0, texture(u_transmissionTexture, a3dTexturedPbrWrapUv(transmissionUv, u_transmissionTextureWrap)).r, step(0.5, u_transmissionTextureEnabled)), 0.0, 1.0);
|
|
2436
|
+
diffuseTransmission = clamp(diffuseTransmission * mix(1.0, texture(u_diffuseTransmissionTexture, a3dTexturedPbrWrapUv(diffuseTransmissionUv, u_diffuseTransmissionTextureWrap)).r, step(0.5, u_diffuseTransmissionTextureEnabled)), 0.0, 1.0);
|
|
2437
|
+
diffuseTransmissionColor *= mix(vec3(1.0), a3dTexturedPbrDecodeSrgb(texture(u_diffuseTransmissionColorTexture, a3dTexturedPbrWrapUv(diffuseTransmissionColorUv, u_diffuseTransmissionColorTextureWrap)).rgb), step(0.5, u_diffuseTransmissionColorTextureEnabled));
|
|
2438
|
+
volumeThickness *= mix(1.0, texture(u_volumeThicknessTexture, a3dTexturedPbrWrapUv(volumeThicknessUv, u_volumeThicknessTextureWrap)).g, step(0.5, u_volumeThicknessTextureEnabled));
|
|
2439
|
+
#endif
|
|
2440
|
+
#ifdef A3D_PBR_SPECULAR_TEXTURES
|
|
2441
|
+
specular = clamp(specular * mix(1.0, texture(u_specularTexture, a3dTexturedPbrWrapUv(specularUv, u_specularTextureWrap)).a, step(0.5, u_specularTextureEnabled)), 0.0, 1.0);
|
|
2442
|
+
specularColor *= mix(vec3(1.0), a3dTexturedPbrDecodeSrgb(texture(u_specularColorTexture, a3dTexturedPbrWrapUv(specularColorUv, u_specularColorTextureWrap)).rgb), step(0.5, u_specularColorTextureEnabled));
|
|
2443
|
+
#endif
|
|
2444
|
+
#ifdef A3D_PBR_SPECULAR_SHEEN_ANISOTROPY_TEXTURES
|
|
2445
|
+
sheenColor *= mix(vec3(1.0), a3dTexturedPbrDecodeSrgb(texture(u_sheenColorTexture, a3dTexturedPbrWrapUv(sheenColorUv, u_sheenColorTextureWrap)).rgb), step(0.5, u_sheenColorTextureEnabled));
|
|
2446
|
+
sheenRoughness = clamp(sheenRoughness * mix(1.0, texture(u_sheenRoughnessTexture, a3dTexturedPbrWrapUv(sheenRoughnessUv, u_sheenRoughnessTextureWrap)).a, step(0.5, u_sheenRoughnessTextureEnabled)), 0.0, 1.0);
|
|
2447
|
+
anisotropy = clamp(anisotropy * mix(1.0, texture(u_anisotropyTexture, a3dTexturedPbrWrapUv(anisotropyUv, u_anisotropyTextureWrap)).b, step(0.5, u_anisotropyTextureEnabled)), 0.0, 1.0);
|
|
2448
|
+
#endif
|
|
2449
|
+
#ifdef A3D_PBR_IRIDESCENCE_TEXTURES
|
|
2450
|
+
iridescence = clamp(iridescence * mix(1.0, texture(u_iridescenceTexture, a3dTexturedPbrWrapUv(iridescenceUv, u_iridescenceTextureWrap)).r, step(0.5, u_iridescenceTextureEnabled)), 0.0, 1.0);
|
|
2451
|
+
iridescenceThickness = mix(iridescenceThickness, mix(u_iridescenceThicknessMinimum, u_iridescenceThicknessMaximum, texture(u_iridescenceThicknessTexture, a3dTexturedPbrWrapUv(iridescenceThicknessUv, u_iridescenceThicknessTextureWrap)).g), step(0.5, u_iridescenceThicknessTextureEnabled));
|
|
2452
|
+
#endif
|
|
2453
|
+
vec3 base = a3dApplyAdvancedPbrLobes(
|
|
2454
|
+
texturedBase.rgb,
|
|
2455
|
+
clearcoat,
|
|
2456
|
+
clearcoatRoughness,
|
|
2457
|
+
transmission,
|
|
2458
|
+
diffuseTransmission,
|
|
2459
|
+
diffuseTransmissionColor,
|
|
2460
|
+
u_transmissionFallbackEnergy,
|
|
2461
|
+
volumeThickness,
|
|
2462
|
+
u_volumeAttenuationDistance,
|
|
2463
|
+
u_volumeAttenuationColor,
|
|
2464
|
+
u_ior,
|
|
2465
|
+
specular,
|
|
2466
|
+
specularColor,
|
|
2467
|
+
sheenColor,
|
|
2468
|
+
sheenRoughness,
|
|
2469
|
+
anisotropy,
|
|
2470
|
+
anisotropyRotation,
|
|
2471
|
+
iridescence,
|
|
2472
|
+
u_iridescenceIor,
|
|
2473
|
+
iridescenceThickness,
|
|
2474
|
+
iridescenceThickness,
|
|
2475
|
+
u_dispersion
|
|
2476
|
+
);
|
|
2477
|
+
vec3 viewDirection = normalize(u_cameraPosition - v_worldPosition);
|
|
2478
|
+
float materialRedPaintGate = smoothstep(0.28, 0.72, texturedBase.r)
|
|
2479
|
+
* (1.0 - smoothstep(0.05, 0.18, max(texturedBase.g, texturedBase.b)))
|
|
2480
|
+
* smoothstep(0.015, 0.07, u_materialEnvironmentSpecularScale);
|
|
2481
|
+
float directTextureOcclusion = mix(1.0, occlusion, clamp(baseColorTextureWeight * mix(0.2, 0.56, materialRedPaintGate), 0.0, 0.56));
|
|
2482
|
+
float sourcePaintDirectDetail = mix(0.82, 1.22, sourcePaintDepthSignal);
|
|
2483
|
+
float environmentNdotV = clamp(dot(mappedNormal, viewDirection), 0.0, 1.0);
|
|
2484
|
+
vec2 environmentBrdf = mix(vec2(1.0, 0.0), texture(u_environmentBrdfLutTexture, vec2(environmentNdotV, roughness)).rg, step(0.0001, u_environmentBrdfLutEnabled));
|
|
2485
|
+
vec3 extensionEnvironmentSpecular = a3dTexturedPbrEnvironmentSpecularInput(clearcoatNormalDirection, viewDirection, clamp(clearcoatRoughness, 0.18, 1.0));
|
|
2486
|
+
vec3 emissiveSample = a3dTexturedPbrDecodeSrgb(texture(u_emissiveTexture, a3dTexturedPbrWrapUv(emissiveUv, u_emissiveTextureWrap)).rgb);
|
|
2487
|
+
vec3 shaded = u_emissiveColor * u_emissiveStrength * mix(vec3(1.0), emissiveSample, step(0.5, u_emissiveTextureEnabled)) + a3dPbrEnvironmentLightSplitSum(
|
|
2488
|
+
mappedNormal,
|
|
2489
|
+
viewDirection,
|
|
2490
|
+
a3dTexturedPbrEnvironmentDiffuseInput(mappedNormal) * occlusion,
|
|
2491
|
+
a3dTexturedPbrEnvironmentSpecularInput(mappedNormal, viewDirection, roughness),
|
|
2492
|
+
environmentBrdf,
|
|
2493
|
+
base,
|
|
2494
|
+
metallic,
|
|
2495
|
+
roughness,
|
|
2496
|
+
specular,
|
|
2497
|
+
specularColor
|
|
2498
|
+
) + a3dTexturedPbrExtensionEnvironmentLight(
|
|
2499
|
+
clearcoatNormalDirection,
|
|
2500
|
+
viewDirection,
|
|
2501
|
+
extensionEnvironmentSpecular,
|
|
2502
|
+
clearcoat,
|
|
2503
|
+
clearcoatRoughness,
|
|
2504
|
+
sheenColor,
|
|
2505
|
+
sheenRoughness,
|
|
2506
|
+
anisotropy,
|
|
2507
|
+
anisotropyRotation,
|
|
2508
|
+
iridescence,
|
|
2509
|
+
u_iridescenceIor,
|
|
2510
|
+
iridescenceThickness,
|
|
2511
|
+
iridescenceThickness
|
|
2512
|
+
);
|
|
2513
|
+
float texturedTransmissionAmount = clamp(max(transmission, diffuseTransmission), 0.0, 1.0);
|
|
2514
|
+
float texturedSampledEnvironmentWeight = step(0.0001, u_environmentMapTextureEnabled * u_environmentMapTextureIntensity);
|
|
2515
|
+
#ifndef A3D_PBR_DISABLE_TRANSMISSION_BACKDROP
|
|
2516
|
+
float texturedBackdropWeight = clamp(u_transmissionBackdropEnabled * u_transmissionBackdropStrength, 0.0, 1.0);
|
|
2517
|
+
#else
|
|
2518
|
+
float texturedBackdropWeight = 0.0;
|
|
2519
|
+
#endif
|
|
2520
|
+
if (texturedTransmissionAmount > 0.0001 && (texturedSampledEnvironmentWeight > 0.0001 || texturedBackdropWeight > 0.0001)) {
|
|
2521
|
+
vec3 texturedReflectionDirection = reflect(-viewDirection, mappedNormal);
|
|
2522
|
+
vec3 texturedRefractionDirection = refract(-viewDirection, mappedNormal, 1.0 / max(u_ior, 1.0));
|
|
2523
|
+
texturedRefractionDirection = length(texturedRefractionDirection) > 0.0001 ? normalize(texturedRefractionDirection) : -texturedReflectionDirection;
|
|
2524
|
+
float texturedParallaxStrength = clamp(u_transmissionParallaxStrength, 0.0, 1.0);
|
|
2525
|
+
if (texturedParallaxStrength > 0.0001) {
|
|
2526
|
+
vec3 texturedParallaxDirection = a3dTexturedPbrBoxProjectedDirection(v_worldPosition, texturedRefractionDirection, u_transmissionParallaxBoxMin, u_transmissionParallaxBoxMax);
|
|
2527
|
+
texturedRefractionDirection = normalize(mix(texturedRefractionDirection, texturedParallaxDirection, texturedParallaxStrength));
|
|
2528
|
+
}
|
|
2529
|
+
float texturedBounceCount = clamp(u_transmissionBounceCount, 0.0, 4.0);
|
|
2530
|
+
float texturedRefractionLod = clamp(roughness + volumeThickness * 0.12 + texturedBounceCount * 0.04 * texturedParallaxStrength, 0.0, 1.0) * max(u_environmentMapTextureMipCount - 1.0, 0.0);
|
|
2531
|
+
vec3 texturedRefractedEnvironment = a3dTexturedPbrBoundHdrTransmissionRadiance(a3dTexturedPbrDecodeEnvironmentSample(a3dTexturedPbrEnvironmentSampleRaw(texturedRefractionDirection, texturedRefractionLod)));
|
|
2532
|
+
float texturedVolumeTravel = clamp((max(volumeThickness, 0.0) * (1.0 + texturedBounceCount * 0.18 * texturedParallaxStrength)) / max(u_volumeAttenuationDistance, 0.0001), 0.0, 16.0);
|
|
2533
|
+
vec3 texturedVolumeTint = pow(clamp(u_volumeAttenuationColor, vec3(0.0001), vec3(1.0)), vec3(texturedVolumeTravel));
|
|
2534
|
+
float texturedCausticEnergy = u_transmissionCausticStrength * texturedParallaxStrength * texturedTransmissionAmount * pow(1.0 - roughness, 2.0) / (1.0 + texturedBounceCount * 0.35);
|
|
2535
|
+
float texturedRoughVolumeIorLift = mix(1.0, 1.45, clamp((u_ior - 1.0) / 1.5, 0.0, 1.0) * smoothstep(0.35, 0.95, roughness + volumeThickness * 0.2));
|
|
2536
|
+
float texturedFallbackEnvironmentTransmissionEnergy = mix(1.0, clamp(u_transmissionFallbackEnergy, 0.0, 1.0), texturedTransmissionAmount);
|
|
2537
|
+
vec3 texturedRefractionRadiance = (texturedRefractedEnvironment + vec3(texturedCausticEnergy)) * texturedVolumeTint * u_environmentMapTextureIntensity * texturedTransmissionAmount * texturedFallbackEnvironmentTransmissionEnergy * mix(0.9, 0.55, roughness) * texturedRoughVolumeIorLift * texturedSampledEnvironmentWeight * clamp(u_materialEnvironmentSpecularScale, 0.0, 1.0);
|
|
2538
|
+
#ifndef A3D_PBR_DISABLE_TRANSMISSION_BACKDROP
|
|
2539
|
+
if (texturedBackdropWeight > 0.0001) {
|
|
2540
|
+
vec2 backdropUv = gl_FragCoord.xy / max(u_transmissionBackdropResolution, vec2(1.0));
|
|
2541
|
+
vec2 backdropOffset = normalize(texturedRefractionDirection.xy + vec2(0.0001)) * u_transmissionBackdropRefractionScale * mix(1.25, 0.55, roughness) * clamp(u_ior - 1.0, 0.0, 2.5);
|
|
2542
|
+
float backdropLod = clamp((roughness + volumeThickness * 0.08) * max(u_transmissionBackdropMipCount - 1.0, 0.0), 0.0, max(u_transmissionBackdropMipCount - 1.0, 0.0));
|
|
2543
|
+
vec3 backdropRadiance = a3dTexturedPbrDecodeSrgb(textureLod(u_transmissionBackdropTexture, clamp(backdropUv + backdropOffset, vec2(0.001), vec2(0.999)), backdropLod).rgb);
|
|
2544
|
+
texturedRefractionRadiance = mix(texturedRefractionRadiance, backdropRadiance * texturedTransmissionAmount * mix(1.0, 1.22, texturedBackdropWeight), texturedBackdropWeight);
|
|
2545
|
+
}
|
|
2546
|
+
#endif
|
|
2547
|
+
shaded = mix(shaded, shaded * 0.72 + texturedRefractionRadiance, texturedTransmissionAmount * mix(0.08, 0.58, texturedFallbackEnvironmentTransmissionEnergy));
|
|
2548
|
+
}
|
|
2549
|
+
int count = min(int(u_lightCount), 16);
|
|
2550
|
+
for (int i = 0; i < count; ++i) {
|
|
2551
|
+
int baseIndex = i * 4;
|
|
2552
|
+
vec4 colorIntensity = u_lightData[baseIndex];
|
|
2553
|
+
vec4 positionRange = u_lightData[baseIndex + 1];
|
|
2554
|
+
vec4 directionKind = u_lightData[baseIndex + 2];
|
|
2555
|
+
vec4 spotShadowLayer = u_lightData[baseIndex + 3];
|
|
2556
|
+
float kind = directionKind.w;
|
|
2557
|
+
vec3 lightDirection = -directionKind.xyz;
|
|
2558
|
+
float attenuation = 1.0;
|
|
2559
|
+
if (kind > 0.5) {
|
|
2560
|
+
vec3 toLight = positionRange.xyz - v_worldPosition;
|
|
2561
|
+
float distanceToLight = length(toLight);
|
|
2562
|
+
lightDirection = distanceToLight > 0.0001 ? toLight / distanceToLight : -directionKind.xyz;
|
|
2563
|
+
float range = max(positionRange.w, 0.0001);
|
|
2564
|
+
float rangeFalloff = clamp(1.0 - pow(distanceToLight / range, 4.0), 0.0, 1.0);
|
|
2565
|
+
rangeFalloff *= rangeFalloff;
|
|
2566
|
+
attenuation = rangeFalloff / max(distanceToLight * distanceToLight, 1.0);
|
|
2567
|
+
}
|
|
2568
|
+
if (kind > 1.5) {
|
|
2569
|
+
vec3 lightToFragment = normalize(v_worldPosition - positionRange.xyz);
|
|
2570
|
+
float cone = dot(normalize(directionKind.xyz), lightToFragment);
|
|
2571
|
+
float outer = cos(spotShadowLayer.x);
|
|
2572
|
+
float inner = cos(spotShadowLayer.x * max(1.0 - spotShadowLayer.y, 0.001));
|
|
2573
|
+
attenuation *= smoothstep(outer, inner, cone);
|
|
2574
|
+
}
|
|
2575
|
+
float shadowFactor = mix(1.0, kind > 0.5 && kind < 1.5 ? a3dTexturedPbrPointShadowFactor(v_worldPosition, mappedNormal, lightDirection) : a3dTexturedPbrShadowFactor(v_worldPosition, mappedNormal, lightDirection), step(0.5, spotShadowLayer.z));
|
|
2576
|
+
float directLightIntensity = colorIntensity.a
|
|
2577
|
+
* attenuation
|
|
2578
|
+
* shadowFactor
|
|
2579
|
+
* directTextureOcclusion
|
|
2580
|
+
* mix(1.0, sourcePaintDirectDetail, sourcePaintDetailGate * 0.48);
|
|
2581
|
+
float directExtensionNdotV = clamp(dot(clearcoatNormalDirection, viewDirection), 0.0, 1.0);
|
|
2582
|
+
float directExtensionGrazingGate = mix(0.18, 1.0, smoothstep(0.12, 0.58, directExtensionNdotV));
|
|
2583
|
+
float directExtensionSpecularScale = sqrt(clamp(u_materialEnvironmentSpecularScale, 0.0, 1.0)) * directExtensionGrazingGate;
|
|
2584
|
+
shaded += a3dPbrDirectLight(mappedNormal, viewDirection, lightDirection, colorIntensity.rgb, directLightIntensity, base, metallic, roughness, specular, specularColor);
|
|
2585
|
+
shaded += a3dTexturedPbrExtensionDirectLight(
|
|
2586
|
+
clearcoatNormalDirection,
|
|
2587
|
+
viewDirection,
|
|
2588
|
+
lightDirection,
|
|
2589
|
+
colorIntensity.rgb,
|
|
2590
|
+
directLightIntensity,
|
|
2591
|
+
clearcoat,
|
|
2592
|
+
clearcoatRoughness,
|
|
2593
|
+
sheenColor,
|
|
2594
|
+
sheenRoughness,
|
|
2595
|
+
anisotropy,
|
|
2596
|
+
anisotropyRotation,
|
|
2597
|
+
iridescence,
|
|
2598
|
+
u_iridescenceIor,
|
|
2599
|
+
iridescenceThickness,
|
|
2600
|
+
iridescenceThickness
|
|
2601
|
+
) * directExtensionSpecularScale;
|
|
2602
|
+
}
|
|
2603
|
+
float alpha = texturedBase.a;
|
|
2604
|
+
if (alpha < u_alphaCutoff) discard;
|
|
2605
|
+
vec3 fogged = a3dApplyEnvironmentFog(max(shaded, vec3(0.0)), v_worldPosition);
|
|
2606
|
+
outColor = vec4(a3dTexturedPbrEncodeOutput(fogged), alpha);
|
|
2607
|
+
}
|
|
2608
|
+
`
|
|
2609
|
+
});
|
|
2610
|
+
library.register({
|
|
2611
|
+
name: DEFAULT_ENVIRONMENT_BACKGROUND_SHADER_NAME,
|
|
2612
|
+
marker: DEFAULT_ENVIRONMENT_BACKGROUND_SHADER_MARKER,
|
|
2613
|
+
vertex: `#version 300 es
|
|
2614
|
+
// ${DEFAULT_ENVIRONMENT_BACKGROUND_SHADER_MARKER}
|
|
2615
|
+
precision highp float;
|
|
2616
|
+
layout(location = 0) in vec3 a_position;
|
|
2617
|
+
out vec2 v_backgroundNdc;
|
|
2618
|
+
void main() {
|
|
2619
|
+
v_backgroundNdc = a_position.xy;
|
|
2620
|
+
gl_Position = vec4(a_position.xy, 1.0, 1.0);
|
|
2621
|
+
}
|
|
2622
|
+
`,
|
|
2623
|
+
fragment: `#version 300 es
|
|
2624
|
+
// ${DEFAULT_ENVIRONMENT_BACKGROUND_SHADER_MARKER}
|
|
2625
|
+
precision highp float;
|
|
2626
|
+
uniform sampler2D u_environmentBackgroundTexture;
|
|
2627
|
+
uniform samplerCube u_environmentBackgroundCubeTexture;
|
|
2628
|
+
uniform float u_environmentBackgroundProjection;
|
|
2629
|
+
uniform float u_environmentBackgroundRotation;
|
|
2630
|
+
uniform float u_environmentBackgroundIntensity;
|
|
2631
|
+
uniform float u_environmentBackgroundEncoding;
|
|
2632
|
+
uniform float u_outputColorSpace;
|
|
2633
|
+
uniform mat4 u_environmentBackgroundInverseViewProjection;
|
|
2634
|
+
in vec2 v_backgroundNdc;
|
|
2635
|
+
out vec4 outColor;
|
|
2636
|
+
vec2 a3dBackgroundEquirectUv(vec3 direction) {
|
|
2637
|
+
vec3 d = normalize(direction);
|
|
2638
|
+
float u = atan(d.z, d.x) / 6.28318530718 + 0.5;
|
|
2639
|
+
float v = acos(clamp(d.y, -1.0, 1.0)) / 3.14159265359;
|
|
2640
|
+
return vec2(fract(u), clamp(v, 0.0, 1.0));
|
|
2641
|
+
}
|
|
2642
|
+
vec3 a3dRotateBackgroundDirection(vec3 direction, float rotation) {
|
|
2643
|
+
float angle = rotation * 6.28318530718;
|
|
2644
|
+
float c = cos(angle);
|
|
2645
|
+
float s = sin(angle);
|
|
2646
|
+
vec3 d = normalize(direction);
|
|
2647
|
+
return normalize(vec3(c * d.x - s * d.z, d.y, s * d.x + c * d.z));
|
|
2648
|
+
}
|
|
2649
|
+
vec3 a3dBackgroundDirectionFromNdc(vec2 ndc) {
|
|
2650
|
+
vec4 nearPoint = u_environmentBackgroundInverseViewProjection * vec4(ndc, -1.0, 1.0);
|
|
2651
|
+
vec4 farPoint = u_environmentBackgroundInverseViewProjection * vec4(ndc, 1.0, 1.0);
|
|
2652
|
+
vec3 nearWorld = nearPoint.xyz / max(nearPoint.w, 0.00001);
|
|
2653
|
+
vec3 farWorld = farPoint.xyz / max(farPoint.w, 0.00001);
|
|
2654
|
+
return normalize(farWorld - nearWorld);
|
|
2655
|
+
}
|
|
2656
|
+
vec3 a3dBackgroundDecodeRgbe(vec4 encodedSample) {
|
|
2657
|
+
float exponent = encodedSample.a * 255.0;
|
|
2658
|
+
float scale = exponent <= 0.0 ? 0.0 : exp2(exponent - 128.0) * (255.0 / 256.0);
|
|
2659
|
+
return max(encodedSample.rgb * scale, vec3(0.0));
|
|
2660
|
+
}
|
|
2661
|
+
vec3 a3dBackgroundDecode(vec4 encodedSample) {
|
|
2662
|
+
if (u_environmentBackgroundEncoding > 1.5) return a3dBackgroundDecodeRgbe(encodedSample);
|
|
2663
|
+
return max(encodedSample.rgb, vec3(0.0));
|
|
2664
|
+
}
|
|
2665
|
+
vec3 a3dBackgroundEncodeOutput(vec3 linearColor) {
|
|
2666
|
+
vec3 color = max(linearColor, vec3(0.0));
|
|
2667
|
+
vec3 filmic = clamp((color * (2.51 * color + 0.03)) / (color * (2.43 * color + 0.59) + 0.14), vec3(0.0), vec3(1.0));
|
|
2668
|
+
vec3 srgb = pow(filmic, vec3(1.0 / 2.2));
|
|
2669
|
+
return mix(color, srgb, step(0.5, u_outputColorSpace));
|
|
2670
|
+
}
|
|
2671
|
+
void main() {
|
|
2672
|
+
vec3 direction = a3dRotateBackgroundDirection(a3dBackgroundDirectionFromNdc(v_backgroundNdc), u_environmentBackgroundRotation);
|
|
2673
|
+
vec4 encodedSample = vec4(0.0, 0.0, 0.0, 1.0);
|
|
2674
|
+
if (u_environmentBackgroundProjection > 1.5) {
|
|
2675
|
+
encodedSample = texture(u_environmentBackgroundCubeTexture, direction);
|
|
2676
|
+
} else {
|
|
2677
|
+
encodedSample = texture(u_environmentBackgroundTexture, a3dBackgroundEquirectUv(direction));
|
|
2678
|
+
}
|
|
2679
|
+
vec3 color = a3dBackgroundDecode(encodedSample) * max(u_environmentBackgroundIntensity, 0.0);
|
|
2680
|
+
outColor = vec4(a3dBackgroundEncodeOutput(color), 1.0);
|
|
2681
|
+
}
|
|
2682
|
+
`
|
|
2683
|
+
});
|
|
2684
|
+
library.register({
|
|
2685
|
+
name: DEFAULT_DEPTH_SHADER_NAME,
|
|
2686
|
+
marker: DEFAULT_DEPTH_SHADER_MARKER,
|
|
2687
|
+
vertex: `#version 300 es
|
|
2688
|
+
// ${DEFAULT_DEPTH_SHADER_MARKER}
|
|
2689
|
+
precision highp float;
|
|
2690
|
+
layout(location = 0) in vec3 a_position;
|
|
2691
|
+
uniform mat4 u_modelViewProjection;
|
|
2692
|
+
void main() {
|
|
2693
|
+
gl_Position = u_modelViewProjection * vec4(a_position, 1.0);
|
|
2694
|
+
}
|
|
2695
|
+
`,
|
|
2696
|
+
fragment: `#version 300 es
|
|
2697
|
+
// ${DEFAULT_DEPTH_SHADER_MARKER}
|
|
2698
|
+
precision highp float;
|
|
2699
|
+
out vec4 outColor;
|
|
2700
|
+
void main() {
|
|
2701
|
+
outColor = vec4(vec3(gl_FragCoord.z), 1.0);
|
|
2702
|
+
}
|
|
2703
|
+
`
|
|
2704
|
+
});
|
|
2705
|
+
return library;
|
|
2706
|
+
}
|
|
2707
|
+
//# sourceMappingURL=ShaderLibrary.js.map
|