@rings-webgpu/core 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +54 -0
- package/dist/packages/wasm-matrix/WasmMatrix.d.ts +26 -0
- package/dist/packages/wasm-matrix/WasmMatrix.js +88 -0
- package/dist/rings.es.js +1240 -1033
- package/dist/rings.es.js.map +2 -2
- package/dist/rings.es.max.js +1316 -1043
- package/dist/rings.umd.js +1261 -1054
- package/dist/rings.umd.js.map +2 -2
- package/dist/rings.umd.max.js +1317 -1044
- package/dist/src/Engine3D.d.ts +107 -0
- package/dist/src/Engine3D.js +471 -0
- package/dist/src/assets/Fonts.d.ts +20 -0
- package/dist/src/assets/Fonts.js +24 -0
- package/dist/src/assets/Res.d.ts +72 -0
- package/dist/src/assets/Res.js +299 -0
- package/dist/src/assets/shader/ShaderLib.d.ts +5 -0
- package/dist/src/assets/shader/ShaderLib.js +128 -0
- package/dist/src/assets/shader/anim/SkeletonAnimation_shader.d.ts +3 -0
- package/dist/src/assets/shader/anim/SkeletonAnimation_shader.js +51 -0
- package/dist/src/assets/shader/cluster/ClusterBoundsSource_cs.d.ts +1 -0
- package/dist/src/assets/shader/cluster/ClusterBoundsSource_cs.js +88 -0
- package/dist/src/assets/shader/cluster/ClusterLighting_cs.d.ts +1 -0
- package/dist/src/assets/shader/cluster/ClusterLighting_cs.js +127 -0
- package/dist/src/assets/shader/compute/BRDFLUT.d.ts +1 -0
- package/dist/src/assets/shader/compute/BRDFLUT.js +90 -0
- package/dist/src/assets/shader/compute/BloomEffect_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/BloomEffect_cs.js +173 -0
- package/dist/src/assets/shader/compute/BlurEffectCreator_cs.d.ts +2 -0
- package/dist/src/assets/shader/compute/BlurEffectCreator_cs.js +84 -0
- package/dist/src/assets/shader/compute/DDGIIrradiance_Cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/DDGIIrradiance_Cs.js +307 -0
- package/dist/src/assets/shader/compute/DDGILighting_CSShader.d.ts +4 -0
- package/dist/src/assets/shader/compute/DDGILighting_CSShader.js +285 -0
- package/dist/src/assets/shader/compute/DepthOfView_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/DepthOfView_cs.js +90 -0
- package/dist/src/assets/shader/compute/ErpImage2CubeMapCreateCube_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/ErpImage2CubeMapCreateCube_cs.js +64 -0
- package/dist/src/assets/shader/compute/ErpImage2CubeMapRgbe2rgba_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/ErpImage2CubeMapRgbe2rgba_cs.js +34 -0
- package/dist/src/assets/shader/compute/GTAO_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/GTAO_cs.js +133 -0
- package/dist/src/assets/shader/compute/GodRay_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/GodRay_cs.js +214 -0
- package/dist/src/assets/shader/compute/IBLEnvMapCreator_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/IBLEnvMapCreator_cs.js +164 -0
- package/dist/src/assets/shader/compute/MergeRGBA_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/MergeRGBA_cs.js +27 -0
- package/dist/src/assets/shader/compute/MultiBouncePass_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/MultiBouncePass_cs.js +169 -0
- package/dist/src/assets/shader/compute/OutLineBlendColor_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/OutLineBlendColor_cs.js +49 -0
- package/dist/src/assets/shader/compute/OutlineCalcOutline_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/OutlineCalcOutline_cs.js +95 -0
- package/dist/src/assets/shader/compute/Outline_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/Outline_cs.js +116 -0
- package/dist/src/assets/shader/compute/Picker_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/Picker_cs.js +40 -0
- package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs copy.d.ts +1 -0
- package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs copy.js +162 -0
- package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs.js +201 -0
- package/dist/src/assets/shader/compute/PreIntegratedLut.d.ts +1 -0
- package/dist/src/assets/shader/compute/PreIntegratedLut.js +46 -0
- package/dist/src/assets/shader/compute/SSAO_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/SSAO_cs.js +82 -0
- package/dist/src/assets/shader/compute/SSGI2_cs.d.ts +7 -0
- package/dist/src/assets/shader/compute/SSGI2_cs.js +169 -0
- package/dist/src/assets/shader/compute/SSR_BlendColor_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/SSR_BlendColor_cs.js +53 -0
- package/dist/src/assets/shader/compute/SSR_IS_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/SSR_IS_cs.js +76 -0
- package/dist/src/assets/shader/compute/SSR_RayTrace_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/SSR_RayTrace_cs.js +289 -0
- package/dist/src/assets/shader/compute/TAACopyTex_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/TAACopyTex_cs.js +22 -0
- package/dist/src/assets/shader/compute/TAASharpTex_cs.d.ts +1 -0
- package/dist/src/assets/shader/compute/TAASharpTex_cs.js +42 -0
- package/dist/src/assets/shader/compute/TAA_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/TAA_cs.js +152 -0
- package/dist/src/assets/shader/compute/utils/Combine_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/utils/Combine_cs.js +47 -0
- package/dist/src/assets/shader/compute/utils/Denoising_cs.d.ts +4 -0
- package/dist/src/assets/shader/compute/utils/Denoising_cs.js +28 -0
- package/dist/src/assets/shader/compute/utils/TestComputeLoadBuffer.d.ts +1 -0
- package/dist/src/assets/shader/compute/utils/TestComputeLoadBuffer.js +128 -0
- package/dist/src/assets/shader/compute/utils/TextureCompress.d.ts +2 -0
- package/dist/src/assets/shader/compute/utils/TextureCompress.js +131 -0
- package/dist/src/assets/shader/compute/utils/tw.d.ts +4 -0
- package/dist/src/assets/shader/compute/utils/tw.js +43 -0
- package/dist/src/assets/shader/core/base/Common_frag.d.ts +1 -0
- package/dist/src/assets/shader/core/base/Common_frag.js +62 -0
- package/dist/src/assets/shader/core/base/Common_vert.d.ts +1 -0
- package/dist/src/assets/shader/core/base/Common_vert.js +12 -0
- package/dist/src/assets/shader/core/common/BrdfLut_frag.d.ts +1 -0
- package/dist/src/assets/shader/core/common/BrdfLut_frag.js +6 -0
- package/dist/src/assets/shader/core/common/EnvMap_frag.d.ts +1 -0
- package/dist/src/assets/shader/core/common/EnvMap_frag.js +10 -0
- package/dist/src/assets/shader/core/common/GBufferStand.d.ts +1 -0
- package/dist/src/assets/shader/core/common/GBufferStand.js +171 -0
- package/dist/src/assets/shader/core/common/GlobalUniform.d.ts +4 -0
- package/dist/src/assets/shader/core/common/GlobalUniform.js +117 -0
- package/dist/src/assets/shader/core/common/InstanceUniform.d.ts +1 -0
- package/dist/src/assets/shader/core/common/InstanceUniform.js +9 -0
- package/dist/src/assets/shader/core/common/SHCommon_frag.d.ts +1 -0
- package/dist/src/assets/shader/core/common/SHCommon_frag.js +82 -0
- package/dist/src/assets/shader/core/common/WorldMatrixUniform.d.ts +1 -0
- package/dist/src/assets/shader/core/common/WorldMatrixUniform.js +8 -0
- package/dist/src/assets/shader/core/inline/Inline_vert.d.ts +1 -0
- package/dist/src/assets/shader/core/inline/Inline_vert.js +59 -0
- package/dist/src/assets/shader/core/pass/CastShadow_pass.d.ts +4 -0
- package/dist/src/assets/shader/core/pass/CastShadow_pass.js +284 -0
- package/dist/src/assets/shader/core/pass/FrustumCulling_cs.d.ts +4 -0
- package/dist/src/assets/shader/core/pass/FrustumCulling_cs.js +91 -0
- package/dist/src/assets/shader/core/pass/GBuffer_pass.d.ts +1 -0
- package/dist/src/assets/shader/core/pass/GBuffer_pass.js +72 -0
- package/dist/src/assets/shader/core/pass/SkyGBuffer_pass.d.ts +1 -0
- package/dist/src/assets/shader/core/pass/SkyGBuffer_pass.js +34 -0
- package/dist/src/assets/shader/core/pass/ZPassShader_cs.d.ts +1 -0
- package/dist/src/assets/shader/core/pass/ZPassShader_cs.js +14 -0
- package/dist/src/assets/shader/core/pass/ZPassShader_fs.d.ts +1 -0
- package/dist/src/assets/shader/core/pass/ZPassShader_fs.js +15 -0
- package/dist/src/assets/shader/core/pass/ZPassShader_vs.d.ts +1 -0
- package/dist/src/assets/shader/core/pass/ZPassShader_vs.js +83 -0
- package/dist/src/assets/shader/core/struct/ClusterLight.d.ts +4 -0
- package/dist/src/assets/shader/core/struct/ClusterLight.js +98 -0
- package/dist/src/assets/shader/core/struct/ColorPassFragmentOutput.d.ts +1 -0
- package/dist/src/assets/shader/core/struct/ColorPassFragmentOutput.js +16 -0
- package/dist/src/assets/shader/core/struct/FragmentOutput.d.ts +1 -0
- package/dist/src/assets/shader/core/struct/FragmentOutput.js +18 -0
- package/dist/src/assets/shader/core/struct/FragmentVarying.d.ts +1 -0
- package/dist/src/assets/shader/core/struct/FragmentVarying.js +23 -0
- package/dist/src/assets/shader/core/struct/ShadingInput.d.ts +1 -0
- package/dist/src/assets/shader/core/struct/ShadingInput.js +21 -0
- package/dist/src/assets/shader/core/struct/VertexAttributeIndexShader.d.ts +1 -0
- package/dist/src/assets/shader/core/struct/VertexAttributeIndexShader.js +100 -0
- package/dist/src/assets/shader/core/struct/VertexAttributes.d.ts +1 -0
- package/dist/src/assets/shader/core/struct/VertexAttributes.js +160 -0
- package/dist/src/assets/shader/env/ReflectionCG.d.ts +1 -0
- package/dist/src/assets/shader/env/ReflectionCG.js +86 -0
- package/dist/src/assets/shader/glsl/Quad_glsl.d.ts +2 -0
- package/dist/src/assets/shader/glsl/Quad_glsl.js +55 -0
- package/dist/src/assets/shader/lighting/BRDF_frag.d.ts +4 -0
- package/dist/src/assets/shader/lighting/BRDF_frag.js +461 -0
- package/dist/src/assets/shader/lighting/BsDF_frag.d.ts +4 -0
- package/dist/src/assets/shader/lighting/BsDF_frag.js +139 -0
- package/dist/src/assets/shader/lighting/BxDF_frag.d.ts +4 -0
- package/dist/src/assets/shader/lighting/BxDF_frag.js +210 -0
- package/dist/src/assets/shader/lighting/Hair_frag.d.ts +1 -0
- package/dist/src/assets/shader/lighting/Hair_frag.js +277 -0
- package/dist/src/assets/shader/lighting/IESProfiles_frag.d.ts +1 -0
- package/dist/src/assets/shader/lighting/IESProfiles_frag.js +33 -0
- package/dist/src/assets/shader/lighting/IrradianceVolumeData_frag.d.ts +1 -0
- package/dist/src/assets/shader/lighting/IrradianceVolumeData_frag.js +40 -0
- package/dist/src/assets/shader/lighting/Irradiance_frag.d.ts +4 -0
- package/dist/src/assets/shader/lighting/Irradiance_frag.js +270 -0
- package/dist/src/assets/shader/lighting/LightingFunction_frag.d.ts +1 -0
- package/dist/src/assets/shader/lighting/LightingFunction_frag.js +203 -0
- package/dist/src/assets/shader/lighting/UnLit_frag.d.ts +1 -0
- package/dist/src/assets/shader/lighting/UnLit_frag.js +30 -0
- package/dist/src/assets/shader/materials/ColorLitShader.d.ts +1 -0
- package/dist/src/assets/shader/materials/ColorLitShader.js +22 -0
- package/dist/src/assets/shader/materials/GIProbeShader.d.ts +1 -0
- package/dist/src/assets/shader/materials/GIProbeShader.js +34 -0
- package/dist/src/assets/shader/materials/GlassShader.d.ts +1 -0
- package/dist/src/assets/shader/materials/GlassShader.js +26 -0
- package/dist/src/assets/shader/materials/Hair_shader.d.ts +2 -0
- package/dist/src/assets/shader/materials/Hair_shader.js +210 -0
- package/dist/src/assets/shader/materials/Lambert_shader.d.ts +1 -0
- package/dist/src/assets/shader/materials/Lambert_shader.js +56 -0
- package/dist/src/assets/shader/materials/Lit_shader.d.ts +1 -0
- package/dist/src/assets/shader/materials/Lit_shader.js +21 -0
- package/dist/src/assets/shader/materials/OutlinePass.d.ts +1 -0
- package/dist/src/assets/shader/materials/OutlinePass.js +73 -0
- package/dist/src/assets/shader/materials/PBRLItShader.d.ts +4 -0
- package/dist/src/assets/shader/materials/PBRLItShader.js +155 -0
- package/dist/src/assets/shader/materials/PBRLitSSSShader.d.ts +4 -0
- package/dist/src/assets/shader/materials/PBRLitSSSShader.js +192 -0
- package/dist/src/assets/shader/materials/ReflectionShader_shader.d.ts +1 -0
- package/dist/src/assets/shader/materials/ReflectionShader_shader.js +63 -0
- package/dist/src/assets/shader/materials/UnLit.d.ts +4 -0
- package/dist/src/assets/shader/materials/UnLit.js +41 -0
- package/dist/src/assets/shader/materials/UnLitTextureArray.d.ts +1 -0
- package/dist/src/assets/shader/materials/UnLitTextureArray.js +100 -0
- package/dist/src/assets/shader/materials/program/BxdfDebug_frag.d.ts +4 -0
- package/dist/src/assets/shader/materials/program/BxdfDebug_frag.js +180 -0
- package/dist/src/assets/shader/materials/program/Clearcoat_frag.d.ts +1 -0
- package/dist/src/assets/shader/materials/program/Clearcoat_frag.js +38 -0
- package/dist/src/assets/shader/materials/program/ClusterDebug_frag.d.ts +1 -0
- package/dist/src/assets/shader/materials/program/ClusterDebug_frag.js +40 -0
- package/dist/src/assets/shader/materials/program/NormalMap_frag.d.ts +4 -0
- package/dist/src/assets/shader/materials/program/NormalMap_frag.js +65 -0
- package/dist/src/assets/shader/materials/program/ShadowMapping_frag.d.ts +1 -0
- package/dist/src/assets/shader/materials/program/ShadowMapping_frag.js +210 -0
- package/dist/src/assets/shader/materials/uniforms/PhysicMaterialUniform_frag.d.ts +1 -0
- package/dist/src/assets/shader/materials/uniforms/PhysicMaterialUniform_frag.js +37 -0
- package/dist/src/assets/shader/materials/uniforms/UnLitMaterialUniform_frag.d.ts +1 -0
- package/dist/src/assets/shader/materials/uniforms/UnLitMaterialUniform_frag.js +14 -0
- package/dist/src/assets/shader/materials/uniforms/VideoUniform_frag.d.ts +1 -0
- package/dist/src/assets/shader/materials/uniforms/VideoUniform_frag.js +12 -0
- package/dist/src/assets/shader/math/FastMathShader.d.ts +1 -0
- package/dist/src/assets/shader/math/FastMathShader.js +91 -0
- package/dist/src/assets/shader/math/MathShader.d.ts +4 -0
- package/dist/src/assets/shader/math/MathShader.js +558 -0
- package/dist/src/assets/shader/math/MatrixShader.d.ts +1 -0
- package/dist/src/assets/shader/math/MatrixShader.js +104 -0
- package/dist/src/assets/shader/post/FXAAShader.d.ts +1 -0
- package/dist/src/assets/shader/post/FXAAShader.js +79 -0
- package/dist/src/assets/shader/post/GlobalFog_shader.d.ts +4 -0
- package/dist/src/assets/shader/post/GlobalFog_shader.js +191 -0
- package/dist/src/assets/shader/quad/Quad_shader.d.ts +24 -0
- package/dist/src/assets/shader/quad/Quad_shader.js +210 -0
- package/dist/src/assets/shader/sky/AtmosphericScatteringSky_shader.d.ts +6 -0
- package/dist/src/assets/shader/sky/AtmosphericScatteringSky_shader.js +312 -0
- package/dist/src/assets/shader/sky/CubeSky_Shader.d.ts +7 -0
- package/dist/src/assets/shader/sky/CubeSky_Shader.js +122 -0
- package/dist/src/assets/shader/utils/BitUtil.d.ts +1 -0
- package/dist/src/assets/shader/utils/BitUtil.js +108 -0
- package/dist/src/assets/shader/utils/ColorUtil.d.ts +1 -0
- package/dist/src/assets/shader/utils/ColorUtil.js +144 -0
- package/dist/src/assets/shader/utils/GenerayRandomDir.d.ts +1 -0
- package/dist/src/assets/shader/utils/GenerayRandomDir.js +22 -0
- package/dist/src/components/AtmosphericComponent.d.ts +28 -0
- package/dist/src/components/AtmosphericComponent.js +141 -0
- package/dist/src/components/BillboardComponent.d.ts +13 -0
- package/dist/src/components/BillboardComponent.js +30 -0
- package/dist/src/components/ColliderComponent.d.ts +15 -0
- package/dist/src/components/ColliderComponent.js +39 -0
- package/dist/src/components/ComponentBase.d.ts +43 -0
- package/dist/src/components/ComponentBase.js +141 -0
- package/dist/src/components/IComponent.d.ts +27 -0
- package/dist/src/components/IComponent.js +1 -0
- package/dist/src/components/SkeletonAnimationComponent.d.ts +52 -0
- package/dist/src/components/SkeletonAnimationComponent.js +225 -0
- package/dist/src/components/Transform.d.ts +119 -0
- package/dist/src/components/Transform.js +523 -0
- package/dist/src/components/anim/AnimatorComponent.d.ts +67 -0
- package/dist/src/components/anim/AnimatorComponent.js +411 -0
- package/dist/src/components/anim/OAnimationEvent.d.ts +6 -0
- package/dist/src/components/anim/OAnimationEvent.js +8 -0
- package/dist/src/components/anim/curveAnim/AnimationMonitor.d.ts +29 -0
- package/dist/src/components/anim/curveAnim/AnimationMonitor.js +159 -0
- package/dist/src/components/anim/curveAnim/AttributeAnimCurve.d.ts +8 -0
- package/dist/src/components/anim/curveAnim/AttributeAnimCurve.js +15 -0
- package/dist/src/components/anim/curveAnim/PropertyAnimClip.d.ts +29 -0
- package/dist/src/components/anim/curveAnim/PropertyAnimClip.js +54 -0
- package/dist/src/components/anim/curveAnim/PropertyAnimation.d.ts +31 -0
- package/dist/src/components/anim/curveAnim/PropertyAnimation.js +107 -0
- package/dist/src/components/anim/curveAnim/PropertyAnimationEvent.d.ts +14 -0
- package/dist/src/components/anim/curveAnim/PropertyAnimationEvent.js +11 -0
- package/dist/src/components/anim/curveAnim/PropertyHelp.d.ts +13 -0
- package/dist/src/components/anim/curveAnim/PropertyHelp.js +96 -0
- package/dist/src/components/anim/morphAnim/MorphTargetBlender.d.ts +18 -0
- package/dist/src/components/anim/morphAnim/MorphTargetBlender.js +81 -0
- package/dist/src/components/anim/morphAnim/MorphTargetData.d.ts +52 -0
- package/dist/src/components/anim/morphAnim/MorphTargetData.js +183 -0
- package/dist/src/components/anim/morphAnim/MorphTargetFrame.d.ts +68 -0
- package/dist/src/components/anim/morphAnim/MorphTargetFrame.js +4 -0
- package/dist/src/components/anim/morphAnim/MorphTargetKey.d.ts +58 -0
- package/dist/src/components/anim/morphAnim/MorphTargetKey.js +55 -0
- package/dist/src/components/anim/morphAnim/MorphTarget_shader.d.ts +8 -0
- package/dist/src/components/anim/morphAnim/MorphTarget_shader.js +101 -0
- package/dist/src/components/anim/skeletonAnim/Joint.d.ts +12 -0
- package/dist/src/components/anim/skeletonAnim/Joint.js +14 -0
- package/dist/src/components/anim/skeletonAnim/JointPose.d.ts +6 -0
- package/dist/src/components/anim/skeletonAnim/JointPose.js +7 -0
- package/dist/src/components/anim/skeletonAnim/Skeleton.d.ts +10 -0
- package/dist/src/components/anim/skeletonAnim/Skeleton.js +26 -0
- package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClip.d.ts +22 -0
- package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClip.js +70 -0
- package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClipState.d.ts +21 -0
- package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClipState.js +80 -0
- package/dist/src/components/anim/skeletonAnim/SkeletonAnimationCompute.d.ts +6 -0
- package/dist/src/components/anim/skeletonAnim/SkeletonAnimationCompute.js +27 -0
- package/dist/src/components/anim/skeletonAnim/SkeletonPose.d.ts +16 -0
- package/dist/src/components/anim/skeletonAnim/SkeletonPose.js +79 -0
- package/dist/src/components/anim/skeletonAnim/buffer/SkeletonBlendComputeArgs.d.ts +23 -0
- package/dist/src/components/anim/skeletonAnim/buffer/SkeletonBlendComputeArgs.js +61 -0
- package/dist/src/components/anim/skeletonAnim/buffer/SkeletonTransformComputeArgs.d.ts +23 -0
- package/dist/src/components/anim/skeletonAnim/buffer/SkeletonTransformComputeArgs.js +59 -0
- package/dist/src/components/controller/CameraControllerBase.d.ts +17 -0
- package/dist/src/components/controller/CameraControllerBase.js +33 -0
- package/dist/src/components/controller/FirstPersonCameraController.d.ts +15 -0
- package/dist/src/components/controller/FirstPersonCameraController.js +52 -0
- package/dist/src/components/controller/FlyCameraController.d.ts +36 -0
- package/dist/src/components/controller/FlyCameraController.js +180 -0
- package/dist/src/components/controller/HoverCameraController.d.ts +52 -0
- package/dist/src/components/controller/HoverCameraController.js +183 -0
- package/dist/src/components/controller/OrbitController.d.ts +170 -0
- package/dist/src/components/controller/OrbitController.js +339 -0
- package/dist/src/components/controller/ThirdPersonCameraController.d.ts +16 -0
- package/dist/src/components/controller/ThirdPersonCameraController.js +51 -0
- package/dist/src/components/gui/GUIConfig.d.ts +23 -0
- package/dist/src/components/gui/GUIConfig.js +26 -0
- package/dist/src/components/gui/GUIExtension.d.ts +5 -0
- package/dist/src/components/gui/GUIExtension.js +61 -0
- package/dist/src/components/gui/GUIPick.d.ts +36 -0
- package/dist/src/components/gui/GUIPick.js +178 -0
- package/dist/src/components/gui/GUIPickHelper.d.ts +25 -0
- package/dist/src/components/gui/GUIPickHelper.js +119 -0
- package/dist/src/components/gui/core/GUIAtlasTexture.d.ts +16 -0
- package/dist/src/components/gui/core/GUIAtlasTexture.js +22 -0
- package/dist/src/components/gui/core/GUICanvas.d.ts +21 -0
- package/dist/src/components/gui/core/GUICanvas.js +35 -0
- package/dist/src/components/gui/core/GUIDefine.d.ts +7 -0
- package/dist/src/components/gui/core/GUIDefine.js +8 -0
- package/dist/src/components/gui/core/GUIGeometry.d.ts +36 -0
- package/dist/src/components/gui/core/GUIGeometry.js +215 -0
- package/dist/src/components/gui/core/GUIGeometryRebuild.d.ts +21 -0
- package/dist/src/components/gui/core/GUIGeometryRebuild.js +105 -0
- package/dist/src/components/gui/core/GUIMaterial.d.ts +29 -0
- package/dist/src/components/gui/core/GUIMaterial.js +111 -0
- package/dist/src/components/gui/core/GUIQuad.d.ts +52 -0
- package/dist/src/components/gui/core/GUIQuad.js +154 -0
- package/dist/src/components/gui/core/GUIRenderer.d.ts +15 -0
- package/dist/src/components/gui/core/GUIRenderer.js +42 -0
- package/dist/src/components/gui/core/GUIShader.d.ts +8 -0
- package/dist/src/components/gui/core/GUIShader.js +267 -0
- package/dist/src/components/gui/core/GUISprite.d.ts +19 -0
- package/dist/src/components/gui/core/GUISprite.js +19 -0
- package/dist/src/components/gui/core/GUITexture.d.ts +12 -0
- package/dist/src/components/gui/core/GUITexture.js +25 -0
- package/dist/src/components/gui/uiComponents/IUIInteractive.d.ts +25 -0
- package/dist/src/components/gui/uiComponents/IUIInteractive.js +7 -0
- package/dist/src/components/gui/uiComponents/TextFieldLayout.d.ts +34 -0
- package/dist/src/components/gui/uiComponents/TextFieldLayout.js +265 -0
- package/dist/src/components/gui/uiComponents/UIButton.d.ts +45 -0
- package/dist/src/components/gui/uiComponents/UIButton.js +140 -0
- package/dist/src/components/gui/uiComponents/UIComponentBase.d.ts +15 -0
- package/dist/src/components/gui/uiComponents/UIComponentBase.js +33 -0
- package/dist/src/components/gui/uiComponents/UIImage.d.ts +21 -0
- package/dist/src/components/gui/uiComponents/UIImage.js +72 -0
- package/dist/src/components/gui/uiComponents/UIImageGroup.d.ts +31 -0
- package/dist/src/components/gui/uiComponents/UIImageGroup.js +87 -0
- package/dist/src/components/gui/uiComponents/UIInteractive.d.ts +25 -0
- package/dist/src/components/gui/uiComponents/UIInteractive.js +50 -0
- package/dist/src/components/gui/uiComponents/UIPanel.d.ts +38 -0
- package/dist/src/components/gui/uiComponents/UIPanel.js +173 -0
- package/dist/src/components/gui/uiComponents/UIRenderAble.d.ts +27 -0
- package/dist/src/components/gui/uiComponents/UIRenderAble.js +106 -0
- package/dist/src/components/gui/uiComponents/UIShadow.d.ts +31 -0
- package/dist/src/components/gui/uiComponents/UIShadow.js +117 -0
- package/dist/src/components/gui/uiComponents/UITextField.d.ts +36 -0
- package/dist/src/components/gui/uiComponents/UITextField.js +122 -0
- package/dist/src/components/gui/uiComponents/UITransform.d.ts +60 -0
- package/dist/src/components/gui/uiComponents/UITransform.js +243 -0
- package/dist/src/components/gui/uiComponents/ViewPanel.d.ts +9 -0
- package/dist/src/components/gui/uiComponents/ViewPanel.js +13 -0
- package/dist/src/components/gui/uiComponents/WorldPanel.d.ts +13 -0
- package/dist/src/components/gui/uiComponents/WorldPanel.js +34 -0
- package/dist/src/components/lights/DirectLight.d.ts +13 -0
- package/dist/src/components/lights/DirectLight.js +52 -0
- package/dist/src/components/lights/GILighting.d.ts +6 -0
- package/dist/src/components/lights/GILighting.js +15 -0
- package/dist/src/components/lights/IESProfiles.d.ts +14 -0
- package/dist/src/components/lights/IESProfiles.js +33 -0
- package/dist/src/components/lights/ILight.d.ts +12 -0
- package/dist/src/components/lights/ILight.js +1 -0
- package/dist/src/components/lights/Light.d.ts +32 -0
- package/dist/src/components/lights/Light.js +90 -0
- package/dist/src/components/lights/LightBase.d.ts +127 -0
- package/dist/src/components/lights/LightBase.js +238 -0
- package/dist/src/components/lights/LightData.d.ts +29 -0
- package/dist/src/components/lights/LightData.js +33 -0
- package/dist/src/components/lights/PointLight.d.ts +19 -0
- package/dist/src/components/lights/PointLight.js +67 -0
- package/dist/src/components/lights/SpotLight.d.ts +21 -0
- package/dist/src/components/lights/SpotLight.js +79 -0
- package/dist/src/components/post/PostProcessingComponent.d.ts +16 -0
- package/dist/src/components/post/PostProcessingComponent.js +52 -0
- package/dist/src/components/renderer/GlobalIlluminationComponent.d.ts +22 -0
- package/dist/src/components/renderer/GlobalIlluminationComponent.js +118 -0
- package/dist/src/components/renderer/InstanceDrawComponent.d.ts +19 -0
- package/dist/src/components/renderer/InstanceDrawComponent.js +120 -0
- package/dist/src/components/renderer/MeshFilter.d.ts +9 -0
- package/dist/src/components/renderer/MeshFilter.js +37 -0
- package/dist/src/components/renderer/MeshRenderer.d.ts +51 -0
- package/dist/src/components/renderer/MeshRenderer.js +156 -0
- package/dist/src/components/renderer/Reflection.d.ts +15 -0
- package/dist/src/components/renderer/Reflection.js +33 -0
- package/dist/src/components/renderer/RenderNode.d.ts +85 -0
- package/dist/src/components/renderer/RenderNode.js +518 -0
- package/dist/src/components/renderer/SkinnedMeshRenderer.d.ts +26 -0
- package/dist/src/components/renderer/SkinnedMeshRenderer.js +111 -0
- package/dist/src/components/renderer/SkinnedMeshRenderer2.d.ts +37 -0
- package/dist/src/components/renderer/SkinnedMeshRenderer2.js +138 -0
- package/dist/src/components/renderer/SkyRenderer.d.ts +36 -0
- package/dist/src/components/renderer/SkyRenderer.js +94 -0
- package/dist/src/components/renderer/SphereReflection.d.ts +12 -0
- package/dist/src/components/renderer/SphereReflection.js +45 -0
- package/dist/src/components/shape/BoxColliderShape.d.ts +9 -0
- package/dist/src/components/shape/BoxColliderShape.js +28 -0
- package/dist/src/components/shape/CapsuleColliderShape.d.ts +6 -0
- package/dist/src/components/shape/CapsuleColliderShape.js +9 -0
- package/dist/src/components/shape/ColliderShape.d.ts +35 -0
- package/dist/src/components/shape/ColliderShape.js +49 -0
- package/dist/src/components/shape/MeshColliderShape.d.ts +8 -0
- package/dist/src/components/shape/MeshColliderShape.js +55 -0
- package/dist/src/components/shape/SphereColliderShape.d.ts +26 -0
- package/dist/src/components/shape/SphereColliderShape.js +47 -0
- package/dist/src/core/Camera3D.d.ts +308 -0
- package/dist/src/core/Camera3D.js +534 -0
- package/dist/src/core/CameraType.d.ts +5 -0
- package/dist/src/core/CameraType.js +6 -0
- package/dist/src/core/CubeCamera.d.ts +18 -0
- package/dist/src/core/CubeCamera.js +67 -0
- package/dist/src/core/PointShadowCubeCamera.d.ts +13 -0
- package/dist/src/core/PointShadowCubeCamera.js +59 -0
- package/dist/src/core/Scene3D.d.ts +66 -0
- package/dist/src/core/Scene3D.js +88 -0
- package/dist/src/core/View3D.d.ts +85 -0
- package/dist/src/core/View3D.js +113 -0
- package/dist/src/core/ViewQuad.d.ts +19 -0
- package/dist/src/core/ViewQuad.js +84 -0
- package/dist/src/core/bound/BoundingBox.d.ts +34 -0
- package/dist/src/core/bound/BoundingBox.js +155 -0
- package/dist/src/core/bound/BoundingSphere.d.ts +34 -0
- package/dist/src/core/bound/BoundingSphere.js +71 -0
- package/dist/src/core/bound/Frustum.d.ts +17 -0
- package/dist/src/core/bound/Frustum.js +184 -0
- package/dist/src/core/bound/IBound.d.ts +19 -0
- package/dist/src/core/bound/IBound.js +1 -0
- package/dist/src/core/csm/CSM.d.ts +3 -0
- package/dist/src/core/csm/CSM.js +3 -0
- package/dist/src/core/csm/FrustumCSM.d.ts +32 -0
- package/dist/src/core/csm/FrustumCSM.js +106 -0
- package/dist/src/core/entities/Entity.d.ts +43 -0
- package/dist/src/core/entities/Entity.js +200 -0
- package/dist/src/core/entities/InstancedMesh.d.ts +11 -0
- package/dist/src/core/entities/InstancedMesh.js +32 -0
- package/dist/src/core/entities/Object3D.d.ts +66 -0
- package/dist/src/core/entities/Object3D.js +284 -0
- package/dist/src/core/geometry/ExtrudeGeometry.d.ts +31 -0
- package/dist/src/core/geometry/ExtrudeGeometry.js +156 -0
- package/dist/src/core/geometry/GeometryBase.d.ts +70 -0
- package/dist/src/core/geometry/GeometryBase.js +248 -0
- package/dist/src/core/geometry/GeometryIndicesBuffer.d.ts +15 -0
- package/dist/src/core/geometry/GeometryIndicesBuffer.js +33 -0
- package/dist/src/core/geometry/GeometryVertexBuffer.d.ts +23 -0
- package/dist/src/core/geometry/GeometryVertexBuffer.js +243 -0
- package/dist/src/core/geometry/GeometryVertexType.d.ts +5 -0
- package/dist/src/core/geometry/GeometryVertexType.js +6 -0
- package/dist/src/core/geometry/VertexAttribute.d.ts +15 -0
- package/dist/src/core/geometry/VertexAttribute.js +4 -0
- package/dist/src/core/geometry/VertexAttributeData.d.ts +5 -0
- package/dist/src/core/geometry/VertexAttributeData.js +1 -0
- package/dist/src/core/geometry/VertexAttributeName.d.ts +23 -0
- package/dist/src/core/geometry/VertexAttributeName.js +24 -0
- package/dist/src/core/geometry/VertexAttributeSize.d.ts +11 -0
- package/dist/src/core/geometry/VertexAttributeSize.js +12 -0
- package/dist/src/core/geometry/VertexAttributeStride.d.ts +15 -0
- package/dist/src/core/geometry/VertexAttributeStride.js +16 -0
- package/dist/src/core/geometry/VertexFormat.d.ts +1 -0
- package/dist/src/core/geometry/VertexFormat.js +8 -0
- package/dist/src/core/pool/ObjectPool.d.ts +11 -0
- package/dist/src/core/pool/ObjectPool.js +33 -0
- package/dist/src/core/pool/memory/MemoryDO.d.ts +14 -0
- package/dist/src/core/pool/memory/MemoryDO.js +48 -0
- package/dist/src/core/pool/memory/MemoryInfo.d.ts +83 -0
- package/dist/src/core/pool/memory/MemoryInfo.js +316 -0
- package/dist/src/core/tree/kdTree/IKDTreeUserData.d.ts +10 -0
- package/dist/src/core/tree/kdTree/IKDTreeUserData.js +9 -0
- package/dist/src/core/tree/kdTree/KDTreeEntity.d.ts +27 -0
- package/dist/src/core/tree/kdTree/KDTreeEntity.js +48 -0
- package/dist/src/core/tree/kdTree/KDTreeNode.d.ts +68 -0
- package/dist/src/core/tree/kdTree/KDTreeNode.js +257 -0
- package/dist/src/core/tree/kdTree/KDTreeSpace.d.ts +26 -0
- package/dist/src/core/tree/kdTree/KDTreeSpace.js +66 -0
- package/dist/src/core/tree/octree/Octree.d.ts +28 -0
- package/dist/src/core/tree/octree/Octree.js +133 -0
- package/dist/src/core/tree/octree/OctreeEntity.d.ts +11 -0
- package/dist/src/core/tree/octree/OctreeEntity.js +25 -0
- package/dist/src/core/tree/quad/IQuadNode.d.ts +9 -0
- package/dist/src/core/tree/quad/IQuadNode.js +1 -0
- package/dist/src/core/tree/quad/QuadAABB.d.ts +26 -0
- package/dist/src/core/tree/quad/QuadAABB.js +116 -0
- package/dist/src/core/tree/quad/QuadRoot.d.ts +14 -0
- package/dist/src/core/tree/quad/QuadRoot.js +67 -0
- package/dist/src/core/tree/quad/QuadTree.d.ts +22 -0
- package/dist/src/core/tree/quad/QuadTree.js +250 -0
- package/dist/src/core/tree/quad/QuadTreeCell.d.ts +23 -0
- package/dist/src/core/tree/quad/QuadTreeCell.js +36 -0
- package/dist/src/event/CEvent.d.ts +27 -0
- package/dist/src/event/CEvent.js +19 -0
- package/dist/src/event/CEventDispatcher.d.ts +13 -0
- package/dist/src/event/CEventDispatcher.js +129 -0
- package/dist/src/event/CEventListener.d.ts +13 -0
- package/dist/src/event/CEventListener.js +26 -0
- package/dist/src/event/CResizeEvent.d.ts +4 -0
- package/dist/src/event/CResizeEvent.js +4 -0
- package/dist/src/event/KeyCode.d.ts +110 -0
- package/dist/src/event/KeyCode.js +111 -0
- package/dist/src/event/MouseCode.d.ts +5 -0
- package/dist/src/event/MouseCode.js +6 -0
- package/dist/src/event/eventConst/KeyEvent.d.ts +6 -0
- package/dist/src/event/eventConst/KeyEvent.js +9 -0
- package/dist/src/event/eventConst/LoaderEvent.d.ts +5 -0
- package/dist/src/event/eventConst/LoaderEvent.js +5 -0
- package/dist/src/event/eventConst/Object3DEvent.d.ts +7 -0
- package/dist/src/event/eventConst/Object3DEvent.js +7 -0
- package/dist/src/event/eventConst/PointerEvent3D.d.ts +63 -0
- package/dist/src/event/eventConst/PointerEvent3D.js +54 -0
- package/dist/src/event/eventConst/UIEvent.d.ts +6 -0
- package/dist/src/event/eventConst/UIEvent.js +6 -0
- package/dist/src/gfx/generate/BrdfLUTGenerate.d.ts +7 -0
- package/dist/src/gfx/generate/BrdfLUTGenerate.js +20 -0
- package/dist/src/gfx/generate/PassGenerate.d.ts +9 -0
- package/dist/src/gfx/generate/PassGenerate.js +181 -0
- package/dist/src/gfx/generate/convert/BlurEffectCreator.d.ts +7 -0
- package/dist/src/gfx/generate/convert/BlurEffectCreator.js +79 -0
- package/dist/src/gfx/generate/convert/ErpImage2CubeMap.d.ts +9 -0
- package/dist/src/gfx/generate/convert/ErpImage2CubeMap.js +144 -0
- package/dist/src/gfx/generate/convert/IBLEnvMapCreator.d.ts +12 -0
- package/dist/src/gfx/generate/convert/IBLEnvMapCreator.js +109 -0
- package/dist/src/gfx/generate/convert/MergeRGBACreator.d.ts +5 -0
- package/dist/src/gfx/generate/convert/MergeRGBACreator.js +32 -0
- package/dist/src/gfx/generate/convert/TextureCubeStdCreator.d.ts +9 -0
- package/dist/src/gfx/generate/convert/TextureCubeStdCreator.js +117 -0
- package/dist/src/gfx/generate/convert/TextureCubeUtils.d.ts +12 -0
- package/dist/src/gfx/generate/convert/TextureCubeUtils.js +47 -0
- package/dist/src/gfx/generate/convert/TextureScaleCompute.d.ts +6 -0
- package/dist/src/gfx/generate/convert/TextureScaleCompute.js +18 -0
- package/dist/src/gfx/graphics/webGpu/CanvasConfig.d.ts +7 -0
- package/dist/src/gfx/graphics/webGpu/CanvasConfig.js +1 -0
- package/dist/src/gfx/graphics/webGpu/Context3D.d.ts +20 -0
- package/dist/src/gfx/graphics/webGpu/Context3D.js +112 -0
- package/dist/src/gfx/graphics/webGpu/PipelinePool.d.ts +5 -0
- package/dist/src/gfx/graphics/webGpu/PipelinePool.js +15 -0
- package/dist/src/gfx/graphics/webGpu/WebGPUConst.d.ts +154 -0
- package/dist/src/gfx/graphics/webGpu/WebGPUConst.js +154 -0
- package/dist/src/gfx/graphics/webGpu/compute/PreIntegratedLutCompute.d.ts +8 -0
- package/dist/src/gfx/graphics/webGpu/compute/PreIntegratedLutCompute.js +23 -0
- package/dist/src/gfx/graphics/webGpu/compute/RenderShaderCompute.d.ts +12 -0
- package/dist/src/gfx/graphics/webGpu/compute/RenderShaderCompute.js +19 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroup.d.ts +18 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroup.js +64 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroupLayout.d.ts +4 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroupLayout.js +29 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalUniformGroup.d.ts +25 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalUniformGroup.js +179 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/MatrixBindGroup.d.ts +11 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/MatrixBindGroup.js +22 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/LightEntries.d.ts +11 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/LightEntries.js +48 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ProbeEntries.d.ts +10 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ProbeEntries.js +41 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ReflectionEntries.d.ts +12 -0
- package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ReflectionEntries.js +21 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/ArrayBufferData.d.ts +1 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/ArrayBufferData.js +1 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/ComputeGPUBuffer.d.ts +4 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/ComputeGPUBuffer.js +11 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferBase.d.ts +84 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferBase.js +493 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferType.d.ts +9 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferType.js +10 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/IndicesGPUBuffer.d.ts +14 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/IndicesGPUBuffer.js +44 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/MaterialDataUniformGPUBuffer.d.ts +10 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/MaterialDataUniformGPUBuffer.js +46 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/MatrixGPUBuffer.d.ts +8 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/MatrixGPUBuffer.js +57 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/StorageGPUBuffer.d.ts +11 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/StorageGPUBuffer.js +16 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/StructStorageGPUBuffer.d.ts +7 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/StructStorageGPUBuffer.js +9 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/UniformGPUBuffer.d.ts +11 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/UniformGPUBuffer.js +17 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/VertexGPUBuffer.d.ts +7 -0
- package/dist/src/gfx/graphics/webGpu/core/buffer/VertexGPUBuffer.js +29 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/ITexture.d.ts +18 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/ITexture.js +1 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/Texture.d.ts +79 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/Texture.js +307 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/TextureCube.d.ts +11 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/TextureCube.js +51 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapCompute.d.ts +9 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapCompute.js +134 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapGenerator.d.ts +9 -0
- package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapGenerator.js +163 -0
- package/dist/src/gfx/graphics/webGpu/core/uniforms/UniformNode.d.ts +34 -0
- package/dist/src/gfx/graphics/webGpu/core/uniforms/UniformNode.js +176 -0
- package/dist/src/gfx/graphics/webGpu/descriptor/RTDescriptor.d.ts +5 -0
- package/dist/src/gfx/graphics/webGpu/descriptor/RTDescriptor.js +7 -0
- package/dist/src/gfx/graphics/webGpu/descriptor/WebGPUDescriptorCreator.d.ts +8 -0
- package/dist/src/gfx/graphics/webGpu/descriptor/WebGPUDescriptorCreator.js +174 -0
- package/dist/src/gfx/graphics/webGpu/shader/ComputeShader.d.ts +28 -0
- package/dist/src/gfx/graphics/webGpu/shader/ComputeShader.js +219 -0
- package/dist/src/gfx/graphics/webGpu/shader/RenderShaderPass.d.ts +206 -0
- package/dist/src/gfx/graphics/webGpu/shader/RenderShaderPass.js +888 -0
- package/dist/src/gfx/graphics/webGpu/shader/Shader.d.ts +53 -0
- package/dist/src/gfx/graphics/webGpu/shader/Shader.js +205 -0
- package/dist/src/gfx/graphics/webGpu/shader/ShaderPassBase.d.ts +60 -0
- package/dist/src/gfx/graphics/webGpu/shader/ShaderPassBase.js +150 -0
- package/dist/src/gfx/graphics/webGpu/shader/ShaderStage.d.ts +5 -0
- package/dist/src/gfx/graphics/webGpu/shader/ShaderStage.js +6 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexer.d.ts +16 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexer.js +422 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexerToken.d.ts +174 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexerToken.js +388 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLPreprocessor.d.ts +10 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLPreprocessor.js +198 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLSyntax.d.ts +14 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLSyntax.js +106 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/Reader.d.ts +30 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/Reader.js +136 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/ShaderConverter.d.ts +47 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/ShaderConverter.js +69 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/StatementNode.d.ts +309 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/StatementNode.js +1804 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/WGSLTranslator.d.ts +50 -0
- package/dist/src/gfx/graphics/webGpu/shader/converter/WGSLTranslator.js +272 -0
- package/dist/src/gfx/graphics/webGpu/shader/util/MorePassParser.d.ts +25 -0
- package/dist/src/gfx/graphics/webGpu/shader/util/MorePassParser.js +134 -0
- package/dist/src/gfx/graphics/webGpu/shader/util/Preprocessor.d.ts +28 -0
- package/dist/src/gfx/graphics/webGpu/shader/util/Preprocessor.js +304 -0
- package/dist/src/gfx/graphics/webGpu/shader/util/ShaderUtil.d.ts +23 -0
- package/dist/src/gfx/graphics/webGpu/shader/util/ShaderUtil.js +6 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/ConstValue.d.ts +1 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/ConstValue.js +1 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/DefineValue.d.ts +4 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/DefineValue.js +1 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/ShaderReflectionInfo.d.ts +57 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/ShaderReflectionInfo.js +421 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/ShaderState.d.ts +30 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/ShaderState.js +113 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/ShaderValue.d.ts +32 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/ShaderValue.js +1 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/UniformValue.d.ts +13 -0
- package/dist/src/gfx/graphics/webGpu/shader/value/UniformValue.js +9 -0
- package/dist/src/gfx/renderJob/GPUContext.d.ts +32 -0
- package/dist/src/gfx/renderJob/GPUContext.js +152 -0
- package/dist/src/gfx/renderJob/collect/CollectInfo.d.ts +7 -0
- package/dist/src/gfx/renderJob/collect/CollectInfo.js +10 -0
- package/dist/src/gfx/renderJob/collect/ComponentCollect.d.ts +29 -0
- package/dist/src/gfx/renderJob/collect/ComponentCollect.js +134 -0
- package/dist/src/gfx/renderJob/collect/EntityBatchCollect.d.ts +7 -0
- package/dist/src/gfx/renderJob/collect/EntityBatchCollect.js +24 -0
- package/dist/src/gfx/renderJob/collect/EntityCollect.d.ts +48 -0
- package/dist/src/gfx/renderJob/collect/EntityCollect.js +260 -0
- package/dist/src/gfx/renderJob/collect/RenderGroup.d.ts +7 -0
- package/dist/src/gfx/renderJob/collect/RenderGroup.js +1 -0
- package/dist/src/gfx/renderJob/collect/RenderShaderCollect.d.ts +9 -0
- package/dist/src/gfx/renderJob/collect/RenderShaderCollect.js +51 -0
- package/dist/src/gfx/renderJob/collect/ShadowLightsCollect.d.ts +20 -0
- package/dist/src/gfx/renderJob/collect/ShadowLightsCollect.js +182 -0
- package/dist/src/gfx/renderJob/config/RTResourceConfig.d.ts +10 -0
- package/dist/src/gfx/renderJob/config/RTResourceConfig.js +10 -0
- package/dist/src/gfx/renderJob/config/RenderLayer.d.ts +11 -0
- package/dist/src/gfx/renderJob/config/RenderLayer.js +20 -0
- package/dist/src/gfx/renderJob/frame/GBufferFrame.d.ts +19 -0
- package/dist/src/gfx/renderJob/frame/GBufferFrame.js +74 -0
- package/dist/src/gfx/renderJob/frame/ProbeGBufferFrame.d.ts +5 -0
- package/dist/src/gfx/renderJob/frame/ProbeGBufferFrame.js +37 -0
- package/dist/src/gfx/renderJob/frame/RTFrame.d.ts +17 -0
- package/dist/src/gfx/renderJob/frame/RTFrame.js +34 -0
- package/dist/src/gfx/renderJob/frame/RTResourceMap.d.ts +13 -0
- package/dist/src/gfx/renderJob/frame/RTResourceMap.js +71 -0
- package/dist/src/gfx/renderJob/jobs/ForwardRenderJob.d.ts +7 -0
- package/dist/src/gfx/renderJob/jobs/ForwardRenderJob.js +45 -0
- package/dist/src/gfx/renderJob/jobs/RenderMap.d.ts +12 -0
- package/dist/src/gfx/renderJob/jobs/RenderMap.js +29 -0
- package/dist/src/gfx/renderJob/jobs/RendererJob.d.ts +43 -0
- package/dist/src/gfx/renderJob/jobs/RendererJob.js +123 -0
- package/dist/src/gfx/renderJob/occlusion/OcclusionSystem.d.ts +16 -0
- package/dist/src/gfx/renderJob/occlusion/OcclusionSystem.js +30 -0
- package/dist/src/gfx/renderJob/passRenderer/RenderContext.d.ts +20 -0
- package/dist/src/gfx/renderJob/passRenderer/RenderContext.js +68 -0
- package/dist/src/gfx/renderJob/passRenderer/RendererBase.d.ts +40 -0
- package/dist/src/gfx/renderJob/passRenderer/RendererBase.js +155 -0
- package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterConfig.d.ts +5 -0
- package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterConfig.js +5 -0
- package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingBuffer.d.ts +10 -0
- package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingBuffer.js +29 -0
- package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingRender.d.ts +20 -0
- package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingRender.js +74 -0
- package/dist/src/gfx/renderJob/passRenderer/color/ColorPassRenderer.d.ts +12 -0
- package/dist/src/gfx/renderJob/passRenderer/color/ColorPassRenderer.js +97 -0
- package/dist/src/gfx/renderJob/passRenderer/color/GUIPassRenderer.d.ts +13 -0
- package/dist/src/gfx/renderJob/passRenderer/color/GUIPassRenderer.js +79 -0
- package/dist/src/gfx/renderJob/passRenderer/cubeRenderer/ReflectionRenderer.d.ts +36 -0
- package/dist/src/gfx/renderJob/passRenderer/cubeRenderer/ReflectionRenderer.js +172 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceComputePass.d.ts +18 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceComputePass.js +52 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceGPUBufferReader.d.ts +22 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceGPUBufferReader.js +68 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceVolume.d.ts +32 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceVolume.js +113 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGILightingPass.d.ts +17 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGILightingPass.js +47 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIMultiBouncePass.d.ts +13 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIMultiBouncePass.js +40 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIProbeRenderer.d.ts +46 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIProbeRenderer.js +292 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/Probe.d.ts +6 -0
- package/dist/src/gfx/renderJob/passRenderer/ddgi/Probe.js +8 -0
- package/dist/src/gfx/renderJob/passRenderer/post/PostRenderer.d.ts +19 -0
- package/dist/src/gfx/renderJob/passRenderer/post/PostRenderer.js +61 -0
- package/dist/src/gfx/renderJob/passRenderer/preDepth/PreDepthPassRenderer.d.ts +16 -0
- package/dist/src/gfx/renderJob/passRenderer/preDepth/PreDepthPassRenderer.js +80 -0
- package/dist/src/gfx/renderJob/passRenderer/preDepth/ZCullingCompute.d.ts +12 -0
- package/dist/src/gfx/renderJob/passRenderer/preDepth/ZCullingCompute.js +26 -0
- package/dist/src/gfx/renderJob/passRenderer/shadow/PointLightShadowRenderer.d.ts +32 -0
- package/dist/src/gfx/renderJob/passRenderer/shadow/PointLightShadowRenderer.js +193 -0
- package/dist/src/gfx/renderJob/passRenderer/shadow/ShadowMapPassRenderer.d.ts +27 -0
- package/dist/src/gfx/renderJob/passRenderer/shadow/ShadowMapPassRenderer.js +224 -0
- package/dist/src/gfx/renderJob/passRenderer/state/PassType.d.ts +13 -0
- package/dist/src/gfx/renderJob/passRenderer/state/PassType.js +14 -0
- package/dist/src/gfx/renderJob/passRenderer/state/RendererMask.d.ts +18 -0
- package/dist/src/gfx/renderJob/passRenderer/state/RendererMask.js +27 -0
- package/dist/src/gfx/renderJob/passRenderer/state/RendererPassState.d.ts +27 -0
- package/dist/src/gfx/renderJob/passRenderer/state/RendererPassState.js +24 -0
- package/dist/src/gfx/renderJob/post/BloomPost.d.ts +45 -0
- package/dist/src/gfx/renderJob/post/BloomPost.js +245 -0
- package/dist/src/gfx/renderJob/post/DepthOfFieldPost.d.ts +56 -0
- package/dist/src/gfx/renderJob/post/DepthOfFieldPost.js +146 -0
- package/dist/src/gfx/renderJob/post/FXAAPost.d.ts +18 -0
- package/dist/src/gfx/renderJob/post/FXAAPost.js +34 -0
- package/dist/src/gfx/renderJob/post/GBufferPost.d.ts +35 -0
- package/dist/src/gfx/renderJob/post/GBufferPost.js +107 -0
- package/dist/src/gfx/renderJob/post/GTAOPost.d.ts +67 -0
- package/dist/src/gfx/renderJob/post/GTAOPost.js +167 -0
- package/dist/src/gfx/renderJob/post/GlobalFog.d.ts +69 -0
- package/dist/src/gfx/renderJob/post/GlobalFog.js +208 -0
- package/dist/src/gfx/renderJob/post/GodRayPost.d.ts +56 -0
- package/dist/src/gfx/renderJob/post/GodRayPost.js +126 -0
- package/dist/src/gfx/renderJob/post/OutlinePost.d.ts +93 -0
- package/dist/src/gfx/renderJob/post/OutlinePost.js +212 -0
- package/dist/src/gfx/renderJob/post/PostBase.d.ts +35 -0
- package/dist/src/gfx/renderJob/post/PostBase.js +78 -0
- package/dist/src/gfx/renderJob/post/SSGIPost.d.ts +67 -0
- package/dist/src/gfx/renderJob/post/SSGIPost.js +210 -0
- package/dist/src/gfx/renderJob/post/SSRPost.d.ts +76 -0
- package/dist/src/gfx/renderJob/post/SSRPost.js +238 -0
- package/dist/src/gfx/renderJob/post/TAAPost.d.ts +40 -0
- package/dist/src/gfx/renderJob/post/TAAPost.js +183 -0
- package/dist/src/index.d.ts +571 -0
- package/dist/src/index.js +571 -0
- package/dist/src/io/InputSystem.d.ts +49 -0
- package/dist/src/io/InputSystem.js +382 -0
- package/dist/src/io/OutlineManager.d.ts +11 -0
- package/dist/src/io/OutlineManager.js +39 -0
- package/dist/src/io/OutlinePostData.d.ts +22 -0
- package/dist/src/io/OutlinePostData.js +54 -0
- package/dist/src/io/PickFire.d.ts +32 -0
- package/dist/src/io/PickFire.js +195 -0
- package/dist/src/io/PickResult.d.ts +59 -0
- package/dist/src/io/PickResult.js +29 -0
- package/dist/src/io/RayCastMeshDetail.d.ts +32 -0
- package/dist/src/io/RayCastMeshDetail.js +119 -0
- package/dist/src/io/TouchData.d.ts +12 -0
- package/dist/src/io/TouchData.js +13 -0
- package/dist/src/io/picker/PickCompute.d.ts +14 -0
- package/dist/src/io/picker/PickCompute.js +53 -0
- package/dist/src/loader/FileLoader.d.ts +7 -0
- package/dist/src/loader/FileLoader.js +70 -0
- package/dist/src/loader/LoaderBase.d.ts +30 -0
- package/dist/src/loader/LoaderBase.js +156 -0
- package/dist/src/loader/LoaderFunctions.d.ts +7 -0
- package/dist/src/loader/LoaderFunctions.js +1 -0
- package/dist/src/loader/LoaderManager.d.ts +36 -0
- package/dist/src/loader/LoaderManager.js +83 -0
- package/dist/src/loader/parser/AtlasParser.d.ts +10 -0
- package/dist/src/loader/parser/AtlasParser.js +31 -0
- package/dist/src/loader/parser/B3DMParser.d.ts +24 -0
- package/dist/src/loader/parser/B3DMParser.js +108 -0
- package/dist/src/loader/parser/FontParser.d.ts +54 -0
- package/dist/src/loader/parser/FontParser.js +171 -0
- package/dist/src/loader/parser/I3DMParser.d.ts +7 -0
- package/dist/src/loader/parser/I3DMParser.js +17 -0
- package/dist/src/loader/parser/OBJParser.d.ts +72 -0
- package/dist/src/loader/parser/OBJParser.js +289 -0
- package/dist/src/loader/parser/ParserBase.d.ts +18 -0
- package/dist/src/loader/parser/ParserBase.js +17 -0
- package/dist/src/loader/parser/ParserFormat.d.ts +5 -0
- package/dist/src/loader/parser/ParserFormat.js +6 -0
- package/dist/src/loader/parser/RGBEParser.d.ts +40 -0
- package/dist/src/loader/parser/RGBEParser.js +248 -0
- package/dist/src/loader/parser/b3dm/B3DMLoader.d.ts +10 -0
- package/dist/src/loader/parser/b3dm/B3DMLoader.js +56 -0
- package/dist/src/loader/parser/b3dm/B3DMLoaderBase.d.ts +9 -0
- package/dist/src/loader/parser/b3dm/B3DMLoaderBase.js +31 -0
- package/dist/src/loader/parser/b3dm/FeatureTable.d.ts +14 -0
- package/dist/src/loader/parser/b3dm/FeatureTable.js +104 -0
- package/dist/src/loader/parser/b3dm/arrayToString.d.ts +1 -0
- package/dist/src/loader/parser/b3dm/arrayToString.js +4 -0
- package/dist/src/loader/parser/b3dm/readMagicBytes.d.ts +1 -0
- package/dist/src/loader/parser/b3dm/readMagicBytes.js +17 -0
- package/dist/src/loader/parser/gis/GeoJsonParser.d.ts +29 -0
- package/dist/src/loader/parser/gis/GeoJsonParser.js +15 -0
- package/dist/src/loader/parser/gis/GeoJsonUtil.d.ts +5 -0
- package/dist/src/loader/parser/gis/GeoJsonUtil.js +30 -0
- package/dist/src/loader/parser/gltf/GLBParser.d.ts +21 -0
- package/dist/src/loader/parser/gltf/GLBParser.js +133 -0
- package/dist/src/loader/parser/gltf/GLTFInfo.d.ts +137 -0
- package/dist/src/loader/parser/gltf/GLTFInfo.js +20 -0
- package/dist/src/loader/parser/gltf/GLTFMaterial.d.ts +24 -0
- package/dist/src/loader/parser/gltf/GLTFMaterial.js +2 -0
- package/dist/src/loader/parser/gltf/GLTFParser.d.ts +45 -0
- package/dist/src/loader/parser/gltf/GLTFParser.js +153 -0
- package/dist/src/loader/parser/gltf/GLTFSubParser.d.ts +47 -0
- package/dist/src/loader/parser/gltf/GLTFSubParser.js +366 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserCamera.d.ts +7 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserCamera.js +41 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserConverter.d.ts +17 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserConverter.js +416 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserMaterial.d.ts +10 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserMaterial.js +182 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserMesh.d.ts +11 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserMesh.js +170 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserSkeleton.d.ts +15 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserSkeleton.js +313 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserSkin.d.ts +10 -0
- package/dist/src/loader/parser/gltf/GLTFSubParserSkin.js +66 -0
- package/dist/src/loader/parser/gltf/GLTFType.d.ts +22 -0
- package/dist/src/loader/parser/gltf/GLTFType.js +21 -0
- package/dist/src/loader/parser/gltf/TypeArray.d.ts +4 -0
- package/dist/src/loader/parser/gltf/TypeArray.js +98 -0
- package/dist/src/loader/parser/gltf/extends/KHR_draco_mesh_compression.d.ts +9 -0
- package/dist/src/loader/parser/gltf/extends/KHR_draco_mesh_compression.js +157 -0
- package/dist/src/loader/parser/gltf/extends/KHR_lights_punctual.d.ts +2 -0
- package/dist/src/loader/parser/gltf/extends/KHR_lights_punctual.js +2 -0
- package/dist/src/loader/parser/gltf/extends/KHR_materials_clearcoat.d.ts +7 -0
- package/dist/src/loader/parser/gltf/extends/KHR_materials_clearcoat.js +26 -0
- package/dist/src/loader/parser/gltf/extends/KHR_materials_emissive_strength.d.ts +3 -0
- package/dist/src/loader/parser/gltf/extends/KHR_materials_emissive_strength.js +17 -0
- package/dist/src/loader/parser/gltf/extends/KHR_materials_ior.d.ts +2 -0
- package/dist/src/loader/parser/gltf/extends/KHR_materials_ior.js +2 -0
- package/dist/src/loader/parser/gltf/extends/KHR_materials_unlit.d.ts +3 -0
- package/dist/src/loader/parser/gltf/extends/KHR_materials_unlit.js +12 -0
- package/dist/src/loader/parser/i3dm/I3DMLoader.d.ts +17 -0
- package/dist/src/loader/parser/i3dm/I3DMLoader.js +97 -0
- package/dist/src/loader/parser/i3dm/I3DMLoaderBase.d.ts +9 -0
- package/dist/src/loader/parser/i3dm/I3DMLoaderBase.js +40 -0
- package/dist/src/loader/parser/prefab/PrefabAvatarParser.d.ts +9 -0
- package/dist/src/loader/parser/prefab/PrefabAvatarParser.js +38 -0
- package/dist/src/loader/parser/prefab/PrefabMaterialParser.d.ts +9 -0
- package/dist/src/loader/parser/prefab/PrefabMaterialParser.js +115 -0
- package/dist/src/loader/parser/prefab/PrefabMeshParser.d.ts +10 -0
- package/dist/src/loader/parser/prefab/PrefabMeshParser.js +133 -0
- package/dist/src/loader/parser/prefab/PrefabParser.d.ts +16 -0
- package/dist/src/loader/parser/prefab/PrefabParser.js +72 -0
- package/dist/src/loader/parser/prefab/PrefabStringUtil.d.ts +12 -0
- package/dist/src/loader/parser/prefab/PrefabStringUtil.js +41 -0
- package/dist/src/loader/parser/prefab/PrefabTextureParser.d.ts +10 -0
- package/dist/src/loader/parser/prefab/PrefabTextureParser.js +32 -0
- package/dist/src/loader/parser/prefab/mats/MaterialUtilities.d.ts +8 -0
- package/dist/src/loader/parser/prefab/mats/MaterialUtilities.js +138 -0
- package/dist/src/loader/parser/prefab/mats/shader/LitSSSShader.d.ts +24 -0
- package/dist/src/loader/parser/prefab/mats/shader/LitSSSShader.js +139 -0
- package/dist/src/loader/parser/prefab/mats/shader/LitShader.d.ts +19 -0
- package/dist/src/loader/parser/prefab/mats/shader/LitShader.js +117 -0
- package/dist/src/loader/parser/prefab/mats/shader/QuadShader.d.ts +4 -0
- package/dist/src/loader/parser/prefab/mats/shader/QuadShader.js +39 -0
- package/dist/src/loader/parser/prefab/mats/shader/ReflectionShader.d.ts +19 -0
- package/dist/src/loader/parser/prefab/mats/shader/ReflectionShader.js +79 -0
- package/dist/src/loader/parser/prefab/mats/shader/SkyShader.d.ts +4 -0
- package/dist/src/loader/parser/prefab/mats/shader/SkyShader.js +35 -0
- package/dist/src/loader/parser/prefab/mats/shader/StandShader.d.ts +220 -0
- package/dist/src/loader/parser/prefab/mats/shader/StandShader.js +420 -0
- package/dist/src/loader/parser/prefab/mats/shader/UnLitShader.d.ts +19 -0
- package/dist/src/loader/parser/prefab/mats/shader/UnLitShader.js +95 -0
- package/dist/src/loader/parser/prefab/mats/shader/UnLitTexArrayShader.d.ts +19 -0
- package/dist/src/loader/parser/prefab/mats/shader/UnLitTexArrayShader.js +100 -0
- package/dist/src/loader/parser/prefab/prefabData/BlendShapeData.d.ts +11 -0
- package/dist/src/loader/parser/prefab/prefabData/BlendShapeData.js +19 -0
- package/dist/src/loader/parser/prefab/prefabData/BlendShapePropertyData.d.ts +9 -0
- package/dist/src/loader/parser/prefab/prefabData/BlendShapePropertyData.js +17 -0
- package/dist/src/loader/parser/prefab/prefabData/KVData.d.ts +9 -0
- package/dist/src/loader/parser/prefab/prefabData/KVData.js +12 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabAvatarData.d.ts +9 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabAvatarData.js +15 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabBoneData.d.ts +16 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabBoneData.js +14 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabMeshData.d.ts +19 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabMeshData.js +2 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabNode.d.ts +19 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabNode.js +40 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabTextureData.d.ts +14 -0
- package/dist/src/loader/parser/prefab/prefabData/PrefabTextureData.js +2 -0
- package/dist/src/loader/parser/prefab/prefabData/ValueParser.d.ts +16 -0
- package/dist/src/loader/parser/prefab/prefabData/ValueParser.js +117 -0
- package/dist/src/loader/parser/prefab/prefabData/ValueType.d.ts +35 -0
- package/dist/src/loader/parser/prefab/prefabData/ValueType.js +36 -0
- package/dist/src/loader/parser/tileRenderer/TileSet.d.ts +45 -0
- package/dist/src/loader/parser/tileRenderer/TileSet.js +10 -0
- package/dist/src/loader/parser/tileRenderer/TilesRenderer.d.ts +12 -0
- package/dist/src/loader/parser/tileRenderer/TilesRenderer.js +88 -0
- package/dist/src/materials/BlendMode.d.ts +58 -0
- package/dist/src/materials/BlendMode.js +132 -0
- package/dist/src/materials/ColorLitMaterial.d.ts +14 -0
- package/dist/src/materials/ColorLitMaterial.js +45 -0
- package/dist/src/materials/GIProbeMaterial.d.ts +15 -0
- package/dist/src/materials/GIProbeMaterial.js +42 -0
- package/dist/src/materials/LambertMaterial.d.ts +39 -0
- package/dist/src/materials/LambertMaterial.js +71 -0
- package/dist/src/materials/LitMaterial.d.ts +49 -0
- package/dist/src/materials/LitMaterial.js +170 -0
- package/dist/src/materials/Material.d.ts +88 -0
- package/dist/src/materials/Material.js +194 -0
- package/dist/src/materials/MaterialRegister.d.ts +9 -0
- package/dist/src/materials/MaterialRegister.js +1 -0
- package/dist/src/materials/ReflectionMaterial.d.ts +13 -0
- package/dist/src/materials/ReflectionMaterial.js +29 -0
- package/dist/src/materials/SkyMaterial.d.ts +23 -0
- package/dist/src/materials/SkyMaterial.js +56 -0
- package/dist/src/materials/UnLitMaterial.d.ts +33 -0
- package/dist/src/materials/UnLitMaterial.js +45 -0
- package/dist/src/materials/UnLitTexArrayMaterial.d.ts +20 -0
- package/dist/src/materials/UnLitTexArrayMaterial.js +32 -0
- package/dist/src/materials/multiPass/CastPointShadowMaterialPass.d.ts +4 -0
- package/dist/src/materials/multiPass/CastPointShadowMaterialPass.js +16 -0
- package/dist/src/materials/multiPass/CastShadowMaterialPass.d.ts +4 -0
- package/dist/src/materials/multiPass/CastShadowMaterialPass.js +16 -0
- package/dist/src/materials/multiPass/DepthMaterialPass.d.ts +4 -0
- package/dist/src/materials/multiPass/DepthMaterialPass.js +11 -0
- package/dist/src/materials/multiPass/GBufferPass.d.ts +5 -0
- package/dist/src/materials/multiPass/GBufferPass.js +19 -0
- package/dist/src/materials/multiPass/SkyGBufferPass.d.ts +4 -0
- package/dist/src/materials/multiPass/SkyGBufferPass.js +18 -0
- package/dist/src/math/AnimationCurve.d.ts +42 -0
- package/dist/src/math/AnimationCurve.js +191 -0
- package/dist/src/math/AnimationCurveClip.d.ts +15 -0
- package/dist/src/math/AnimationCurveClip.js +46 -0
- package/dist/src/math/AnimationCurveT.d.ts +24 -0
- package/dist/src/math/AnimationCurveT.js +105 -0
- package/dist/src/math/BiMap.d.ts +9 -0
- package/dist/src/math/BiMap.js +37 -0
- package/dist/src/math/Color.d.ts +249 -0
- package/dist/src/math/Color.js +381 -0
- package/dist/src/math/ColorGradient.d.ts +6 -0
- package/dist/src/math/ColorGradient.js +14 -0
- package/dist/src/math/CubicBezierCurve.d.ts +47 -0
- package/dist/src/math/CubicBezierCurve.js +100 -0
- package/dist/src/math/CubicBezierPath.d.ts +37 -0
- package/dist/src/math/CubicBezierPath.js +234 -0
- package/dist/src/math/HaltonSeq.d.ts +13 -0
- package/dist/src/math/HaltonSeq.js +45 -0
- package/dist/src/math/Line.d.ts +39 -0
- package/dist/src/math/Line.js +240 -0
- package/dist/src/math/MathUtil.d.ts +86 -0
- package/dist/src/math/MathUtil.js +480 -0
- package/dist/src/math/Matrix3.d.ts +183 -0
- package/dist/src/math/Matrix3.js +511 -0
- package/dist/src/math/Matrix4.d.ts +557 -0
- package/dist/src/math/Matrix4.js +2571 -0
- package/dist/src/math/OrderMap.d.ts +11 -0
- package/dist/src/math/OrderMap.js +56 -0
- package/dist/src/math/Orientation3D.d.ts +5 -0
- package/dist/src/math/Orientation3D.js +5 -0
- package/dist/src/math/ParticleMath.d.ts +22 -0
- package/dist/src/math/ParticleMath.js +26 -0
- package/dist/src/math/ParticleSystemCurves.d.ts +85 -0
- package/dist/src/math/ParticleSystemCurves.js +184 -0
- package/dist/src/math/Plane3D.d.ts +173 -0
- package/dist/src/math/Plane3D.js +191 -0
- package/dist/src/math/PlaneClassification.d.ts +32 -0
- package/dist/src/math/PlaneClassification.js +32 -0
- package/dist/src/math/PolynomialCurve.d.ts +43 -0
- package/dist/src/math/PolynomialCurve.js +236 -0
- package/dist/src/math/Polynomials.d.ts +12 -0
- package/dist/src/math/Polynomials.js +73 -0
- package/dist/src/math/Quaternion.d.ts +42 -0
- package/dist/src/math/Quaternion.js +406 -0
- package/dist/src/math/Rand.d.ts +15 -0
- package/dist/src/math/Rand.js +48 -0
- package/dist/src/math/Random.d.ts +67 -0
- package/dist/src/math/Random.js +543 -0
- package/dist/src/math/Ray.d.ts +41 -0
- package/dist/src/math/Ray.js +304 -0
- package/dist/src/math/Rect.d.ts +21 -0
- package/dist/src/math/Rect.js +108 -0
- package/dist/src/math/TimeInterpolator.d.ts +179 -0
- package/dist/src/math/TimeInterpolator.js +334 -0
- package/dist/src/math/Triangle.d.ts +33 -0
- package/dist/src/math/Triangle.js +113 -0
- package/dist/src/math/UV.d.ts +10 -0
- package/dist/src/math/UV.js +21 -0
- package/dist/src/math/Vector2.d.ts +38 -0
- package/dist/src/math/Vector2.js +166 -0
- package/dist/src/math/Vector3.d.ts +107 -0
- package/dist/src/math/Vector3.js +561 -0
- package/dist/src/math/Vector4.d.ts +34 -0
- package/dist/src/math/Vector4.js +77 -0
- package/dist/src/math/enum/FrameCache.d.ts +6 -0
- package/dist/src/math/enum/FrameCache.js +5 -0
- package/dist/src/math/enum/Keyframe.d.ts +14 -0
- package/dist/src/math/enum/Keyframe.js +27 -0
- package/dist/src/math/enum/T/KeyframeT.d.ts +18 -0
- package/dist/src/math/enum/T/KeyframeT.js +113 -0
- package/dist/src/math/enum/T/ValueOp.d.ts +4 -0
- package/dist/src/math/enum/T/ValueOp.js +32 -0
- package/dist/src/math/enum/WrapTimeMode.d.ts +5 -0
- package/dist/src/math/enum/WrapTimeMode.js +6 -0
- package/dist/src/math/navigation/DoubleArray.d.ts +11 -0
- package/dist/src/math/navigation/DoubleArray.js +44 -0
- package/dist/src/math/navigation/Navi3DAstar.d.ts +16 -0
- package/dist/src/math/navigation/Navi3DAstar.js +82 -0
- package/dist/src/math/navigation/Navi3DConst.d.ts +5 -0
- package/dist/src/math/navigation/Navi3DConst.js +8 -0
- package/dist/src/math/navigation/Navi3DEdge.d.ts +33 -0
- package/dist/src/math/navigation/Navi3DEdge.js +109 -0
- package/dist/src/math/navigation/Navi3DFunnel.d.ts +19 -0
- package/dist/src/math/navigation/Navi3DFunnel.js +254 -0
- package/dist/src/math/navigation/Navi3DMaskType.d.ts +3 -0
- package/dist/src/math/navigation/Navi3DMaskType.js +3 -0
- package/dist/src/math/navigation/Navi3DMesh.d.ts +27 -0
- package/dist/src/math/navigation/Navi3DMesh.js +122 -0
- package/dist/src/math/navigation/Navi3DPoint.d.ts +13 -0
- package/dist/src/math/navigation/Navi3DPoint.js +27 -0
- package/dist/src/math/navigation/Navi3DPoint2D.d.ts +10 -0
- package/dist/src/math/navigation/Navi3DPoint2D.js +26 -0
- package/dist/src/math/navigation/Navi3DPointFat.d.ts +11 -0
- package/dist/src/math/navigation/Navi3DPointFat.js +24 -0
- package/dist/src/math/navigation/Navi3DRouter.d.ts +29 -0
- package/dist/src/math/navigation/Navi3DRouter.js +173 -0
- package/dist/src/math/navigation/Navi3DTriangle.d.ts +44 -0
- package/dist/src/math/navigation/Navi3DTriangle.js +167 -0
- package/dist/src/setting/EngineSetting.d.ts +23 -0
- package/dist/src/setting/EngineSetting.js +1 -0
- package/dist/src/setting/GlobalIlluminationSetting.d.ts +115 -0
- package/dist/src/setting/GlobalIlluminationSetting.js +1 -0
- package/dist/src/setting/LightSetting.d.ts +3 -0
- package/dist/src/setting/LightSetting.js +1 -0
- package/dist/src/setting/LoaderSetting.d.ts +3 -0
- package/dist/src/setting/LoaderSetting.js +1 -0
- package/dist/src/setting/MaterialSetting.d.ts +5 -0
- package/dist/src/setting/MaterialSetting.js +1 -0
- package/dist/src/setting/OcclusionQuerySetting.d.ts +12 -0
- package/dist/src/setting/OcclusionQuerySetting.js +1 -0
- package/dist/src/setting/PickSetting.d.ts +5 -0
- package/dist/src/setting/PickSetting.js +1 -0
- package/dist/src/setting/ReflectionSetting.d.ts +7 -0
- package/dist/src/setting/ReflectionSetting.js +1 -0
- package/dist/src/setting/RenderSetting.d.ts +51 -0
- package/dist/src/setting/RenderSetting.js +1 -0
- package/dist/src/setting/ShadowSetting.d.ts +17 -0
- package/dist/src/setting/ShadowSetting.js +1 -0
- package/dist/src/setting/SkySetting.d.ts +8 -0
- package/dist/src/setting/SkySetting.js +1 -0
- package/dist/src/setting/post/BloomSetting.d.ts +11 -0
- package/dist/src/setting/post/BloomSetting.js +1 -0
- package/dist/src/setting/post/DepthOfViewSetting.d.ts +7 -0
- package/dist/src/setting/post/DepthOfViewSetting.js +1 -0
- package/dist/src/setting/post/GTAOSetting.d.ts +11 -0
- package/dist/src/setting/post/GTAOSetting.js +1 -0
- package/dist/src/setting/post/GlobalFogSetting.d.ts +19 -0
- package/dist/src/setting/post/GlobalFogSetting.js +1 -0
- package/dist/src/setting/post/GodRaySetting.d.ts +7 -0
- package/dist/src/setting/post/GodRaySetting.js +1 -0
- package/dist/src/setting/post/OutlineSetting.d.ts +10 -0
- package/dist/src/setting/post/OutlineSetting.js +1 -0
- package/dist/src/setting/post/SSRSetting.d.ts +12 -0
- package/dist/src/setting/post/SSRSetting.js +1 -0
- package/dist/src/setting/post/TAASetting.d.ts +9 -0
- package/dist/src/setting/post/TAASetting.js +1 -0
- package/dist/src/shape/BoxGeometry.d.ts +28 -0
- package/dist/src/shape/BoxGeometry.js +184 -0
- package/dist/src/shape/CylinderGeometry.d.ts +60 -0
- package/dist/src/shape/CylinderGeometry.js +171 -0
- package/dist/src/shape/PlaneGeometry.d.ts +11 -0
- package/dist/src/shape/PlaneGeometry.js +105 -0
- package/dist/src/shape/SphereGeometry.d.ts +25 -0
- package/dist/src/shape/SphereGeometry.js +102 -0
- package/dist/src/shape/TorusGeometry.d.ts +33 -0
- package/dist/src/shape/TorusGeometry.js +88 -0
- package/dist/src/shape/TrailGeometry.d.ts +18 -0
- package/dist/src/shape/TrailGeometry.js +68 -0
- package/dist/src/shape/TriGeometry.d.ts +13 -0
- package/dist/src/shape/TriGeometry.js +47 -0
- package/dist/src/textures/AtmosphericScatteringSky.d.ts +42 -0
- package/dist/src/textures/AtmosphericScatteringSky.js +97 -0
- package/dist/src/textures/BitmapTexture2D.d.ts +12 -0
- package/dist/src/textures/BitmapTexture2D.js +94 -0
- package/dist/src/textures/BitmapTexture2DArray.d.ts +15 -0
- package/dist/src/textures/BitmapTexture2DArray.js +87 -0
- package/dist/src/textures/BitmapTextureCube.d.ts +14 -0
- package/dist/src/textures/BitmapTextureCube.js +181 -0
- package/dist/src/textures/Depth2DTextureArray.d.ts +9 -0
- package/dist/src/textures/Depth2DTextureArray.js +43 -0
- package/dist/src/textures/DepthCubeArrayTexture.d.ts +9 -0
- package/dist/src/textures/DepthCubeArrayTexture.js +46 -0
- package/dist/src/textures/Float16ArrayTexture.d.ts +28 -0
- package/dist/src/textures/Float16ArrayTexture.js +84 -0
- package/dist/src/textures/Float32ArrayTexture.d.ts +5 -0
- package/dist/src/textures/Float32ArrayTexture.js +61 -0
- package/dist/src/textures/HDRTexture.d.ts +7 -0
- package/dist/src/textures/HDRTexture.js +52 -0
- package/dist/src/textures/HDRTextureCube.d.ts +16 -0
- package/dist/src/textures/HDRTextureCube.js +50 -0
- package/dist/src/textures/LDRTextureCube.d.ts +13 -0
- package/dist/src/textures/LDRTextureCube.js +49 -0
- package/dist/src/textures/RenderTexture.d.ts +12 -0
- package/dist/src/textures/RenderTexture.js +140 -0
- package/dist/src/textures/SolidColorSky.d.ts +11 -0
- package/dist/src/textures/SolidColorSky.js +29 -0
- package/dist/src/textures/TextureCubeFaceData.d.ts +19 -0
- package/dist/src/textures/TextureCubeFaceData.js +55 -0
- package/dist/src/textures/Uint8ArrayTexture.d.ts +6 -0
- package/dist/src/textures/Uint8ArrayTexture.js +63 -0
- package/dist/src/textures/VirtualTexture.d.ts +29 -0
- package/dist/src/textures/VirtualTexture.js +152 -0
- package/dist/src/util/AxisObject.d.ts +11 -0
- package/dist/src/util/AxisObject.js +52 -0
- package/dist/src/util/BoundUtil.d.ts +12 -0
- package/dist/src/util/BoundUtil.js +73 -0
- package/dist/src/util/BytesArray.d.ts +49 -0
- package/dist/src/util/BytesArray.js +257 -0
- package/dist/src/util/CameraUtil.d.ts +10 -0
- package/dist/src/util/CameraUtil.js +62 -0
- package/dist/src/util/Convert.d.ts +1 -0
- package/dist/src/util/Convert.js +24 -0
- package/dist/src/util/GeometryUtil.d.ts +12 -0
- package/dist/src/util/GeometryUtil.js +55 -0
- package/dist/src/util/Global.d.ts +15 -0
- package/dist/src/util/Global.js +57 -0
- package/dist/src/util/GridObject.d.ts +12 -0
- package/dist/src/util/GridObject.js +94 -0
- package/dist/src/util/KelvinUtil.d.ts +40 -0
- package/dist/src/util/KelvinUtil.js +79 -0
- package/dist/src/util/Object3DUtil.d.ts +25 -0
- package/dist/src/util/Object3DUtil.js +121 -0
- package/dist/src/util/ProfilerUtil.d.ts +49 -0
- package/dist/src/util/ProfilerUtil.js +141 -0
- package/dist/src/util/Reference.d.ts +37 -0
- package/dist/src/util/Reference.js +67 -0
- package/dist/src/util/SerializeDecoration.d.ts +9 -0
- package/dist/src/util/SerializeDecoration.js +95 -0
- package/dist/src/util/StringUtil.d.ts +23 -0
- package/dist/src/util/StringUtil.js +250 -0
- package/dist/src/util/Time.d.ts +9 -0
- package/dist/src/util/Time.js +14 -0
- package/dist/src/util/Vector3Ex.d.ts +16 -0
- package/dist/src/util/Vector3Ex.js +84 -0
- package/dist/src/util/ZSorterUtil.d.ts +13 -0
- package/dist/src/util/ZSorterUtil.js +51 -0
- package/dist/src/util/struct/Struct.d.ts +17 -0
- package/dist/src/util/struct/Struct.js +101 -0
- package/dist/src/util/transformUtil/Object3DTransformTools.d.ts +37 -0
- package/dist/src/util/transformUtil/Object3DTransformTools.js +136 -0
- package/dist/src/util/transformUtil/RotationControlComponents.d.ts +21 -0
- package/dist/src/util/transformUtil/RotationControlComponents.js +198 -0
- package/dist/src/util/transformUtil/ScaleControlComponents.d.ts +11 -0
- package/dist/src/util/transformUtil/ScaleControlComponents.js +132 -0
- package/dist/src/util/transformUtil/TransformAxisEnum.d.ts +11 -0
- package/dist/src/util/transformUtil/TransformAxisEnum.js +12 -0
- package/dist/src/util/transformUtil/TransformControllerBaseComponent.d.ts +48 -0
- package/dist/src/util/transformUtil/TransformControllerBaseComponent.js +283 -0
- package/dist/src/util/transformUtil/TransformMode.d.ts +6 -0
- package/dist/src/util/transformUtil/TransformMode.js +7 -0
- package/dist/src/util/transformUtil/TransformSpaceMode.d.ts +4 -0
- package/dist/src/util/transformUtil/TransformSpaceMode.js +5 -0
- package/dist/src/util/transformUtil/TranslationControlComponents.d.ts +12 -0
- package/dist/src/util/transformUtil/TranslationControlComponents.js +164 -0
- package/package.json +3 -2
|
@@ -0,0 +1,888 @@
|
|
|
1
|
+
import { ShaderLib } from "../../../../assets/shader/ShaderLib";
|
|
2
|
+
import { VertexAttributeName } from "../../../../core/geometry/VertexAttributeName";
|
|
3
|
+
import { GPUContext } from "../../../renderJob/GPUContext";
|
|
4
|
+
import { BlendFactor, BlendMode } from "../../../../materials/BlendMode";
|
|
5
|
+
import { IESProfiles } from "../../../../components/lights/IESProfiles";
|
|
6
|
+
import { Engine3D } from "../../../../Engine3D";
|
|
7
|
+
import { GlobalBindGroupLayout } from "../core/bindGroups/GlobalBindGroupLayout";
|
|
8
|
+
import { webGPUContext } from "../Context3D";
|
|
9
|
+
import { ShaderConverter } from "./converter/ShaderConverter";
|
|
10
|
+
import { ShaderPassBase } from "./ShaderPassBase";
|
|
11
|
+
import { ShaderStage } from "./ShaderStage";
|
|
12
|
+
import { Preprocessor } from "./util/Preprocessor";
|
|
13
|
+
import { ShaderReflection } from "./value/ShaderReflectionInfo";
|
|
14
|
+
import { ShaderState } from "./value/ShaderState";
|
|
15
|
+
import { GPUBufferType } from "../core/buffer/GPUBufferType";
|
|
16
|
+
import { MaterialDataUniformGPUBuffer } from "../core/buffer/MaterialDataUniformGPUBuffer";
|
|
17
|
+
import { ShaderUtil } from "./util/ShaderUtil";
|
|
18
|
+
import { Reference } from "../../../../util/Reference";
|
|
19
|
+
import { CSM } from "../../../../core/csm/CSM";
|
|
20
|
+
import { GPUCompareFunction, GPUCullMode } from "../WebGPUConst";
|
|
21
|
+
import { PassType } from "../../../renderJob/passRenderer/state/PassType";
|
|
22
|
+
import { PipelinePool } from "../PipelinePool";
|
|
23
|
+
export class RenderShaderPass extends ShaderPassBase {
|
|
24
|
+
constructor(vs, fs) {
|
|
25
|
+
super();
|
|
26
|
+
this.passType = PassType.COLOR;
|
|
27
|
+
this.useRz = false;
|
|
28
|
+
this._textureGroup = -1;
|
|
29
|
+
this._textureChange = false;
|
|
30
|
+
this.vsName = vs.toLowerCase();
|
|
31
|
+
this.fsName = fs.toLowerCase();
|
|
32
|
+
if (!(this.vsName in ShaderLib)) {
|
|
33
|
+
console.error(`Shader Not Register, Please Register Shader!`, this.vsName);
|
|
34
|
+
}
|
|
35
|
+
if (!(this.fsName in ShaderLib)) {
|
|
36
|
+
console.error(`Shader Not Register, Please Register Shader!`, this.fsName);
|
|
37
|
+
}
|
|
38
|
+
if (ShaderLib[this.vsName]) {
|
|
39
|
+
this._sourceVS = ShaderLib[this.vsName];
|
|
40
|
+
}
|
|
41
|
+
if (ShaderLib[this.fsName]) {
|
|
42
|
+
this._sourceFS = ShaderLib[this.fsName];
|
|
43
|
+
}
|
|
44
|
+
this.textures = {};
|
|
45
|
+
this.bindGroups = [];
|
|
46
|
+
this.shaderState = new ShaderState();
|
|
47
|
+
this.materialDataUniformBuffer = new MaterialDataUniformGPUBuffer();
|
|
48
|
+
this.materialDataUniformBuffer.visibility = GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT;
|
|
49
|
+
this._bufferDic.set(`global`, this.materialDataUniformBuffer);
|
|
50
|
+
this._bufferDic.set(`materialUniform`, this.materialDataUniformBuffer);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Blend mode
|
|
54
|
+
*/
|
|
55
|
+
get renderOrder() {
|
|
56
|
+
return this.shaderState.renderOrder;
|
|
57
|
+
}
|
|
58
|
+
set renderOrder(value) {
|
|
59
|
+
if (this.shaderState.renderOrder != value) {
|
|
60
|
+
this._valueChange = true;
|
|
61
|
+
}
|
|
62
|
+
this.shaderState.renderOrder = value;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Cull mode
|
|
66
|
+
*/
|
|
67
|
+
get doubleSide() {
|
|
68
|
+
return this.shaderState.cullMode == GPUCullMode.none;
|
|
69
|
+
}
|
|
70
|
+
set doubleSide(value) {
|
|
71
|
+
let b = value ? GPUCullMode.none : this.cullMode;
|
|
72
|
+
if (this.shaderState.cullMode != b) {
|
|
73
|
+
this._valueChange = true;
|
|
74
|
+
}
|
|
75
|
+
this.shaderState.cullMode = b;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* depthWriteEnabled mode
|
|
79
|
+
*/
|
|
80
|
+
get depthWriteEnabled() {
|
|
81
|
+
return this.shaderState.depthWriteEnabled;
|
|
82
|
+
}
|
|
83
|
+
set depthWriteEnabled(value) {
|
|
84
|
+
if (this.shaderState.depthWriteEnabled != value) {
|
|
85
|
+
this._valueChange = true;
|
|
86
|
+
}
|
|
87
|
+
this.shaderState.depthWriteEnabled = value;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* get render face cull mode
|
|
91
|
+
*/
|
|
92
|
+
get cullMode() {
|
|
93
|
+
return this.shaderState.cullMode;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* set render face cull mode
|
|
97
|
+
*/
|
|
98
|
+
set cullMode(value) {
|
|
99
|
+
if (this.shaderState.cullMode != value) {
|
|
100
|
+
this._valueChange = true;
|
|
101
|
+
}
|
|
102
|
+
this.shaderState.cullMode = value;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* get front face mode
|
|
106
|
+
* @GPUFrontFace
|
|
107
|
+
*/
|
|
108
|
+
get frontFace() {
|
|
109
|
+
return this.shaderState.frontFace;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* set front face mode
|
|
113
|
+
* @GPUFrontFace value
|
|
114
|
+
*/
|
|
115
|
+
set frontFace(value) {
|
|
116
|
+
if (this.shaderState.frontFace != value) {
|
|
117
|
+
this._valueChange = true;
|
|
118
|
+
}
|
|
119
|
+
this.shaderState.frontFace = value;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Depth bias
|
|
123
|
+
*/
|
|
124
|
+
get depthBias() {
|
|
125
|
+
return this.shaderState.depthBias;
|
|
126
|
+
}
|
|
127
|
+
set depthBias(value) {
|
|
128
|
+
if (this.shaderState.depthBias != value) {
|
|
129
|
+
this._valueChange = true;
|
|
130
|
+
}
|
|
131
|
+
this.shaderState.depthBias = value;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Primitive topology
|
|
135
|
+
*/
|
|
136
|
+
get topology() {
|
|
137
|
+
return this.shaderState.topology;
|
|
138
|
+
}
|
|
139
|
+
set topology(value) {
|
|
140
|
+
if (this.shaderState.topology != value) {
|
|
141
|
+
this._valueChange = true;
|
|
142
|
+
}
|
|
143
|
+
this.shaderState.topology = value;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Blend mode
|
|
147
|
+
*/
|
|
148
|
+
get blendMode() {
|
|
149
|
+
return this.shaderState.blendMode;
|
|
150
|
+
}
|
|
151
|
+
set blendMode(value) {
|
|
152
|
+
if (this.shaderState.blendMode != value) {
|
|
153
|
+
this._valueChange = true;
|
|
154
|
+
if (value != BlendMode.NORMAL && value != BlendMode.NONE) {
|
|
155
|
+
this.renderOrder = 3000;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
this.shaderState.blendMode = value;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Depth compare function
|
|
162
|
+
*/
|
|
163
|
+
get depthCompare() {
|
|
164
|
+
return this.shaderState.depthCompare;
|
|
165
|
+
}
|
|
166
|
+
set depthCompare(value) {
|
|
167
|
+
if (this.shaderState.depthCompare != value) {
|
|
168
|
+
this._valueChange = true;
|
|
169
|
+
}
|
|
170
|
+
this.shaderState.depthCompare = value;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Sets the entry point names for the RenderShader vertex phase and fragment phase
|
|
174
|
+
* @param vsEntryPoint
|
|
175
|
+
* @param fsEntryPoint
|
|
176
|
+
*/
|
|
177
|
+
setShaderEntry(vsEntryPoint = '', fsEntryPoint = '') {
|
|
178
|
+
this.vsEntryPoint = vsEntryPoint;
|
|
179
|
+
this.fsEntryPoint = fsEntryPoint;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
*
|
|
183
|
+
* @param String name
|
|
184
|
+
* @param UniformValue value
|
|
185
|
+
*/
|
|
186
|
+
setUniform(name, value) {
|
|
187
|
+
super.setUniform(name, value);
|
|
188
|
+
this.materialDataUniformBuffer.onChange();
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Set the texture used in the Render Shader code
|
|
192
|
+
* @param name Name in the shader code
|
|
193
|
+
* @param texture Texture object
|
|
194
|
+
*/
|
|
195
|
+
setTexture(name, texture) {
|
|
196
|
+
if (texture && this.textures[name] != texture) {
|
|
197
|
+
if (this.textures[name]) {
|
|
198
|
+
this.textures[name].unBindStateChange(this);
|
|
199
|
+
}
|
|
200
|
+
this._textureChange = true;
|
|
201
|
+
this.textures[name] = texture;
|
|
202
|
+
if (name == "envMap") {
|
|
203
|
+
this.envMap = texture;
|
|
204
|
+
}
|
|
205
|
+
else if (name == "prefilterMap") {
|
|
206
|
+
this.prefilterMap = texture;
|
|
207
|
+
}
|
|
208
|
+
else if (name == "reflectionMap") {
|
|
209
|
+
this.reflectionMap = texture;
|
|
210
|
+
}
|
|
211
|
+
texture.bindStateChange(() => {
|
|
212
|
+
this._textureChange = true;
|
|
213
|
+
}, this);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
get baseColor() {
|
|
217
|
+
return this.getUniform(`baseColor`);
|
|
218
|
+
}
|
|
219
|
+
set baseColor(value) {
|
|
220
|
+
this.setUniform(`baseColor`, value);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get the texture used in the Render Shader code
|
|
224
|
+
* @param name Name in the shader code
|
|
225
|
+
* @returns Texture object
|
|
226
|
+
*/
|
|
227
|
+
getTexture(name) {
|
|
228
|
+
return this.textures[name];
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Create a rendering pipeline
|
|
232
|
+
* @param geometry
|
|
233
|
+
* @param renderPassState
|
|
234
|
+
*/
|
|
235
|
+
genRenderPipeline(geometry, renderPassState) {
|
|
236
|
+
let layouts = this.createGroupLayouts();
|
|
237
|
+
this.createPipeline(geometry, renderPassState, layouts);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Recompile the shader and create the rendering pipeline
|
|
241
|
+
* @param geometry
|
|
242
|
+
* @param rendererPassState
|
|
243
|
+
*/
|
|
244
|
+
reBuild(geometry, rendererPassState) {
|
|
245
|
+
this.compileShader(ShaderStage.vertex, this._destVS, rendererPassState);
|
|
246
|
+
this.compileShader(ShaderStage.fragment, this._destFS, rendererPassState);
|
|
247
|
+
this.genRenderPipeline(geometry, rendererPassState);
|
|
248
|
+
// this.apply(geometry,rendererPassState);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Apply render shader state value
|
|
252
|
+
* @param geometry
|
|
253
|
+
* @param materialPass
|
|
254
|
+
* @param rendererPassState
|
|
255
|
+
* @param noticeFun
|
|
256
|
+
*/
|
|
257
|
+
apply(geometry, rendererPassState, noticeFun) {
|
|
258
|
+
this.materialDataUniformBuffer.apply();
|
|
259
|
+
if (this._textureChange && this._textureGroup != -1) {
|
|
260
|
+
this._textureChange = false;
|
|
261
|
+
this.genGroups(this._textureGroup, this.shaderReflection.groups, true);
|
|
262
|
+
}
|
|
263
|
+
if (this._valueChange) {
|
|
264
|
+
if (this._shaderChange) {
|
|
265
|
+
this.preCompile(geometry);
|
|
266
|
+
this._shaderChange = false;
|
|
267
|
+
}
|
|
268
|
+
this.shaderVariant = ShaderReflection.genRenderShaderVariant(this);
|
|
269
|
+
this.reBuild(geometry, rendererPassState);
|
|
270
|
+
this._valueChange = false;
|
|
271
|
+
// this.genRenderPipeline(geometry, rendererPassState);
|
|
272
|
+
if (noticeFun) {
|
|
273
|
+
noticeFun();
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Precompile the shader code
|
|
279
|
+
* @param geometry
|
|
280
|
+
*/
|
|
281
|
+
preCompile(geometry) {
|
|
282
|
+
this.preDefine(geometry);
|
|
283
|
+
this.preCompileShader(ShaderStage.vertex, this._sourceVS.concat());
|
|
284
|
+
this.preCompileShader(ShaderStage.fragment, this._sourceFS.concat());
|
|
285
|
+
this.genReflection();
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Apply defines syntax values
|
|
289
|
+
* @param shader
|
|
290
|
+
* @param renderPassState
|
|
291
|
+
* @returns
|
|
292
|
+
*/
|
|
293
|
+
applyPostDefine(shader, renderPassState) {
|
|
294
|
+
//*********************************/
|
|
295
|
+
//******************/
|
|
296
|
+
if (renderPassState.renderTargetTextures.length > 1) {
|
|
297
|
+
this.defineValue[`USE_WORLDPOS`] = true;
|
|
298
|
+
this.defineValue[`USEGBUFFER`] = true;
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
this.defineValue[`USE_WORLDPOS`] = false;
|
|
302
|
+
this.defineValue[`USEGBUFFER`] = false;
|
|
303
|
+
}
|
|
304
|
+
if (Engine3D.setting.render.useCompressGBuffer) {
|
|
305
|
+
this.defineValue[`USE_COMPRESSGBUFFER`] = true;
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
this.defineValue[`USE_COMPRESSGBUFFER`] = false;
|
|
309
|
+
}
|
|
310
|
+
//*********************************/
|
|
311
|
+
//*********************************/
|
|
312
|
+
return Preprocessor.parse(shader, this.defineValue);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Set GPUBindGroup to the specified index slot
|
|
316
|
+
* @param groupIndex
|
|
317
|
+
* @param group
|
|
318
|
+
*/
|
|
319
|
+
setBindGroup(groupIndex, group) {
|
|
320
|
+
this.bindGroups[groupIndex] = group;
|
|
321
|
+
}
|
|
322
|
+
checkBuffer(bufferName, buffer) {
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
preCompileShader(stage, code, format) {
|
|
326
|
+
let shader = code;
|
|
327
|
+
if (shader.indexOf(`version `) != -1) {
|
|
328
|
+
var wgsl = ShaderConverter.convertGLSL(shader);
|
|
329
|
+
shader = wgsl.sourceCode;
|
|
330
|
+
}
|
|
331
|
+
for (const key in this.constValues) {
|
|
332
|
+
if (Object.prototype.hasOwnProperty.call(this.constValues, key)) {
|
|
333
|
+
const value = this.constValues[key];
|
|
334
|
+
shader = shader.replaceAll(`&${key}`, value.toString());
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
switch (stage) {
|
|
338
|
+
case ShaderStage.vertex:
|
|
339
|
+
this._destVS = shader;
|
|
340
|
+
break;
|
|
341
|
+
case ShaderStage.fragment:
|
|
342
|
+
this._destFS = shader;
|
|
343
|
+
break;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
compileShader(stage, code, renderPassState) {
|
|
347
|
+
let shader = code;
|
|
348
|
+
shader = this.applyPostDefine(shader, renderPassState);
|
|
349
|
+
let key = code;
|
|
350
|
+
for (let k in this.defineValue) {
|
|
351
|
+
key += `${k}=${this.defineValue[k]},`;
|
|
352
|
+
}
|
|
353
|
+
let shaderModule = ShaderUtil.renderShaderModulePool.get(key);
|
|
354
|
+
if (!shaderModule) {
|
|
355
|
+
shader = this.applyPostDefine(shader, renderPassState);
|
|
356
|
+
shaderModule = webGPUContext.device.createShaderModule({
|
|
357
|
+
label: stage == ShaderStage.vertex ? this.vsName : this.fsName,
|
|
358
|
+
code: shader,
|
|
359
|
+
});
|
|
360
|
+
shaderModule.getCompilationInfo().then((e) => {
|
|
361
|
+
if (e.messages.length > 0) {
|
|
362
|
+
console.log(shader);
|
|
363
|
+
console.log(e);
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
ShaderUtil.renderShaderModulePool.set(key, shaderModule);
|
|
367
|
+
}
|
|
368
|
+
switch (stage) {
|
|
369
|
+
case ShaderStage.vertex:
|
|
370
|
+
this._vsShaderModule = shaderModule;
|
|
371
|
+
this._destVS = shader;
|
|
372
|
+
break;
|
|
373
|
+
case ShaderStage.fragment:
|
|
374
|
+
this._fsShaderModule = shaderModule;
|
|
375
|
+
this._destFS = shader;
|
|
376
|
+
break;
|
|
377
|
+
}
|
|
378
|
+
// this._sourceVS = "" ;
|
|
379
|
+
// this._sourceFS = "" ;
|
|
380
|
+
}
|
|
381
|
+
getGroupLayout(index, infos) {
|
|
382
|
+
let entries = [];
|
|
383
|
+
for (let i = 0; i < infos.length; i++) {
|
|
384
|
+
const info = infos[i];
|
|
385
|
+
if (!info) {
|
|
386
|
+
continue;
|
|
387
|
+
}
|
|
388
|
+
if (info.varType == `uniform`) {
|
|
389
|
+
if (!this._bufferDic.has(info.varName)) {
|
|
390
|
+
console.error(`not set ${info.varName} buffer`);
|
|
391
|
+
}
|
|
392
|
+
let visibility = this._bufferDic.get(info.varName).visibility;
|
|
393
|
+
let entry = {
|
|
394
|
+
binding: info.binding,
|
|
395
|
+
visibility: visibility,
|
|
396
|
+
buffer: {
|
|
397
|
+
type: 'uniform',
|
|
398
|
+
},
|
|
399
|
+
};
|
|
400
|
+
entries.push(entry);
|
|
401
|
+
}
|
|
402
|
+
else if (info.varType == `storage-read`) {
|
|
403
|
+
if (!this._bufferDic.has(info.varName)) {
|
|
404
|
+
console.error(`not set ${info.varName} buffer`);
|
|
405
|
+
}
|
|
406
|
+
let visibility = this._bufferDic.get(info.varName).visibility;
|
|
407
|
+
let entry = {
|
|
408
|
+
binding: info.binding,
|
|
409
|
+
visibility: visibility,
|
|
410
|
+
buffer: {
|
|
411
|
+
type: 'read-only-storage',
|
|
412
|
+
},
|
|
413
|
+
};
|
|
414
|
+
entries.push(entry);
|
|
415
|
+
}
|
|
416
|
+
else if (info.varType == `var`) {
|
|
417
|
+
switch (info.dataType) {
|
|
418
|
+
case `sampler`:
|
|
419
|
+
{
|
|
420
|
+
let textureName = info.varName.replace(`Sampler`, ``);
|
|
421
|
+
let texture = this.textures[textureName] ? this.textures[textureName] : Engine3D.res.redTexture;
|
|
422
|
+
let entry = {
|
|
423
|
+
binding: info.binding,
|
|
424
|
+
visibility: texture.visibility,
|
|
425
|
+
sampler: texture.samplerBindingLayout,
|
|
426
|
+
};
|
|
427
|
+
entries.push(entry);
|
|
428
|
+
this._textureGroup = index;
|
|
429
|
+
}
|
|
430
|
+
break;
|
|
431
|
+
case `sampler_comparison`:
|
|
432
|
+
{
|
|
433
|
+
let textureName = info.varName.replace(`Sampler`, ``);
|
|
434
|
+
let texture = this.textures[textureName] ? this.textures[textureName] : Engine3D.res.redTexture;
|
|
435
|
+
let entry = {
|
|
436
|
+
binding: info.binding,
|
|
437
|
+
visibility: texture.visibility,
|
|
438
|
+
sampler: texture.sampler_comparisonBindingLayout
|
|
439
|
+
};
|
|
440
|
+
entries.push(entry);
|
|
441
|
+
this._textureGroup = index;
|
|
442
|
+
}
|
|
443
|
+
break;
|
|
444
|
+
case `texture_2d<f32>`:
|
|
445
|
+
case `texture_2d_array<f32>`:
|
|
446
|
+
case `texture_cube<f32>`:
|
|
447
|
+
case `texture_depth_2d`:
|
|
448
|
+
case `texture_depth_2d_array`:
|
|
449
|
+
case `texture_depth_cube`:
|
|
450
|
+
case `texture_depth_cube_array`:
|
|
451
|
+
{
|
|
452
|
+
let texture = this.textures[info.varName] ? this.textures[info.varName] : Engine3D.res.redTexture;
|
|
453
|
+
let entry = {
|
|
454
|
+
binding: info.binding,
|
|
455
|
+
visibility: texture.visibility,
|
|
456
|
+
texture: texture.textureBindingLayout,
|
|
457
|
+
};
|
|
458
|
+
entries.push(entry);
|
|
459
|
+
this._textureGroup = index;
|
|
460
|
+
Reference.getInstance().attached(texture, this);
|
|
461
|
+
}
|
|
462
|
+
break;
|
|
463
|
+
case `texture_external`:
|
|
464
|
+
{
|
|
465
|
+
let texture = this.textures[info.varName] ? this.textures[info.varName] : Engine3D.res.redTexture;
|
|
466
|
+
let entry = {
|
|
467
|
+
binding: info.binding,
|
|
468
|
+
visibility: texture.visibility,
|
|
469
|
+
externalTexture: {}
|
|
470
|
+
};
|
|
471
|
+
entries.push(entry);
|
|
472
|
+
this._textureGroup = index;
|
|
473
|
+
Reference.getInstance().attached(texture, this);
|
|
474
|
+
}
|
|
475
|
+
break;
|
|
476
|
+
default:
|
|
477
|
+
{
|
|
478
|
+
let texture = this.textures[info.varName] ? this.textures[info.varName] : Engine3D.res.redTexture;
|
|
479
|
+
let entry = {
|
|
480
|
+
binding: info.binding,
|
|
481
|
+
visibility: texture.visibility,
|
|
482
|
+
texture: texture.textureBindingLayout,
|
|
483
|
+
};
|
|
484
|
+
entries.push(entry);
|
|
485
|
+
this._textureGroup = index;
|
|
486
|
+
Reference.getInstance().attached(texture, this);
|
|
487
|
+
}
|
|
488
|
+
break;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
else {
|
|
492
|
+
debugger;
|
|
493
|
+
console.error("bind group can't empty");
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
return entries;
|
|
497
|
+
}
|
|
498
|
+
genGroups(groupIndex, infos, force = false) {
|
|
499
|
+
if (!this.bindGroups[groupIndex] || force) {
|
|
500
|
+
const shaderRefs = infos[groupIndex];
|
|
501
|
+
let entries = [];
|
|
502
|
+
for (let j = 0; j < shaderRefs.length; j++) {
|
|
503
|
+
const refs = shaderRefs[j];
|
|
504
|
+
if (!refs)
|
|
505
|
+
continue;
|
|
506
|
+
if (refs.varType == `uniform`) {
|
|
507
|
+
let buffer = this._bufferDic.get(refs.varName);
|
|
508
|
+
if (buffer) {
|
|
509
|
+
if (buffer.bufferType == GPUBufferType.MaterialDataUniformGPUBuffer) {
|
|
510
|
+
let uniforms = [];
|
|
511
|
+
for (let i = 0; i < refs.dataFields.length; i++) {
|
|
512
|
+
const field = refs.dataFields[i];
|
|
513
|
+
if (!this.uniforms[field.name]) {
|
|
514
|
+
console.error(`shader-${this.vsName}:${this.fsName} ${field.name}is empty`);
|
|
515
|
+
}
|
|
516
|
+
uniforms.push(this.uniforms[field.name]);
|
|
517
|
+
}
|
|
518
|
+
this.materialDataUniformBuffer.initDataUniform(uniforms);
|
|
519
|
+
}
|
|
520
|
+
let entry = {
|
|
521
|
+
binding: refs.binding,
|
|
522
|
+
resource: {
|
|
523
|
+
buffer: buffer.buffer,
|
|
524
|
+
offset: 0, //buffer.memory.shareFloat32Array.byteOffset,
|
|
525
|
+
size: buffer.memory.shareDataBuffer.byteLength,
|
|
526
|
+
},
|
|
527
|
+
};
|
|
528
|
+
entries.push(entry);
|
|
529
|
+
this.checkBuffer(refs.varName, buffer);
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
console.error(`shader${this.vsName}-${this.fsName}`, `buffer ${refs.varName} is missing!`);
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
else if (refs.varType == `storage-read`) {
|
|
536
|
+
let buffer = this._bufferDic.get(refs.varName);
|
|
537
|
+
if (buffer) {
|
|
538
|
+
let entry = {
|
|
539
|
+
binding: refs.binding,
|
|
540
|
+
resource: {
|
|
541
|
+
buffer: buffer.buffer,
|
|
542
|
+
offset: 0, //buffer.memory.shareFloat32Array.byteOffset,
|
|
543
|
+
size: buffer.memory.shareDataBuffer.byteLength,
|
|
544
|
+
},
|
|
545
|
+
};
|
|
546
|
+
entries.push(entry);
|
|
547
|
+
this.checkBuffer(refs.varName, buffer);
|
|
548
|
+
}
|
|
549
|
+
else {
|
|
550
|
+
console.error(`buffer ${refs.varName} is missing!`);
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
else if (refs.varType == `var`) {
|
|
554
|
+
if (refs.dataType == `sampler`) {
|
|
555
|
+
let textureName = refs.varName.replace(`Sampler`, ``);
|
|
556
|
+
let texture = this.textures[textureName];
|
|
557
|
+
if (!texture) {
|
|
558
|
+
texture = Engine3D.res.blackTexture;
|
|
559
|
+
this.setTexture(textureName, texture);
|
|
560
|
+
}
|
|
561
|
+
if (texture) {
|
|
562
|
+
let entry = {
|
|
563
|
+
binding: refs.binding,
|
|
564
|
+
resource: texture.gpuSampler
|
|
565
|
+
};
|
|
566
|
+
entries.push(entry);
|
|
567
|
+
}
|
|
568
|
+
else {
|
|
569
|
+
console.error(`shader${this.vsName}-${this.fsName}`, `texture ${refs.varName} is missing! `);
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
else if (refs.dataType == `sampler_comparison`) {
|
|
573
|
+
let textureName = refs.varName.replace(`Sampler`, ``);
|
|
574
|
+
let texture = this.textures[textureName];
|
|
575
|
+
if (texture) {
|
|
576
|
+
let entry = {
|
|
577
|
+
binding: refs.binding,
|
|
578
|
+
resource: texture.gpuSampler_comparison
|
|
579
|
+
};
|
|
580
|
+
entries.push(entry);
|
|
581
|
+
}
|
|
582
|
+
else {
|
|
583
|
+
console.error(`shader${this.vsName}-${this.fsName}`, `texture ${refs.varName} is missing! `);
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
else {
|
|
587
|
+
let texture = this.textures[refs.varName];
|
|
588
|
+
if (!texture) {
|
|
589
|
+
texture = Engine3D.res.whiteTexture;
|
|
590
|
+
this.setTexture(refs.varName, texture);
|
|
591
|
+
}
|
|
592
|
+
if (texture) {
|
|
593
|
+
let entry = {
|
|
594
|
+
binding: refs.binding,
|
|
595
|
+
resource: texture.getGPUView(),
|
|
596
|
+
};
|
|
597
|
+
entries.push(entry);
|
|
598
|
+
}
|
|
599
|
+
else {
|
|
600
|
+
console.error(`shader${this.vsName}-${this.fsName}`, `texture ${refs.varName} is missing! `);
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
let gpubindGroup = webGPUContext.device.createBindGroup({
|
|
606
|
+
layout: this.bindGroupLayouts[groupIndex],
|
|
607
|
+
entries: entries
|
|
608
|
+
});
|
|
609
|
+
this.bindGroups[groupIndex] = gpubindGroup;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
createPipeline(geometry, renderPassState, layouts) {
|
|
613
|
+
let bufferMesh = geometry;
|
|
614
|
+
let shaderState = this.shaderState;
|
|
615
|
+
//create color state
|
|
616
|
+
let targets = [];
|
|
617
|
+
for (const tex of renderPassState.renderTargetTextures) {
|
|
618
|
+
targets.push({
|
|
619
|
+
format: tex.format,
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
//set color state
|
|
623
|
+
for (let i = 0; i < targets.length; i++) {
|
|
624
|
+
const rtTexState = targets[i];
|
|
625
|
+
if (shaderState.writeMasks && shaderState.writeMasks.length > 0) {
|
|
626
|
+
rtTexState.writeMask = shaderState.writeMasks[i];
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
if (renderPassState.outColor != -1) {
|
|
630
|
+
let target = targets[renderPassState.outColor];
|
|
631
|
+
if (shaderState.blendMode != BlendMode.NONE) {
|
|
632
|
+
target.blend = BlendFactor.getBlend(shaderState.blendMode);
|
|
633
|
+
}
|
|
634
|
+
else {
|
|
635
|
+
delete target[`blend`];
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
let renderPipelineDescriptor = {
|
|
639
|
+
label: this.vsName + '|' + this.fsName,
|
|
640
|
+
layout: layouts,
|
|
641
|
+
primitive: {
|
|
642
|
+
topology: shaderState.topology,
|
|
643
|
+
cullMode: shaderState.cullMode,
|
|
644
|
+
frontFace: shaderState.frontFace,
|
|
645
|
+
},
|
|
646
|
+
vertex: undefined,
|
|
647
|
+
};
|
|
648
|
+
if (this.vsEntryPoint != ``) {
|
|
649
|
+
renderPipelineDescriptor[`vertex`] = {
|
|
650
|
+
module: this._vsShaderModule,
|
|
651
|
+
entryPoint: this.vsEntryPoint,
|
|
652
|
+
buffers: bufferMesh.vertexBuffer.vertexBufferLayouts,
|
|
653
|
+
};
|
|
654
|
+
}
|
|
655
|
+
if (this.fsEntryPoint != '') {
|
|
656
|
+
renderPipelineDescriptor[`fragment`] = {
|
|
657
|
+
module: this._fsShaderModule,
|
|
658
|
+
entryPoint: this.fsEntryPoint,
|
|
659
|
+
targets: targets
|
|
660
|
+
};
|
|
661
|
+
}
|
|
662
|
+
if (shaderState.multisample > 0) {
|
|
663
|
+
renderPipelineDescriptor[`multisample`] = {
|
|
664
|
+
count: shaderState.multisample
|
|
665
|
+
};
|
|
666
|
+
}
|
|
667
|
+
if (renderPassState.zPreTexture || renderPassState.depthTexture) {
|
|
668
|
+
let blendEnable = shaderState.blendMode != BlendMode.NONE;
|
|
669
|
+
if (Engine3D.setting.render.zPrePass && renderPassState.zPreTexture && shaderState.useZ) {
|
|
670
|
+
renderPipelineDescriptor[`depthStencil`] = {
|
|
671
|
+
depthWriteEnabled: false,
|
|
672
|
+
depthCompare: GPUCompareFunction.less,
|
|
673
|
+
format: renderPassState.zPreTexture.format,
|
|
674
|
+
};
|
|
675
|
+
}
|
|
676
|
+
else {
|
|
677
|
+
renderPipelineDescriptor[`depthStencil`] = {
|
|
678
|
+
depthWriteEnabled: shaderState.depthWriteEnabled,
|
|
679
|
+
depthCompare: shaderState.depthCompare,
|
|
680
|
+
format: renderPassState.depthTexture.format,
|
|
681
|
+
};
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
let pipeline = PipelinePool.getSharePipeline(this.shaderVariant);
|
|
685
|
+
if (pipeline) {
|
|
686
|
+
this.pipeline = pipeline;
|
|
687
|
+
}
|
|
688
|
+
else {
|
|
689
|
+
this.pipeline = GPUContext.createPipeline(renderPipelineDescriptor);
|
|
690
|
+
PipelinePool.setSharePipeline(this.shaderVariant, this.pipeline);
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
createGroupLayouts() {
|
|
694
|
+
this._groupsShaderReflectionVarInfos = [];
|
|
695
|
+
let shaderReflection = this.shaderReflection;
|
|
696
|
+
this.bindGroupLayouts = [GlobalBindGroupLayout.getGlobalDataBindGroupLayout()];
|
|
697
|
+
// Binding Group 1 is Global , skip
|
|
698
|
+
for (let i = 1; i < shaderReflection.groups.length; i++) {
|
|
699
|
+
let shaderRefs = shaderReflection.groups[i];
|
|
700
|
+
if (shaderRefs) {
|
|
701
|
+
let entries = this.getGroupLayout(i, shaderRefs);
|
|
702
|
+
this._groupsShaderReflectionVarInfos[i] = shaderRefs;
|
|
703
|
+
let layout = webGPUContext.device.createBindGroupLayout({
|
|
704
|
+
entries,
|
|
705
|
+
label: `vs${this.vsName} fs${this.fsName} ${shaderRefs.length}`
|
|
706
|
+
});
|
|
707
|
+
this.bindGroupLayouts[i] = layout;
|
|
708
|
+
}
|
|
709
|
+
else {
|
|
710
|
+
console.error("can't set empty group!", i);
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
let layouts = webGPUContext.device.createPipelineLayout({
|
|
714
|
+
bindGroupLayouts: this.bindGroupLayouts,
|
|
715
|
+
});
|
|
716
|
+
// Binding Group 1 is Global
|
|
717
|
+
if (this._groupsShaderReflectionVarInfos[0]) {
|
|
718
|
+
// this.genGroups(0, this.groupsShaderReflectionVarInfos);
|
|
719
|
+
}
|
|
720
|
+
if (this._groupsShaderReflectionVarInfos[1]) {
|
|
721
|
+
this.genGroups(1, this._groupsShaderReflectionVarInfos);
|
|
722
|
+
}
|
|
723
|
+
if (this._groupsShaderReflectionVarInfos[2]) {
|
|
724
|
+
this.genGroups(2, this._groupsShaderReflectionVarInfos);
|
|
725
|
+
}
|
|
726
|
+
if (this._groupsShaderReflectionVarInfos[3]) {
|
|
727
|
+
this.genGroups(3, this._groupsShaderReflectionVarInfos);
|
|
728
|
+
}
|
|
729
|
+
return layouts;
|
|
730
|
+
}
|
|
731
|
+
preDefine(geometry) {
|
|
732
|
+
// this.vertexAttributes = "" ;
|
|
733
|
+
// check geometry vertex attributes
|
|
734
|
+
let useSecondUV = geometry.hasAttribute(VertexAttributeName.TEXCOORD_1);
|
|
735
|
+
let isSkeleton = geometry.hasAttribute(VertexAttributeName.joints0);
|
|
736
|
+
let hasMorphTarget = geometry.hasAttribute(VertexAttributeName.a_morphPositions_0);
|
|
737
|
+
let useTangent = geometry.hasAttribute(VertexAttributeName.TANGENT);
|
|
738
|
+
let useVertexColor = geometry.hasAttribute(VertexAttributeName.color);
|
|
739
|
+
let useGI = this.shaderState.acceptGI;
|
|
740
|
+
let useLight = this.shaderState.useLight;
|
|
741
|
+
if (useSecondUV) {
|
|
742
|
+
this.defineValue[`USE_SECONDUV`] = true;
|
|
743
|
+
}
|
|
744
|
+
if (isSkeleton && hasMorphTarget) {
|
|
745
|
+
this.defineValue[`USE_METAHUMAN`] = true;
|
|
746
|
+
}
|
|
747
|
+
else {
|
|
748
|
+
this.defineValue[`USE_SKELETON`] = isSkeleton;
|
|
749
|
+
this.defineValue[`USE_MORPHTARGETS`] = hasMorphTarget;
|
|
750
|
+
}
|
|
751
|
+
if (!('USE_TANGENT' in this.defineValue)) {
|
|
752
|
+
this.defineValue[`USE_TANGENT`] = useTangent;
|
|
753
|
+
}
|
|
754
|
+
this.defineValue[`USE_GI`] = useGI;
|
|
755
|
+
// this.defineValue[`USE_CASTSHADOW`] = this.shaderState.castShadow;
|
|
756
|
+
this.defineValue[`USE_SHADOWMAPING`] = this.shaderState.acceptShadow;
|
|
757
|
+
this.defineValue[`USE_LIGHT`] = useLight;
|
|
758
|
+
this.defineValue[`USE_VERTXCOLOR`] = useVertexColor;
|
|
759
|
+
if (Engine3D.setting.pick.mode == `pixel`) {
|
|
760
|
+
this.defineValue[`USE_WORLDPOS`] = true;
|
|
761
|
+
}
|
|
762
|
+
if (Engine3D.setting.gi.enable) {
|
|
763
|
+
this.defineValue[`USEGI`] = true;
|
|
764
|
+
}
|
|
765
|
+
else {
|
|
766
|
+
this.defineValue[`USEGI`] = false;
|
|
767
|
+
}
|
|
768
|
+
if (Engine3D.setting.render.debug) {
|
|
769
|
+
this.defineValue[`USE_DEBUG`] = true;
|
|
770
|
+
this.defineValue[`DEBUG_CLUSTER`] = true;
|
|
771
|
+
}
|
|
772
|
+
if (this.shaderState.useLight) {
|
|
773
|
+
this.defineValue[`USE_LIGHT`] = true;
|
|
774
|
+
}
|
|
775
|
+
else {
|
|
776
|
+
this.defineValue[`USE_LIGHT`] = false;
|
|
777
|
+
}
|
|
778
|
+
if (Engine3D.setting.render.useLogDepth) {
|
|
779
|
+
this.defineValue[`USE_LOGDEPTH`] = true;
|
|
780
|
+
this.shaderState.useFragDepth = true;
|
|
781
|
+
}
|
|
782
|
+
else {
|
|
783
|
+
this.defineValue[`USE_LOGDEPTH`] = false;
|
|
784
|
+
}
|
|
785
|
+
if (this.shaderState.useFragDepth) {
|
|
786
|
+
this.defineValue[`USE_OUTDEPTH`] = true;
|
|
787
|
+
}
|
|
788
|
+
else {
|
|
789
|
+
this.defineValue[`USE_OUTDEPTH`] = false;
|
|
790
|
+
}
|
|
791
|
+
this.defineValue[`USE_PCF_SHADOW`] = Engine3D.setting.shadow.type == `PCF`;
|
|
792
|
+
this.defineValue[`USE_HARD_SHADOW`] = Engine3D.setting.shadow.type == `HARD`;
|
|
793
|
+
this.defineValue[`USE_SOFT_SHADOW`] = Engine3D.setting.shadow.type == `SOFT`;
|
|
794
|
+
this.defineValue[`USE_CSM`] = CSM.Cascades > 1;
|
|
795
|
+
this.defineValue[`USE_IES_PROFILE`] = IESProfiles.use;
|
|
796
|
+
}
|
|
797
|
+
genReflection() {
|
|
798
|
+
this.shaderVariant = ShaderReflection.genRenderShaderVariant(this);
|
|
799
|
+
let reflection = ShaderReflection.poolGetReflection(this.shaderVariant);
|
|
800
|
+
if (!reflection) {
|
|
801
|
+
//TODO: key check shader compile info
|
|
802
|
+
let vsPreShader = Preprocessor.parse(this._destVS, this.defineValue);
|
|
803
|
+
vsPreShader = Preprocessor.parse(vsPreShader, this.defineValue);
|
|
804
|
+
ShaderReflection.getShaderReflection2(vsPreShader, this);
|
|
805
|
+
let fsPreShader = Preprocessor.parse(this._destFS, this.defineValue);
|
|
806
|
+
fsPreShader = Preprocessor.parse(fsPreShader, this.defineValue);
|
|
807
|
+
ShaderReflection.getShaderReflection2(fsPreShader, this);
|
|
808
|
+
ShaderReflection.final(this);
|
|
809
|
+
}
|
|
810
|
+
else {
|
|
811
|
+
this.shaderReflection = reflection;
|
|
812
|
+
}
|
|
813
|
+
this.shaderState.splitTexture = this.shaderReflection.useSplit;
|
|
814
|
+
}
|
|
815
|
+
/**
|
|
816
|
+
* Destroy and release render shader related resources
|
|
817
|
+
*/
|
|
818
|
+
destroy(force) {
|
|
819
|
+
for (const key in this.textures) {
|
|
820
|
+
if (Object.prototype.hasOwnProperty.call(this.textures, key)) {
|
|
821
|
+
const texture = this.textures[key];
|
|
822
|
+
Reference.getInstance().detached(texture, this);
|
|
823
|
+
if (force && !Reference.getInstance().hasReference(texture)) {
|
|
824
|
+
texture.destroy(force);
|
|
825
|
+
}
|
|
826
|
+
else {
|
|
827
|
+
texture.destroy(false);
|
|
828
|
+
let table = Reference.getInstance().getReference(texture);
|
|
829
|
+
if (table) {
|
|
830
|
+
let list = [];
|
|
831
|
+
table.forEach((v, k) => {
|
|
832
|
+
if (`name` in v) {
|
|
833
|
+
list.push(v[`name`]);
|
|
834
|
+
}
|
|
835
|
+
else {
|
|
836
|
+
list.push(`NaN`);
|
|
837
|
+
}
|
|
838
|
+
});
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
this.bindGroups.length = 0;
|
|
844
|
+
this.shaderState = null;
|
|
845
|
+
this.textures = null;
|
|
846
|
+
this.pipeline = null;
|
|
847
|
+
this.bindGroupLayouts = null;
|
|
848
|
+
this._sourceVS = null;
|
|
849
|
+
this._sourceFS = null;
|
|
850
|
+
this._destVS = null;
|
|
851
|
+
this._destFS = null;
|
|
852
|
+
this._vsShaderModule = null;
|
|
853
|
+
this._fsShaderModule = null;
|
|
854
|
+
this.materialDataUniformBuffer.destroy(force);
|
|
855
|
+
;
|
|
856
|
+
this.materialDataUniformBuffer = null;
|
|
857
|
+
}
|
|
858
|
+
/**
|
|
859
|
+
* Destroy a RenderShader object
|
|
860
|
+
* @param instanceID instance ID of the RenderShader
|
|
861
|
+
*/
|
|
862
|
+
static destroyShader(instanceID) {
|
|
863
|
+
if (ShaderUtil.renderShader.has(instanceID)) {
|
|
864
|
+
let shader = ShaderUtil.renderShader.get(instanceID);
|
|
865
|
+
shader.destroy();
|
|
866
|
+
ShaderUtil.renderShader.delete(instanceID);
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
/**
|
|
870
|
+
* Get the RenderShader object by specifying the RenderShader instance ID
|
|
871
|
+
* @param instanceID instance ID of the RenderShader
|
|
872
|
+
* @returns RenderShader object
|
|
873
|
+
*/
|
|
874
|
+
static getShader(instanceID) {
|
|
875
|
+
return ShaderUtil.renderShader.get(instanceID);
|
|
876
|
+
}
|
|
877
|
+
/**
|
|
878
|
+
* Create a RenderShader with vertex shaders and fragment shaders
|
|
879
|
+
* @param vs Vertex shader name
|
|
880
|
+
* @param fs Fragment shader name
|
|
881
|
+
* @returns Returns the instance ID of the RenderShader
|
|
882
|
+
*/
|
|
883
|
+
static createShader(vs, fs) {
|
|
884
|
+
let shader = new RenderShaderPass(vs, fs);
|
|
885
|
+
ShaderUtil.renderShader.set(shader.instanceID, shader);
|
|
886
|
+
return shader.instanceID;
|
|
887
|
+
}
|
|
888
|
+
}
|