@meimu/mutracer 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +222 -0
- package/LICENSES/FidelityFX-FSR.txt +19 -0
- package/LICENSES/pbrt-v4-Apache-2.0.txt +202 -0
- package/README.md +3 -0
- package/THIRD_PARTY_NOTICES.md +18 -4
- package/dist/assets/bvh.worker.js +1 -1
- package/dist/mutracer.umd.js +9328 -7614
- package/docs/api.md +83 -35
- package/docs/caustics.md +80 -0
- package/docs/materials.md +9 -6
- package/docs/performance.md +7 -0
- package/docs/post-processing.md +62 -9
- package/docs/progressive-rendering.md +53 -9
- package/docs/sampling.md +4 -0
- package/docs/technical/acceleration.md +52 -0
- package/docs/technical/aovs.md +79 -0
- package/docs/technical/caustics.md +109 -0
- package/docs/technical/continuous-spectrum.md +122 -0
- package/docs/technical/display-upscale.md +82 -0
- package/docs/technical/openpbr.md +99 -0
- package/docs/technical/pbrt-import.md +168 -0
- package/docs/technical/tiling.md +74 -0
- package/docs/technical/webgl.md +53 -0
- package/docs/updates.md +3 -1
- package/docs/viewer-checklist.md +65 -0
- package/docs/viewer.md +18 -6
- package/lib/Display.d.ts +19 -5
- package/lib/Display.js +10 -7
- package/lib/Display.js.map +1 -1
- package/lib/Engine.d.ts +4 -1
- package/lib/Engine.js +77 -14
- package/lib/Engine.js.map +1 -1
- package/lib/Render.d.ts +81 -24
- package/lib/Render.js +201 -26
- package/lib/Render.js.map +1 -1
- package/lib/RenderLoop.d.ts +7 -3
- package/lib/RenderLoop.js +68 -44
- package/lib/RenderLoop.js.map +1 -1
- package/lib/main.d.ts +4 -2
- package/lib/main.js +1 -0
- package/lib/main.js.map +1 -1
- package/lib/oidn.d.ts +1 -1
- package/lib/renderer/AovPrimitiveCache.js +39 -8
- package/lib/renderer/AovPrimitiveCache.js.map +1 -1
- package/lib/renderer/DisplayPostProcess.d.ts +8 -3
- package/lib/renderer/DisplayPostProcess.js +51 -18
- package/lib/renderer/DisplayPostProcess.js.map +1 -1
- package/lib/renderer/GPUTraceQueue.d.ts +2 -1
- package/lib/renderer/GPUTraceQueue.js +3 -1
- package/lib/renderer/GPUTraceQueue.js.map +1 -1
- package/lib/renderer/MaterialData.js +7 -2
- package/lib/renderer/MaterialData.js.map +1 -1
- package/lib/renderer/RenderingPipeline.d.ts +11 -1
- package/lib/renderer/RenderingPipeline.js.map +1 -1
- package/lib/renderer/TileRender.d.ts +2 -2
- package/lib/renderer/TileRender.js +128 -7
- package/lib/renderer/TileRender.js.map +1 -1
- package/lib/renderer/WGPUAov.d.ts +6 -1
- package/lib/renderer/WGPUAov.js +108 -14
- package/lib/renderer/WGPUAov.js.map +1 -1
- package/lib/renderer/WGPUCanvasSurface.js +12 -1
- package/lib/renderer/WGPUCanvasSurface.js.map +1 -1
- package/lib/renderer/WGPUCausticLightPass.d.ts +48 -0
- package/lib/renderer/WGPUCausticLightPass.js +217 -0
- package/lib/renderer/WGPUCausticLightPass.js.map +1 -0
- package/lib/renderer/WGPUEnvMapDistribution.js +19 -19
- package/lib/renderer/WGPUFullQuadPass.js +3 -3
- package/lib/renderer/WGPUPhotonMap.d.ts +37 -0
- package/lib/renderer/WGPUPhotonMap.js +191 -0
- package/lib/renderer/WGPUPhotonMap.js.map +1 -0
- package/lib/renderer/WGPURayTraceOutput.d.ts +13 -1
- package/lib/renderer/WGPURayTraceOutput.js +122 -28
- package/lib/renderer/WGPURayTraceOutput.js.map +1 -1
- package/lib/renderer/WGPURayTracePass.d.ts +65 -21
- package/lib/renderer/WGPURayTracePass.js +730 -409
- package/lib/renderer/WGPURayTracePass.js.map +1 -1
- package/lib/renderer/WGPURenderingPipeline.js +110 -68
- package/lib/renderer/WGPURenderingPipeline.js.map +1 -1
- package/lib/renderer/WebGLAov.js +3 -3
- package/lib/renderer/WebGLAov.js.map +1 -1
- package/lib/renderer/WebGLFullQuadPass.d.ts +2 -1
- package/lib/renderer/WebGLFullQuadPass.js +10 -0
- package/lib/renderer/WebGLFullQuadPass.js.map +1 -1
- package/lib/renderer/WebGLJNLMDenoiser.js +66 -66
- package/lib/renderer/WebGLJNLMDenoiser.js.map +1 -1
- package/lib/renderer/WebGLRayTraceOutputPass.js +4 -4
- package/lib/renderer/WebGLRayTracePass.d.ts +20 -11
- package/lib/renderer/WebGLRayTracePass.js +157 -116
- package/lib/renderer/WebGLRayTracePass.js.map +1 -1
- package/lib/renderer/WebGLRenderingPipeline.js +17 -14
- package/lib/renderer/WebGLRenderingPipeline.js.map +1 -1
- package/lib/renderer/WebGLSkyBaker.js +60 -60
- package/lib/renderer/accumulationTarget.d.ts +2 -1
- package/lib/renderer/accumulationTarget.js.map +1 -1
- package/lib/renderer/aov.d.ts +13 -1
- package/lib/renderer/aov.js +21 -2
- package/lib/renderer/aov.js.map +1 -1
- package/lib/renderer/aovDisplay.js +2 -2
- package/lib/renderer/aovDisplay.js.map +1 -1
- package/lib/renderer/binnedSahBvh.d.ts +2 -1
- package/lib/renderer/binnedSahBvh.js +24 -17
- package/lib/renderer/binnedSahBvh.js.map +1 -1
- package/lib/renderer/bvhAccel.d.ts +3 -1
- package/lib/renderer/bvhAccel.js +36 -6
- package/lib/renderer/bvhAccel.js.map +1 -1
- package/lib/renderer/cameraUniform.d.ts +1 -1
- package/lib/renderer/cameraUniform.js +6 -2
- package/lib/renderer/cameraUniform.js.map +1 -1
- package/lib/renderer/causticDiagnostics.d.ts +31 -0
- package/lib/renderer/causticDiagnostics.js +5 -0
- package/lib/renderer/causticDiagnostics.js.map +1 -0
- package/lib/renderer/causticEmission.d.ts +10 -0
- package/lib/renderer/causticEmission.js +40 -0
- package/lib/renderer/causticEmission.js.map +1 -0
- package/lib/renderer/causticUniform.d.ts +12 -0
- package/lib/renderer/causticUniform.js +22 -0
- package/lib/renderer/causticUniform.js.map +1 -0
- package/lib/renderer/caustics.d.ts +16 -0
- package/lib/renderer/caustics.js +93 -0
- package/lib/renderer/caustics.js.map +1 -0
- package/lib/renderer/compactVertices.d.ts +14 -0
- package/lib/renderer/compactVertices.js +124 -0
- package/lib/renderer/compactVertices.js.map +1 -0
- package/lib/renderer/easu.d.ts +11 -0
- package/lib/renderer/easu.js +156 -0
- package/lib/renderer/easu.js.map +1 -0
- package/lib/renderer/geometryUpdateState.d.ts +1 -0
- package/lib/renderer/geometryUpdateState.js.map +1 -1
- package/lib/renderer/geometryUpdates.js +3 -2
- package/lib/renderer/geometryUpdates.js.map +1 -1
- package/lib/renderer/glsl/aovDisplay.frag.js +5 -5
- package/lib/renderer/glsl/aovReflectance.glsl.js +53 -53
- package/lib/renderer/glsl/aovReflectanceSamples.glsl.js +1 -1
- package/lib/renderer/glsl/aovTrace.frag.js +45 -37
- package/lib/renderer/glsl/aovTrace.frag.js.map +1 -1
- package/lib/renderer/glsl/chunks/cameraProjection.glsl.d.ts +2 -0
- package/lib/renderer/glsl/chunks/cameraProjection.glsl.js +16 -0
- package/lib/renderer/glsl/chunks/cameraProjection.glsl.js.map +1 -0
- package/lib/renderer/glsl/chunks/cameraRay.glsl.d.ts +1 -1
- package/lib/renderer/glsl/chunks/cameraRay.glsl.js +9 -16
- package/lib/renderer/glsl/chunks/cameraRay.glsl.js.map +1 -1
- package/lib/renderer/glsl/chunks/emissiveLight.glsl.d.ts +2 -0
- package/lib/renderer/glsl/chunks/emissiveLight.glsl.js +35 -0
- package/lib/renderer/glsl/chunks/emissiveLight.glsl.js.map +1 -0
- package/lib/renderer/glsl/chunks/envMap.glsl.js +73 -73
- package/lib/renderer/glsl/chunks/intersect.glsl.js +478 -465
- package/lib/renderer/glsl/chunks/intersect.glsl.js.map +1 -1
- package/lib/renderer/glsl/chunks/materialBuffer.glsl.d.ts +1 -0
- package/lib/renderer/glsl/chunks/materialBuffer.glsl.js +156 -153
- package/lib/renderer/glsl/chunks/materialBuffer.glsl.js.map +1 -1
- package/lib/renderer/glsl/chunks/openPbrBsdf.glsl.js +771 -771
- package/lib/renderer/glsl/chunks/rand.glsl.js +3 -3
- package/lib/renderer/glsl/chunks/random.glsl.js +6 -6
- package/lib/renderer/glsl/chunks/rayTraceCore.glsl.d.ts +1 -0
- package/lib/renderer/glsl/chunks/rayTraceCore.glsl.js +70 -63
- package/lib/renderer/glsl/chunks/rayTraceCore.glsl.js.map +1 -1
- package/lib/renderer/glsl/chunks/sampleLight.glsl.js +89 -75
- package/lib/renderer/glsl/chunks/sampleLight.glsl.js.map +1 -1
- package/lib/renderer/glsl/chunks/sampleMaterial.glsl.d.ts +1 -0
- package/lib/renderer/glsl/chunks/sampleMaterial.glsl.js +160 -118
- package/lib/renderer/glsl/chunks/sampleMaterial.glsl.js.map +1 -1
- package/lib/renderer/glsl/chunks/sampleShadowCatcher.glsl.js +14 -14
- package/lib/renderer/glsl/chunks/sampling.glsl.js +88 -91
- package/lib/renderer/glsl/chunks/sampling.glsl.js.map +1 -1
- package/lib/renderer/glsl/chunks/sobol.glsl.js +79 -79
- package/lib/renderer/glsl/chunks/spectralPrefix.glsl.d.ts +6 -0
- package/lib/renderer/glsl/chunks/spectralPrefix.glsl.js +47 -0
- package/lib/renderer/glsl/chunks/spectralPrefix.glsl.js.map +1 -0
- package/lib/renderer/glsl/chunks/textureLinear.glsl.js +5 -5
- package/lib/renderer/glsl/chunks/uvProjection.glsl.js +11 -11
- package/lib/renderer/glsl/depthQuery.frag.js +13 -7
- package/lib/renderer/glsl/depthQuery.frag.js.map +1 -1
- package/lib/renderer/glsl/normalizeRayTraceOutput.frag.js +10 -10
- package/lib/renderer/glsl/rayTrace.frag.d.ts +1 -1
- package/lib/renderer/glsl/rayTrace.frag.js +338 -252
- package/lib/renderer/glsl/rayTrace.frag.js.map +1 -1
- package/lib/renderer/glsl/shadowCatcher.frag.js +27 -26
- package/lib/renderer/glsl/shadowCatcher.frag.js.map +1 -1
- package/lib/renderer/glsl/webglPipeline.frag.js +59 -59
- package/lib/renderer/gpuMemory.js +1 -1
- package/lib/renderer/gpuMemory.js.map +1 -1
- package/lib/renderer/lightSampling.d.ts +3 -2
- package/lib/renderer/lightSampling.js +14 -8
- package/lib/renderer/lightSampling.js.map +1 -1
- package/lib/renderer/openPbrEnergyLut.d.ts +2 -1
- package/lib/renderer/openPbrEnergyLut.js +18 -1
- package/lib/renderer/openPbrEnergyLut.js.map +1 -1
- package/lib/renderer/pathLimits.d.ts +5 -4
- package/lib/renderer/pathLimits.js +6 -5
- package/lib/renderer/pathLimits.js.map +1 -1
- package/lib/renderer/prepareMeshBVH.d.ts +2 -0
- package/lib/renderer/prepareMeshBVH.js +5 -3
- package/lib/renderer/prepareMeshBVH.js.map +1 -1
- package/lib/renderer/progressiveScheduler.js +5 -4
- package/lib/renderer/progressiveScheduler.js.map +1 -1
- package/lib/renderer/renderPipeline.d.ts +5 -0
- package/lib/renderer/renderPipeline.js +1 -0
- package/lib/renderer/renderPipeline.js.map +1 -1
- package/lib/renderer/researchTransport.d.ts +31 -0
- package/lib/renderer/researchTransport.js +5 -0
- package/lib/renderer/researchTransport.js.map +1 -0
- package/lib/renderer/sceneAssembly.d.ts +1 -1
- package/lib/renderer/sceneAssembly.js +4 -3
- package/lib/renderer/sceneAssembly.js.map +1 -1
- package/lib/renderer/sceneChangeDetector.d.ts +1 -1
- package/lib/renderer/sceneChangeDetector.js +3 -1
- package/lib/renderer/sceneChangeDetector.js.map +1 -1
- package/lib/renderer/sceneLayoutSchema.d.ts +2 -0
- package/lib/renderer/sceneLayoutSchema.js +3 -3
- package/lib/renderer/sceneLayoutSchema.js.map +1 -1
- package/lib/renderer/scenePreparation.d.ts +3 -2
- package/lib/renderer/scenePreparation.js +18 -2
- package/lib/renderer/scenePreparation.js.map +1 -1
- package/lib/renderer/scratchSampling.js +6 -6
- package/lib/renderer/spectrum.d.ts +21 -0
- package/lib/renderer/spectrum.js +154 -0
- package/lib/renderer/spectrum.js.map +1 -0
- package/lib/renderer/staticBvhPreparation.d.ts +9 -0
- package/lib/renderer/staticBvhPreparation.js +8 -2
- package/lib/renderer/staticBvhPreparation.js.map +1 -1
- package/lib/renderer/surfaceHit.d.ts +10 -0
- package/lib/renderer/surfaceHit.js +22 -0
- package/lib/renderer/surfaceHit.js.map +1 -0
- package/lib/renderer/tangentRequirements.d.ts +2 -0
- package/lib/renderer/tangentRequirements.js +7 -0
- package/lib/renderer/tangentRequirements.js.map +1 -0
- package/lib/renderer/textureAtlas.d.ts +4 -0
- package/lib/renderer/textureAtlas.js +48 -2
- package/lib/renderer/textureAtlas.js.map +1 -1
- package/lib/renderer/webgl.js +4 -0
- package/lib/renderer/webgl.js.map +1 -1
- package/lib/renderer/webglLightSampling.d.ts +39 -0
- package/lib/renderer/webglLightSampling.js +15 -0
- package/lib/renderer/webglLightSampling.js.map +1 -0
- package/lib/renderer/webglVertexAttributes.d.ts +17 -0
- package/lib/renderer/webglVertexAttributes.js +44 -0
- package/lib/renderer/webglVertexAttributes.js.map +1 -0
- package/lib/renderer/wgpuBindlessSource.js +3 -3
- package/lib/renderer/wgpuMaterialConstants.js +4 -3
- package/lib/renderer/wgpuMaterialConstants.js.map +1 -1
- package/lib/renderer/wgpuSceneUniform.js +2 -2
- package/lib/renderer/wgpuSceneUniform.js.map +1 -1
- package/lib/renderer/wgpuShaderSource.d.ts +22 -0
- package/lib/renderer/wgpuShaderSource.js +3 -1
- package/lib/renderer/wgpuShaderSource.js.map +1 -1
- package/lib/renderer/wgsl/aovCompact.wgsl.d.ts +4 -0
- package/lib/renderer/wgsl/aovCompact.wgsl.js +26 -0
- package/lib/renderer/wgsl/aovCompact.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/aovDisplay.wgsl.js +9 -9
- package/lib/renderer/wgsl/aovReflectance.wgsl.js +55 -55
- package/lib/renderer/wgsl/aovReflectanceSamples.wgsl.js +1 -1
- package/lib/renderer/wgsl/aovResolve.wgsl.d.ts +4 -0
- package/lib/renderer/wgsl/aovResolve.wgsl.js +21 -2
- package/lib/renderer/wgsl/aovResolve.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/aovSnapshot.wgsl.js +2 -2
- package/lib/renderer/wgsl/aovSnapshot.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/aovTrace.wgsl.js +33 -33
- package/lib/renderer/wgsl/aovTraceDisplay.wgsl.d.ts +2 -0
- package/lib/renderer/wgsl/aovTraceDisplay.wgsl.js +56 -0
- package/lib/renderer/wgsl/aovTraceDisplay.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/bloom.wgsl.js +18 -18
- package/lib/renderer/wgsl/causticLight.compute.d.ts +6 -0
- package/lib/renderer/wgsl/causticLight.compute.js +539 -0
- package/lib/renderer/wgsl/causticLight.compute.js.map +1 -0
- package/lib/renderer/wgsl/chunks/background.wgsl.d.ts +2 -0
- package/lib/renderer/wgsl/chunks/background.wgsl.js +102 -0
- package/lib/renderer/wgsl/chunks/background.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/chunks/causticAdjoint.wgsl.d.ts +2 -0
- package/lib/renderer/wgsl/chunks/causticAdjoint.wgsl.js +12 -0
- package/lib/renderer/wgsl/chunks/causticAdjoint.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/chunks/causticAtomic.wgsl.d.ts +2 -0
- package/lib/renderer/wgsl/chunks/causticAtomic.wgsl.js +16 -0
- package/lib/renderer/wgsl/chunks/causticAtomic.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/chunks/caustics.wgsl.d.ts +1 -0
- package/lib/renderer/wgsl/chunks/caustics.wgsl.js +62 -0
- package/lib/renderer/wgsl/chunks/caustics.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/chunks/common.wgsl.js +4 -4
- package/lib/renderer/wgsl/chunks/envMap.wgsl.js +37 -37
- package/lib/renderer/wgsl/chunks/intersect.wgsl.d.ts +6 -2
- package/lib/renderer/wgsl/chunks/intersect.wgsl.js +634 -620
- package/lib/renderer/wgsl/chunks/intersect.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/chunks/intersectionAlpha.wgsl.d.ts +1 -1
- package/lib/renderer/wgsl/chunks/intersectionAlpha.wgsl.js +23 -21
- package/lib/renderer/wgsl/chunks/intersectionAlpha.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/chunks/materialBuffer.wgsl.d.ts +3 -1
- package/lib/renderer/wgsl/chunks/materialBuffer.wgsl.js +77 -74
- package/lib/renderer/wgsl/chunks/materialBuffer.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/chunks/openPbrBsdf.wgsl.js +795 -795
- package/lib/renderer/wgsl/chunks/pdm_displacement.wgsl.js +139 -139
- package/lib/renderer/wgsl/chunks/rand.wgsl.js +3 -3
- package/lib/renderer/wgsl/chunks/rayTraceCore.wgsl.d.ts +5 -1
- package/lib/renderer/wgsl/chunks/rayTraceCore.wgsl.js +45 -29
- package/lib/renderer/wgsl/chunks/rayTraceCore.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/chunks/sampleLight.wgsl.d.ts +1 -1
- package/lib/renderer/wgsl/chunks/sampleLight.wgsl.js +142 -138
- package/lib/renderer/wgsl/chunks/sampleLight.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/chunks/sampleMaterial.wgsl.d.ts +1 -1
- package/lib/renderer/wgsl/chunks/sampleMaterial.wgsl.js +228 -189
- package/lib/renderer/wgsl/chunks/sampleMaterial.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/chunks/sampleShadowCatcher.wgsl.d.ts +1 -1
- package/lib/renderer/wgsl/chunks/sampleShadowCatcher.wgsl.js +11 -11
- package/lib/renderer/wgsl/chunks/sampleShadowCatcher.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/chunks/sampling.wgsl.d.ts +1 -1
- package/lib/renderer/wgsl/chunks/sampling.wgsl.js +88 -92
- package/lib/renderer/wgsl/chunks/sampling.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/chunks/sobol.wgsl.js +83 -83
- package/lib/renderer/wgsl/chunks/spectralPrefix.wgsl.d.ts +6 -0
- package/lib/renderer/wgsl/chunks/spectralPrefix.wgsl.js +66 -0
- package/lib/renderer/wgsl/chunks/spectralPrefix.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/chunks/uvProjection.wgsl.js +11 -11
- package/lib/renderer/wgsl/chunks/vertexAttributes.wgsl.d.ts +2 -0
- package/lib/renderer/wgsl/chunks/vertexAttributes.wgsl.js +61 -0
- package/lib/renderer/wgsl/chunks/vertexAttributes.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/compose.frag.wgsl.d.ts +2 -0
- package/lib/renderer/wgsl/compose.frag.wgsl.js +100 -98
- package/lib/renderer/wgsl/compose.frag.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/customDenoise.wgsl.js +10 -10
- package/lib/renderer/wgsl/depthQuery.wgsl.d.ts +1 -1
- package/lib/renderer/wgsl/depthQuery.wgsl.js +12 -3
- package/lib/renderer/wgsl/depthQuery.wgsl.js.map +1 -1
- package/lib/renderer/wgsl/easu.wgsl.d.ts +2 -0
- package/lib/renderer/wgsl/easu.wgsl.js +80 -0
- package/lib/renderer/wgsl/easu.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/easuDetail.wgsl.d.ts +21 -0
- package/lib/renderer/wgsl/easuDetail.wgsl.js +230 -0
- package/lib/renderer/wgsl/easuDetail.wgsl.js.map +1 -0
- package/lib/renderer/wgsl/jnlm.compute.js +74 -74
- package/lib/renderer/wgsl/jnlm.compute.js.map +1 -1
- package/lib/renderer/wgsl/offlineAdaptive.compute.js +26 -26
- package/lib/renderer/wgsl/oidnAuxiliary.wgsl.js +3 -3
- package/lib/renderer/wgsl/photonMap.compute.d.ts +29 -0
- package/lib/renderer/wgsl/photonMap.compute.js +352 -0
- package/lib/renderer/wgsl/photonMap.compute.js.map +1 -0
- package/lib/renderer/wgsl/proceduralSky.compute.js +64 -64
- package/lib/renderer/wgsl/rayTrace.compute.d.ts +23 -1
- package/lib/renderer/wgsl/rayTrace.compute.js +531 -543
- package/lib/renderer/wgsl/rayTrace.compute.js.map +1 -1
- package/lib/scene/MaterialState.d.ts +2 -2
- package/lib/scene/MaterialState.js +2 -2
- package/lib/scene/MaterialState.js.map +1 -1
- package/lib/scene/Scene.js.map +1 -1
- package/lib/settings/render.d.ts +22 -0
- package/lib/settings/render.js +2 -0
- package/lib/settings/render.js.map +1 -1
- package/lib/util/fromTHREE.js +23 -16
- package/lib/util/fromTHREE.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/llms.txt +2 -1
- package/package.json +7 -4
- package/lib/oidnBundledWeights.cdn.d.ts +0 -2
- package/lib/oidnBundledWeights.cdn.js +0 -5
- package/lib/oidnBundledWeights.cdn.js.map +0 -1
- package/lib/renderer/bvh.worker.d.ts +0 -1
- package/lib/renderer/bvh.worker.js +0 -16
- package/lib/renderer/bvh.worker.js.map +0 -1
- package/lib/renderer/bvhWorkerBuild.d.ts +0 -13
- package/lib/renderer/bvhWorkerBuild.js +0 -17
- package/lib/renderer/bvhWorkerBuild.js.map +0 -1
- package/lib/renderer/lightCore.d.ts +0 -12
- package/lib/renderer/lightCore.js +0 -13
- package/lib/renderer/lightCore.js.map +0 -1
- package/lib/renderer/materialCore.d.ts +0 -8
- package/lib/renderer/materialCore.js +0 -9
- package/lib/renderer/materialCore.js.map +0 -1
- package/lib/scene/PixelTexture.d.ts +0 -6
- package/lib/scene/PixelTexture.js +0 -10
- package/lib/scene/PixelTexture.js.map +0 -1
- package/lib/util/studioLighting.d.ts +0 -18
- package/lib/util/studioLighting.js +0 -36
- package/lib/util/studioLighting.js.map +0 -1
|
@@ -16,17 +16,17 @@ export default createShaderMixin({
|
|
|
16
16
|
groundedBackgroundCenter: Shader.uniform('vec2')
|
|
17
17
|
},
|
|
18
18
|
main: glsl `
|
|
19
|
-
vec2
|
|
20
|
-
float phi = mod(atan(-
|
|
21
|
-
float theta = acos(clamp(
|
|
19
|
+
vec2 eP(vec3 gz) {
|
|
20
|
+
float phi = mod(atan(-gz.z, -gz.x), TWOPI);
|
|
21
|
+
float theta = acos(clamp(gz.y, -1.0, 1.0));
|
|
22
22
|
return vec2(phi * 0.5 * INVPI, theta * INVPI);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
vec2
|
|
26
|
-
return
|
|
25
|
+
vec2 cU(vec3 oA) {
|
|
26
|
+
return eP(transpose(environmentRotation) * oA);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
float
|
|
29
|
+
float sN(float u, out int vOffset, out float pdf) {
|
|
30
30
|
ivec2 size = textureSize(envMap, 0);
|
|
31
31
|
|
|
32
32
|
int left = 0;
|
|
@@ -52,7 +52,7 @@ pdf = s0.y;
|
|
|
52
52
|
return (float(vOffset) + (u - s0.x) / (s1.x - s0.x)) / float(size.y);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
float
|
|
55
|
+
float sM(float u, int vOffset, out float pdf) {
|
|
56
56
|
ivec2 size = textureSize(envMap, 0);
|
|
57
57
|
|
|
58
58
|
int left = 0;
|
|
@@ -66,128 +66,128 @@ left = mid + 1;
|
|
|
66
66
|
right = mid;
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
int
|
|
69
|
+
int qG = left - 1;
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
|
|
73
|
-
vec2 s0 = texelFetch(envMapDistribution, ivec2(1 +
|
|
74
|
-
vec2 s1 = texelFetch(envMapDistribution, ivec2(1 +
|
|
73
|
+
vec2 s0 = texelFetch(envMapDistribution, ivec2(1 + qG, vOffset), 0).xy;
|
|
74
|
+
vec2 s1 = texelFetch(envMapDistribution, ivec2(1 + qG + 1, vOffset), 0).xy;
|
|
75
75
|
|
|
76
76
|
pdf = s0.y;
|
|
77
77
|
|
|
78
|
-
return (float(
|
|
78
|
+
return (float(qG) + (u - s0.x) / (s1.x - s0.x)) / float(size.x);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
float
|
|
82
|
+
float envMapSolidAnglePdf(vec2 partialPdf, float v) {
|
|
83
83
|
if (!(v > 0.0 && v < 1.0)) { return 0.0; }
|
|
84
84
|
float sinTheta = sin(min(v, 1.0 - v) * PI);
|
|
85
|
-
return
|
|
85
|
+
return partialPdf.x * partialPdf.y * INVPI2 / (2.0 * sinTheta);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
|
|
89
|
-
vec3
|
|
90
|
-
vec2
|
|
89
|
+
vec3 qx(vec2 random, out vec2 uv, out float pdf) {
|
|
90
|
+
vec2 partialPdf;
|
|
91
91
|
int vOffset;
|
|
92
92
|
|
|
93
|
-
uv.y =
|
|
94
|
-
uv.x =
|
|
93
|
+
uv.y = sN(random.x, vOffset, partialPdf.y);
|
|
94
|
+
uv.x = sM(random.y, vOffset, partialPdf.x);
|
|
95
95
|
|
|
96
96
|
float phi = uv.x * TWOPI;
|
|
97
97
|
float theta = uv.y * PI;
|
|
98
|
-
float
|
|
98
|
+
float cv = cos(theta);
|
|
99
99
|
float sinTheta = sin(theta);
|
|
100
|
-
float
|
|
101
|
-
float
|
|
100
|
+
float xV = cos(phi);
|
|
101
|
+
float yo = sin(phi);
|
|
102
102
|
|
|
103
|
-
vec3 dir = vec3(-sinTheta *
|
|
103
|
+
vec3 dir = vec3(-sinTheta * xV, cv, -sinTheta * yo);
|
|
104
104
|
|
|
105
|
-
pdf =
|
|
105
|
+
pdf = envMapSolidAnglePdf(partialPdf, uv.y);
|
|
106
106
|
|
|
107
107
|
return environmentRotation * dir;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
float
|
|
110
|
+
float envMapPdf(vec2 uv) {
|
|
111
111
|
vec2 size = vec2(textureSize(envMap, 0));
|
|
112
112
|
|
|
113
113
|
ivec2 pixel = clamp(ivec2(uv * size), ivec2(0), ivec2(size) - ivec2(1));
|
|
114
114
|
|
|
115
|
-
float
|
|
116
|
-
float
|
|
115
|
+
float vO = texelFetch(envMapDistribution, ivec2(1 + pixel.x, pixel.y), 0).y;
|
|
116
|
+
float vP = texelFetch(envMapDistribution, ivec2(0, pixel.y), 0).y;
|
|
117
117
|
|
|
118
|
-
return
|
|
118
|
+
return envMapSolidAnglePdf(vec2(vO, vP), uv.y);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
float
|
|
122
|
-
float
|
|
123
|
-
if (
|
|
121
|
+
float dk(vec3 point, float height, float radius) {
|
|
122
|
+
float gc = length(point);
|
|
123
|
+
if (gc < 0.00001) {
|
|
124
124
|
return -radius;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
float
|
|
128
|
-
float
|
|
129
|
-
float
|
|
130
|
-
if (
|
|
131
|
-
|
|
132
|
-
} else if (
|
|
133
|
-
|
|
127
|
+
float jf = radius * point.y / gc;
|
|
128
|
+
float iS = -1.5 * height;
|
|
129
|
+
float ez;
|
|
130
|
+
if (jf >= 0.0) {
|
|
131
|
+
ez = radius;
|
|
132
|
+
} else if (jf < iS) {
|
|
133
|
+
ez = -height * gc / point.y;
|
|
134
134
|
} else {
|
|
135
|
-
float
|
|
136
|
-
-
|
|
137
|
-
|
|
135
|
+
float cA = 1.0
|
|
136
|
+
- jf * jf / (3.0 * iS * iS);
|
|
137
|
+
ez = radius * cA;
|
|
138
138
|
}
|
|
139
|
-
return
|
|
139
|
+
return gc - ez;
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
vec3
|
|
142
|
+
vec3 eW(vec3 origin, vec3 d) {
|
|
143
143
|
#ifdef USE_GROUNDED_BACKGROUND
|
|
144
144
|
float height = groundedBackgroundParams.x;
|
|
145
145
|
float radius = groundedBackgroundParams.y;
|
|
146
|
-
float
|
|
147
|
-
vec3
|
|
148
|
-
vec3
|
|
146
|
+
float zZ = groundedBackgroundParams.z;
|
|
147
|
+
vec3 bT = normalize(d);
|
|
148
|
+
vec3 bA = origin - vec3(
|
|
149
149
|
groundedBackgroundCenter.x,
|
|
150
|
-
|
|
150
|
+
zZ + height,
|
|
151
151
|
groundedBackgroundCenter.y
|
|
152
152
|
);
|
|
153
153
|
|
|
154
154
|
|
|
155
155
|
|
|
156
|
-
float
|
|
157
|
-
float
|
|
158
|
-
- dot(
|
|
159
|
-
if (
|
|
160
|
-
float
|
|
156
|
+
float eN = dot(bA, bT);
|
|
157
|
+
float bk = eN * eN
|
|
158
|
+
- dot(bA, bA) + radius * radius;
|
|
159
|
+
if (bk > 0.0) {
|
|
160
|
+
float cB = -eN + sqrt(bk);
|
|
161
161
|
if (
|
|
162
|
-
|
|
163
|
-
&&
|
|
162
|
+
cB > 0.0
|
|
163
|
+
&& dk(bA, height, radius) <= 0.0
|
|
164
164
|
) {
|
|
165
|
-
vec3
|
|
166
|
-
if (
|
|
167
|
-
return normalize(
|
|
165
|
+
vec3 pw = bA + bT * cB;
|
|
166
|
+
if (pw.y >= 0.0) {
|
|
167
|
+
return normalize(pw);
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
if (
|
|
171
|
-
float
|
|
172
|
-
vec3
|
|
173
|
-
float
|
|
170
|
+
if (bT.y < -0.00001 && radius > 1.5 * height) {
|
|
171
|
+
float iz = (-height - bA.y) / bT.y;
|
|
172
|
+
vec3 pm = bA + bT * iz;
|
|
173
|
+
float qb = (2.0 / 3.0)
|
|
174
174
|
* sqrt(radius * radius - 2.25 * height * height);
|
|
175
|
-
if (
|
|
176
|
-
return normalize(
|
|
175
|
+
if (iz > 0.0 && length(pm.xz) <= qb) {
|
|
176
|
+
return normalize(pm);
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
float
|
|
180
|
+
float cK = 0.0;
|
|
181
181
|
for (int i = 0; i < 14; i++) {
|
|
182
|
-
float
|
|
183
|
-
vec3
|
|
184
|
-
if (
|
|
185
|
-
|
|
182
|
+
float fp = (cK + cB) * 0.5;
|
|
183
|
+
vec3 rD = bA + bT * fp;
|
|
184
|
+
if (dk(rD, height, radius) > 0.0) {
|
|
185
|
+
cB = fp;
|
|
186
186
|
} else {
|
|
187
|
-
|
|
187
|
+
cK = fp;
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
vec3 hit =
|
|
190
|
+
vec3 hit = bA + bT * ((cK + cB) * 0.5);
|
|
191
191
|
return normalize(hit);
|
|
192
192
|
}
|
|
193
193
|
}
|
|
@@ -195,15 +195,15 @@ return normalize(hit);
|
|
|
195
195
|
return d;
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
vec4
|
|
199
|
-
d =
|
|
198
|
+
vec4 cq(vec3 origin, vec3 d) {
|
|
199
|
+
d = eW(origin, d);
|
|
200
200
|
#ifdef USE_BACKGROUND
|
|
201
201
|
vec4 t = backgroundMapTransform;
|
|
202
202
|
d = vec3(t.x * d.x - t.y * d.z, d.y, t.y * d.x + t.x * d.z);
|
|
203
|
-
vec4
|
|
204
|
-
return vec4(
|
|
203
|
+
vec4 aW = textureLinear(backgroundMap, eP(transpose(backgroundMapRotation) * d));
|
|
204
|
+
return vec4(aW.rgb * t.z, aW.a);
|
|
205
205
|
#else
|
|
206
|
-
return textureLinear(backgroundMap,
|
|
206
|
+
return textureLinear(backgroundMap, cU(d));
|
|
207
207
|
#endif
|
|
208
208
|
}`
|
|
209
209
|
});
|