From d54eeb5e6e43b7c2259f08e83a83600c88d5b23f Mon Sep 17 00:00:00 2001 From: Mike Date: Fri, 20 Dec 2024 15:26:56 +0100 Subject: [PATCH] Xmas: Let it snow (#3731) --- .../components/viewer/menu/Item.vue | 1 + .../components/viewer/view-modes/Menu.vue | 19 +- .../frontend-2/lib/viewer/composables/ui.ts | 10 +- .../lib/viewer/pipelines/snow/SnowFallPass.ts | 68 +++++ .../lib/viewer/pipelines/snow/SnowMaterial.ts | 76 +++++ .../lib/viewer/pipelines/snow/SnowPipeline.ts | 148 +++++++++ .../viewer/pipelines/snow/objectSnowFrag.ts | 286 ++++++++++++++++++ .../viewer/pipelines/snow/objectSnowVert.ts | 274 +++++++++++++++++ .../lib/viewer/pipelines/snow/snow.png | Bin 0 -> 116775 bytes .../lib/viewer/pipelines/snow/snowfallFrag.ts | 39 +++ .../lib/viewer/pipelines/snow/snowfallVert.ts | 6 + .../src/Pipelines/Snow/SnowMaterial.ts | 2 +- 12 files changed, 925 insertions(+), 4 deletions(-) create mode 100644 packages/frontend-2/lib/viewer/pipelines/snow/SnowFallPass.ts create mode 100644 packages/frontend-2/lib/viewer/pipelines/snow/SnowMaterial.ts create mode 100644 packages/frontend-2/lib/viewer/pipelines/snow/SnowPipeline.ts create mode 100644 packages/frontend-2/lib/viewer/pipelines/snow/objectSnowFrag.ts create mode 100644 packages/frontend-2/lib/viewer/pipelines/snow/objectSnowVert.ts create mode 100644 packages/frontend-2/lib/viewer/pipelines/snow/snow.png create mode 100644 packages/frontend-2/lib/viewer/pipelines/snow/snowfallFrag.ts create mode 100644 packages/frontend-2/lib/viewer/pipelines/snow/snowfallVert.ts diff --git a/packages/frontend-2/components/viewer/menu/Item.vue b/packages/frontend-2/components/viewer/menu/Item.vue index 865dad3669..edb6ef8c57 100644 --- a/packages/frontend-2/components/viewer/menu/Item.vue +++ b/packages/frontend-2/components/viewer/menu/Item.vue @@ -10,6 +10,7 @@ {{ shortcut }} + diff --git a/packages/frontend-2/components/viewer/view-modes/Menu.vue b/packages/frontend-2/components/viewer/view-modes/Menu.vue index f3901151ad..02fcf3880f 100644 --- a/packages/frontend-2/components/viewer/view-modes/Menu.vue +++ b/packages/frontend-2/components/viewer/view-modes/Menu.vue @@ -19,6 +19,13 @@ @click="handleViewModeChange(shortcut.viewMode)" /> + + 🎅 + @@ -32,7 +39,7 @@ import { ViewModeShortcuts } from '~/lib/viewer/helpers/shortcuts/shortcuts' const open = defineModel('open', { default: false }) -const { setViewMode, currentViewMode } = useViewModeUtilities() +const { setViewMode, currentViewMode, letItSnow } = useViewModeUtilities() const { getShortcutDisplayText, registerShortcuts } = useViewerShortcuts() const mp = useMixpanel() @@ -55,15 +62,18 @@ registerShortcuts({ SetViewModeColors: () => handleViewModeChange(ViewMode.COLORS, true) }) -const isActiveMode = (mode: ViewMode) => mode === currentViewMode.value +const isActiveMode = (mode: ViewMode) => + snowingEnabled.value ? false : mode === currentViewMode.value const viewModeShortcuts = Object.values(ViewModeShortcuts) +const snowingEnabled = ref(false) const emit = defineEmits<{ (e: 'force-close-others'): void }>() const handleViewModeChange = (mode: ViewMode, isShortcut = false) => { + snowingEnabled.value = false setViewMode(mode) cancelCloseTimer() @@ -80,6 +90,11 @@ const handleViewModeChange = (mode: ViewMode, isShortcut = false) => { }) } +const onSnowModeClick = () => { + snowingEnabled.value = true + letItSnow() +} + onUnmounted(() => { cancelCloseTimer() }) diff --git a/packages/frontend-2/lib/viewer/composables/ui.ts b/packages/frontend-2/lib/viewer/composables/ui.ts index c38a63a506..348dc0d111 100644 --- a/packages/frontend-2/lib/viewer/composables/ui.ts +++ b/packages/frontend-2/lib/viewer/composables/ui.ts @@ -27,6 +27,7 @@ import type { ViewerShortcutAction } from '~/lib/viewer/helpers/shortcuts/types' import { useActiveElement } from '@vueuse/core' +import { SnowPipeline } from '~/lib/viewer/pipelines/snow/SnowPipeline' export function useSectionBoxUtilities() { const { instance } = useInjectedViewer() @@ -501,9 +502,16 @@ export function useViewModeUtilities() { } } + const letItSnow = () => { + const snowPipeline = new SnowPipeline(instance.getRenderer()) + instance.getRenderer().pipeline = snowPipeline + void snowPipeline.start() + } + return { currentViewMode, - setViewMode + setViewMode, + letItSnow } } diff --git a/packages/frontend-2/lib/viewer/pipelines/snow/SnowFallPass.ts b/packages/frontend-2/lib/viewer/pipelines/snow/SnowFallPass.ts new file mode 100644 index 0000000000..44ce9ab475 --- /dev/null +++ b/packages/frontend-2/lib/viewer/pipelines/snow/SnowFallPass.ts @@ -0,0 +1,68 @@ +import { BaseGPass } from '@speckle/viewer' +import { + AdditiveBlending, + type OrthographicCamera, + type PerspectiveCamera, + ShaderMaterial, + Vector2, + type WebGLRenderer +} from 'three' +import { FullScreenQuad } from 'three/examples/jsm/postprocessing/Pass.js' +import { snowfallFrag } from './snowfallFrag' +import { snowfallVert } from './snowfallVert' + +export class SnowFallPass extends BaseGPass { + public snowfallMaterial: ShaderMaterial + private fsQuad: FullScreenQuad + private lastFrameTime: number = 0 + private totalTime: number = 0 + + public constructor() { + super() + + this.snowfallMaterial = new ShaderMaterial({ + fragmentShader: snowfallFrag, + vertexShader: snowfallVert, + uniforms: { + iTime: { value: 0 }, + iResolution: { value: new Vector2(512, 512) } + } + }) + this.snowfallMaterial.depthWrite = false + this.snowfallMaterial.blending = AdditiveBlending + this.snowfallMaterial.transparent = true + + this.fsQuad = new FullScreenQuad(this.snowfallMaterial) + } + + public get displayName(): string { + return 'SNOWFALL' + } + + public update(_camera: PerspectiveCamera | OrthographicCamera) { + if (this.lastFrameTime === 0) { + this.lastFrameTime = performance.now() + return + } + const now = performance.now() + this.totalTime += now - this.lastFrameTime + this.lastFrameTime = now + this.snowfallMaterial.uniforms['iTime'].value = this.totalTime / 1000 + this.snowfallMaterial.needsUpdate = true + } + + public render(renderer: WebGLRenderer): boolean { + if (this.onBeforeRender) this.onBeforeRender() + + this.fsQuad.render(renderer) + if (this.onAfterRender) this.onAfterRender() + return true + } + + public setSize(width: number, height: number) { + super.setSize(width, height) + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call + this.snowfallMaterial.uniforms['iResolution'].value.set(width, height) + this.snowfallMaterial.needsUpdate = true + } +} diff --git a/packages/frontend-2/lib/viewer/pipelines/snow/SnowMaterial.ts b/packages/frontend-2/lib/viewer/pipelines/snow/SnowMaterial.ts new file mode 100644 index 0000000000..6c98ef54c3 --- /dev/null +++ b/packages/frontend-2/lib/viewer/pipelines/snow/SnowMaterial.ts @@ -0,0 +1,76 @@ +/* eslint-disable @typescript-eslint/no-unsafe-member-access */ +import { SpeckleStandardMaterial, type SpeckleWebGLRenderer } from '@speckle/viewer' +import { + type MeshStandardMaterialParameters, + type Scene, + type Camera, + type BufferGeometry, + type Object3D, + Box3, + Vector3 +} from 'three' +import { objectSnowVert } from './objectSnowVert' +import { objectSnowFrag } from './objectSnowFrag' + +class SnowMaterial extends SpeckleStandardMaterial { + private minSnowValue = 0 + private maxSnowValue = 0 + private lastFrameTime = 0 + private increaseFactor = 500000 + + protected get vertexProgram(): string { + return objectSnowVert + } + + protected get fragmentProgram(): string { + return objectSnowFrag + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + protected get uniformsDef(): Record { + return { + ...super.uniformsDef, + height: 1, + minSnow: this.minSnowValue, + maxSnow: this.maxSnowValue + } + } + + constructor(parameters: MeshStandardMaterialParameters, defines = ['USE_RTE']) { + super(parameters, defines) + } + + /** Called by three.js render loop */ + public onBeforeRender( + _this: SpeckleWebGLRenderer, + _scene: Scene, + _camera: Camera, + _geometry: BufferGeometry, + object: Object3D + ) { + super.onBeforeRender(_this, _scene, _camera, _geometry, object) + + const sceneHeight = new Box3().setFromObject(_scene).getSize(new Vector3()) + this.userData.height.value = sceneHeight.y + + const now = performance.now() + if (this.lastFrameTime === 0) { + this.lastFrameTime = now + return + } + const delta = now - this.lastFrameTime + this.lastFrameTime = now + + this.minSnowValue += 1 / (this.increaseFactor + delta) + 1 / this.increaseFactor + this.maxSnowValue += + 1 / (this.increaseFactor * 0.5 + delta) + 1 / (this.increaseFactor * 0.5) + + this.userData.minSnow.value = Math.min(this.minSnowValue, 0.8) + this.userData.maxSnow.value = Math.min(this.maxSnowValue, 0.9) + + this.increaseFactor -= 1000 - this.increaseFactor / 1000 + this.increaseFactor = Math.max(this.increaseFactor, 5000) + } +} + +export default SnowMaterial diff --git a/packages/frontend-2/lib/viewer/pipelines/snow/SnowPipeline.ts b/packages/frontend-2/lib/viewer/pipelines/snow/SnowPipeline.ts new file mode 100644 index 0000000000..54ba6e1288 --- /dev/null +++ b/packages/frontend-2/lib/viewer/pipelines/snow/SnowPipeline.ts @@ -0,0 +1,148 @@ +import type { + SpeckleRenderer, + MeshBatch, + SpeckleStandardMaterial +} from '@speckle/viewer' +import { + ProgressivePipeline, + DepthPass, + ObjectLayers, + ObjectVisibility, + ClearFlags, + GeometryPass, + ProgressiveAOPass, + BlendPass, + StencilPass, + StencilMaskPass, + GeometryType, + Assets, + AssetType +} from '@speckle/viewer' +import SnowMaterial from './SnowMaterial' +import type SpeckleMesh from '@speckle/viewer/dist/modules/objects/SpeckleMesh' +import { RepeatWrapping, NearestFilter } from 'three' +import snowTex from './snow.png' +import { SnowFallPass } from './SnowFallPass' + +export class SnowPipeline extends ProgressivePipeline { + constructor(speckleRenderer: SpeckleRenderer) { + super(speckleRenderer) + + const depthPass = new DepthPass() + depthPass.setLayers([ObjectLayers.STREAM_CONTENT_MESH]) + depthPass.setVisibility(ObjectVisibility.DEPTH) + depthPass.setJitter(true) + depthPass.setClearColor(0x000000, 1) + depthPass.setClearFlags(ClearFlags.COLOR | ClearFlags.DEPTH) + + const opaqueColorPass = new GeometryPass() + opaqueColorPass.setLayers([ + ObjectLayers.STREAM_CONTENT, + ObjectLayers.STREAM_CONTENT_MESH, + ObjectLayers.STREAM_CONTENT_LINE, + ObjectLayers.STREAM_CONTENT_POINT, + ObjectLayers.STREAM_CONTENT_POINT_CLOUD, + ObjectLayers.STREAM_CONTENT_TEXT + ]) + opaqueColorPass.setVisibility(ObjectVisibility.OPAQUE) + + const transparentColorPass = new GeometryPass() + transparentColorPass.setLayers([ + ObjectLayers.STREAM_CONTENT, + ObjectLayers.STREAM_CONTENT_MESH, + ObjectLayers.STREAM_CONTENT_LINE, + ObjectLayers.STREAM_CONTENT_POINT, + ObjectLayers.STREAM_CONTENT_POINT_CLOUD, + ObjectLayers.STREAM_CONTENT_TEXT, + ObjectLayers.SHADOWCATCHER + ]) + transparentColorPass.setVisibility(ObjectVisibility.TRANSPARENT) + + const progressiveAOPass = new ProgressiveAOPass() + progressiveAOPass.setTexture('tDepth', depthPass.outputTarget?.texture) + progressiveAOPass.accumulationFrames = this.accumulationFrameCount + progressiveAOPass.setClearColor(0xffffff, 1) + + const blendPass = new BlendPass() + blendPass.options = { blendAO: true, blendEdges: false } + blendPass.setTexture('tAo', progressiveAOPass.outputTarget?.texture) + blendPass.accumulationFrames = this.accumulationFrameCount + + const stencilPass = new StencilPass() + stencilPass.setVisibility(ObjectVisibility.STENCIL) + stencilPass.setLayers([ObjectLayers.STREAM_CONTENT_MESH]) + + const stencilMaskPass = new StencilMaskPass() + stencilMaskPass.setVisibility(ObjectVisibility.STENCIL) + stencilMaskPass.setLayers([ObjectLayers.STREAM_CONTENT_MESH]) + stencilMaskPass.setClearFlags(ClearFlags.DEPTH) + + const overlayPass = new GeometryPass() + overlayPass.setLayers([ + ObjectLayers.PROPS, + ObjectLayers.OVERLAY, + ObjectLayers.MEASUREMENTS + ]) + + const snowfallPass = new SnowFallPass() + snowfallPass.setClearColor(0x000000, 1) + + this.dynamicStage.push( + stencilPass, + opaqueColorPass, + transparentColorPass, + stencilMaskPass, + overlayPass, + snowfallPass + ) + this.progressiveStage.push( + depthPass, + stencilPass, + opaqueColorPass, + transparentColorPass, + stencilMaskPass, + progressiveAOPass, + blendPass, + overlayPass, + snowfallPass + ) + this.passthroughStage.push( + stencilPass, + opaqueColorPass, + transparentColorPass, + stencilMaskPass, + blendPass, + overlayPass, + snowfallPass + ) + + this.passList = this.dynamicStage + } + + public async start() { + const snowTexture = await Assets.getTexture({ + id: 'snow', + src: snowTex, + type: AssetType.TEXTURE_8BPP + }) + snowTexture.wrapS = RepeatWrapping + snowTexture.wrapT = RepeatWrapping + snowTexture.minFilter = NearestFilter + snowTexture.magFilter = NearestFilter + + const batches: MeshBatch[] = this.speckleRenderer.batcher.getBatches( + undefined, + GeometryType.MESH + ) + + for (let k = 0; k < batches.length; k++) { + const batchRenderable: SpeckleMesh = batches[k].renderObject as SpeckleMesh + const batchMaterial: SpeckleStandardMaterial = batches[k] + .batchMaterial as SpeckleStandardMaterial + const snowMaterial = new SnowMaterial({}, ['USE_RTE']) + snowMaterial.copy(batchMaterial) + snowMaterial.normalMap = snowTexture + batchRenderable.setOverrideBatchMaterial(snowMaterial) + } + } +} diff --git a/packages/frontend-2/lib/viewer/pipelines/snow/objectSnowFrag.ts b/packages/frontend-2/lib/viewer/pipelines/snow/objectSnowFrag.ts new file mode 100644 index 0000000000..947e1a7608 --- /dev/null +++ b/packages/frontend-2/lib/viewer/pipelines/snow/objectSnowFrag.ts @@ -0,0 +1,286 @@ +export const objectSnowFrag = /* glsl */ ` +#define STANDARD + +#ifdef PHYSICAL + #define IOR + #define SPECULAR +#endif + +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float roughness; +uniform float metalness; +uniform float opacity; + +#ifdef IOR + uniform float ior; +#endif + +#ifdef SPECULAR + uniform float specularIntensity; + uniform vec3 specularColor; + + #ifdef USE_SPECULARINTENSITYMAP + uniform sampler2D specularIntensityMap; + #endif + + #ifdef USE_SPECULARCOLORMAP + uniform sampler2D specularColorMap; + #endif +#endif + +#ifdef USE_CLEARCOAT + uniform float clearcoat; + uniform float clearcoatRoughness; +#endif + +#ifdef USE_SHEEN + uniform vec3 sheenColor; + uniform float sheenRoughness; + + #ifdef USE_SHEENCOLORMAP + uniform sampler2D sheenColorMap; + #endif + + #ifdef USE_SHEENROUGHNESSMAP + uniform sampler2D sheenRoughnessMap; + #endif +#endif + +varying vec3 vViewPosition; +varying vec3 vWorldPosition; +varying vec3 vWorldNormal; +/** We're disabling color grading for now until we want to properly offer it to the users */ +//#define CUSTOM_TONEMAPPING + +#ifdef CUSTOM_TONEMAPPING + + uniform float contrast; + uniform float saturation; + uniform float whitescale; + vec3 EvalLogContrastFunc(vec3 col, float eps, float logMidpoint, float contrastFactor) + { + vec3 x = max(vec3(0.), col); + vec3 logX = log2(x+vec3(eps)); + vec3 adjX = vec3(logMidpoint) + (logX - vec3(logMidpoint)) * contrastFactor; + vec3 ret = max(vec3(0.0), exp2(adjX) - vec3(eps)); + return ret; + } + + vec3 evalSaturation(vec3 rgbVal, float saturationFactor){ + vec3 lumaWeights = vec3(.25,.50,.25); + vec3 grey = vec3(dot(lumaWeights,rgbVal)); + return grey + saturationFactor*(rgbVal-grey); + } + + vec3 evalExposure(vec3 rgbVal, float exposureFactor){ + return rgbVal * exp2(exposureFactor); + } + + vec3 filmicTonemap(vec3 x) { + float A = 0.15; + float B = 0.50; + float C = 0.10; + float D = 0.20; + float E = 0.02; + float F = 0.30; + float W = 11.2; + return ((x*(A*x+C*B)+D*E) / (x*(A*x+B)+D*F))- E / F; + } + + + vec3 applyFilmicToneMap( vec3 color) + { + color = 2.0 * filmicTonemap( color); + vec3 whiteScale = 1.0 / filmicTonemap(vec3(11.2)); + color *= whiteScale; + return color; + } + + vec3 postProcess(in vec3 _color, float exposureFactor, float contrastFactor, float saturationFactor){ + vec3 color = _color; + + // color.rgb *= exposureFactor; + color.rgb = evalSaturation(color.rgb, saturationFactor); + color = EvalLogContrastFunc(color, 0.0001, 0.18, contrastFactor); + color.rgb = ACESFilmicToneMapping( color );//applyFilmicToneMap(color.rgb); + return color; + } +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +uniform float height; +uniform float minSnow; +uniform float maxSnow; +const vec3 COLOR_SNOW = vec3(1.0,1.0,1.1) * 2.2; +const vec3 COLOR_ROCK = vec3(0.0,0.0,0.1); + +// Source: https://www.shadertoy.com/view/llK3WR +vec3 terr_color(in vec3 p, in vec3 n, in vec3 underColor, in float _min, in float _max, in vec3 snowColor) { + float slope = 1.0-dot(n,vec3(0.,0.,1.)); + vec3 ret = mix(snowColor,underColor,smoothstep(_min,_max,slope*slope)); + ret = mix(ret,snowColor,saturate(smoothstep(0.1,0.2,slope+(p.z-height*0.5)*0.05))); + return ret; +} + +void main() { + + #include + vec4 diffuseColor = vec4( diffuse, opacity ); + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + + #include + #ifdef OBJECTSPACE_NORMALMAP + + normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals + #ifdef FLIP_SIDED + + normal = - normal; + + #endif + + #ifdef DOUBLE_SIDED + + normal = normal * faceDirection; + + #endif + + normal = normalize( normalMatrix * normal ); + + #elif defined( TANGENTSPACE_NORMALMAP ) + + vec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; + mapN.xy *= normalScale; + + #ifdef USE_TANGENT + + normal = normalize( vTBN * mapN ); + + #else + + normal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection ); + + #endif + + #elif defined( USE_BUMPMAP ) + + normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); + + #endif + vec3 snowColor = terr_color(vWorldPosition, inverseTransformDirection(normal, viewMatrix), diffuseColor.rgb, minSnow, maxSnow, COLOR_SNOW); + + float snowAmount = step(0.9, snowColor.x); + normal = mix(normalize(vNormal), normal, snowAmount); + diffuseColor.rgb = snowColor; + + #include + #include + #include + #include + #include + #include + #include + + + // roughnessFactor = mix(roughnessFactor, snowAmount, snowAmount); + // metalnessFactor = step(0.4, 1. - roughnessFactor); + // #include + // #include + + #include + #include + #include + + + // accumulation + #include + #include + #include + #include + + // modulation + #include + + vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; + vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; + + #include + + vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; + + #ifdef USE_SHEEN + + // Sheen energy compensation approximation calculation can be found at the end of + // https://drive.google.com/file/d/1T0D1VSyR4AllqIJTQAraEIzjlb5h4FKH/view?usp=sharing + float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); + + outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular; + + #endif + + #ifdef USE_CLEARCOAT + + float dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) ); + + vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); + + outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat; + + #endif + + // #include COMMENTED CHUNK + #ifdef OPAQUE + diffuseColor.a = 1.0; + #endif + + // https://github.com/mrdoob/three.js/pull/22425 + #ifdef USE_TRANSMISSION + diffuseColor.a *= transmissionAlpha + 0.1; + #endif + + gl_FragColor = vec4( outgoingLight, diffuseColor.a ); + // #include // COMMENTED OUT + #ifdef TONE_MAPPING + #ifdef CUSTOM_TONEMAPPING + gl_FragColor.rgb = postProcess(gl_FragColor.rgb, toneMappingExposure, contrast, saturation); + #else + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); + #endif + #endif + #include + #include + #include + #include + +} +` diff --git a/packages/frontend-2/lib/viewer/pipelines/snow/objectSnowVert.ts b/packages/frontend-2/lib/viewer/pipelines/snow/objectSnowVert.ts new file mode 100644 index 0000000000..42e947825f --- /dev/null +++ b/packages/frontend-2/lib/viewer/pipelines/snow/objectSnowVert.ts @@ -0,0 +1,274 @@ +export const objectSnowVert = /* glsl */ ` +#define STANDARD +#ifdef USE_RTE + // The high component is stored as the default 'position' attribute buffer + attribute vec3 position_low; + uniform vec3 uViewer_high; + uniform vec3 uViewer_low; + uniform mat4 rteShadowMatrix; + uniform vec3 uShadowViewer_high; + uniform vec3 uShadowViewer_low; +#endif + +#ifdef TRANSFORM_STORAGE + attribute float objIndex; + + #if TRANSFORM_STORAGE == 0 + #if __VERSION__ == 300 + #define TRANSFORM_STRIDE 4 + #else + #define TRANSFORM_STRIDE 4. + #endif + uniform sampler2D tTransforms; + uniform float objCount; + #elif TRANSFORM_STORAGE == 1 + uniform mat4 uTransforms[OBJ_COUNT]; + #endif +#endif + +varying vec3 vViewPosition; +varying vec3 vWorldPosition; +varying vec3 vWorldNormal; + +#ifdef USE_TRANSMISSION + + varying vec3 vWorldPosition; + +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef TRANSFORM_STORAGE + void objectTransform(out vec4 quaternion, out vec4 pivotLow, out vec4 pivotHigh, out vec4 translation, out vec4 scale){ + #if TRANSFORM_STORAGE == 0 + #if __VERSION__ == 300 + ivec2 uv = ivec2(int(objIndex) * TRANSFORM_STRIDE, 0); + vec4 v0 = texelFetch( tTransforms, uv, 0 ); + vec4 v1 = texelFetch( tTransforms, uv + ivec2(1, 0), 0); + vec4 v2 = texelFetch( tTransforms, uv + ivec2(2, 0), 0); + vec4 v3 = texelFetch( tTransforms, uv + ivec2(3, 0), 0); + quaternion = v0; + pivotLow = vec4(v1.xyz, 1.); + pivotHigh = vec4(v2.xyz, 1.); + translation = vec4(v3.xyz, 1.); + scale = vec4(v1.w, v2.w, v3.w, 1.); + #else + float size = objCount * TRANSFORM_STRIDE; + vec2 cUv = vec2(0.5/size, 0.5); + vec2 dUv = vec2(1./size, 0.); + + vec2 uv = vec2((objIndex * TRANSFORM_STRIDE)/size + cUv.x, cUv.y); + vec4 v0 = texture2D( tTransforms, uv); + vec4 v1 = texture2D( tTransforms, uv + dUv); + vec4 v2 = texture2D( tTransforms, uv + 2. * dUv); + vec4 v3 = texture2D( tTransforms, uv + 3. * dUv); + quaternion = v0; + pivotLow = vec4(v1.xyz, 1.); + pivotHigh = vec4(v2.xyz, 1.); + translation = vec4(v3.xyz, 1.); + scale = vec4(v1.w, v2.w, v3.w, 1.); + #endif + #elif TRANSFORM_STORAGE == 1 + mat4 tMatrix = uTransforms[int(objIndex)]; + quaternion = tMatrix[0]; + pivotLow = vec4(tMatrix[1].xyz, 1.); + pivotHigh = vec4(tMatrix[2].xyz, 1.); + translation = vec4(tMatrix[3].xyz, 1.); + scale = vec4(tMatrix[1][3], tMatrix[2][3], tMatrix[3][3], 1.); + #endif + } + + vec3 rotate_vertex_position(vec3 position, vec4 quat) + { + return position + 2.0 * cross(quat.xyz, cross(quat.xyz, position) + quat.w * position); + } +#endif + +#ifdef USE_RTE + vec4 computeRelativePositionSeparate(in vec3 position_low, in vec3 position_high, in vec3 relativeTo_low, in vec3 relativeTo_high){ + /* + Vector calculation for the high and low differences works on everything + *BESIDES* Apple Silicon (or whatever they call it) GPUs + + It would seem that when this code gets compiled, vector types get a lower precision(?) + which completely brakes the 2 float -> double reconstructio. Doing it separately for each + vector component using floats works fine. + */ + vec3 highDifference; + vec3 lowDifference; + float t1 = position_low.x - relativeTo_low.x; + float e = t1 - position_low.x; + float t2 = ((-relativeTo_low.x - e) + (position_low.x - (t1 - e))) + position_high.x - relativeTo_high.x; + highDifference.x = t1 + t2; + lowDifference.x = t2 - (highDifference.x - t1); + + t1 = position_low.y - relativeTo_low.y; + e = t1 - position_low.y; + t2 = ((-relativeTo_low.y - e) + (position_low.y - (t1 - e))) + position_high.y - relativeTo_high.y; + highDifference.y = t1 + t2; + lowDifference.y = t2 - (highDifference.y - t1); + + t1 = position_low.z - relativeTo_low.z; + e = t1 - position_low.z; + t2 = ((-relativeTo_low.z - e) + (position_low.z - (t1 - e))) + position_high.z - relativeTo_high.z; + highDifference.z = t1 + t2; + lowDifference.z = t2 - (highDifference.z - t1); + + vec3 position = highDifference.xyz + lowDifference.xyz; + return vec4(position, 1.); + } + + vec4 computeRelativePosition(in vec3 position_low, in vec3 position_high, in vec3 relativeTo_low, in vec3 relativeTo_high){ + /* + Source https://github.com/virtualglobebook/OpenGlobe/blob/master/Source/Examples/Chapter05/Jitter/GPURelativeToEyeDSFUN90/Shaders/VS.glsl + Note here, we're storing the high part of the position encoding inside three's default 'position' attribute buffer so we avoid redundancy + */ + vec3 t1 = position_low.xyz - relativeTo_low; + vec3 e = t1 - position_low.xyz; + vec3 t2 = ((-relativeTo_low - e) + (position_low.xyz - (t1 - e))) + position_high.xyz - relativeTo_high; + vec3 highDifference = t1 + t2; + vec3 lowDifference = t2 - (highDifference - t1); + + vec3 position = highDifference.xyz + lowDifference.xyz; + return vec4(position, 1.); + } +#endif + + + +void main() { + + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + + #include + #include + #include + #include + //#include // EDITED CHUNK + + #ifdef TRANSFORM_STORAGE + vec4 tQuaternion, tPivotLow, tPivotHigh, tTranslation, tScale; + objectTransform(tQuaternion, tPivotLow, tPivotHigh, tTranslation, tScale); + #endif + #ifdef USE_RTE + vec4 position_lowT = vec4(position_low, 1.); + vec4 position_highT = vec4(position, 1.); + const vec3 ZERO3 = vec3(0., 0., 0.); + + vec4 rteLocalPosition = computeRelativePositionSeparate(position_lowT.xyz, position_highT.xyz, uViewer_low, uViewer_high); + #ifdef TRANSFORM_STORAGE + vec4 rtePivot = computeRelativePositionSeparate(tPivotLow.xyz, tPivotHigh.xyz, uViewer_low, uViewer_high); + rteLocalPosition.xyz = rotate_vertex_position((rteLocalPosition - rtePivot).xyz, tQuaternion) * tScale.xyz + rtePivot.xyz + tTranslation.xyz; + #endif + #ifdef USE_INSTANCING + vec4 instancePivot = computeRelativePositionSeparate(ZERO3, ZERO3, uViewer_low, uViewer_high); + rteLocalPosition.xyz = (mat3(instanceMatrix) * (rteLocalPosition - instancePivot).xyz) + instancePivot.xyz + instanceMatrix[3].xyz; + #endif + #endif + + #ifdef USE_RTE + vec4 mvPosition = rteLocalPosition; + #else + vec4 mvPosition = vec4( transformed, 1.0 ); + #ifdef USE_INSTANCING + mvPosition = instanceMatrix * mvPosition; + #endif + #endif + + mvPosition = modelViewMatrix * mvPosition; + + gl_Position = projectionMatrix * mvPosition; + + + #include + #include + + vViewPosition = - mvPosition.xyz; + vWorldPosition = position; + vWorldNormal = normal; + vUv = fract(sin(dot(vWorldPosition.xy ,vec2(12.9898,78.233))) * 43758.5453) * vWorldPosition.zy; + + #include + // #include COMMENTED CHUNK!!! + #ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 + // Offsetting the position used for querying occlusion along the world normal can be used to reduce shadow acne. + vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); + vec4 shadowWorldPosition; + #endif + #if NUM_DIR_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { + vec4 shadowPosition = vec4(transformed, 1.0); + mat4 shadowMatrix = directionalShadowMatrix[ i ]; + + #ifdef USE_RTE + shadowPosition = computeRelativePositionSeparate(position_low.xyz, position.xyz, uShadowViewer_low, uShadowViewer_high); + shadowMatrix = rteShadowMatrix; + #endif + #ifdef TRANSFORM_STORAGE + vec4 rtePivotShadow = computeRelativePositionSeparate(tPivotLow.xyz, tPivotHigh.xyz, uShadowViewer_low, uShadowViewer_high); + shadowPosition.xyz = rotate_vertex_position((shadowPosition - rtePivotShadow).xyz, tQuaternion) * tScale.xyz + rtePivotShadow.xyz + tTranslation.xyz; + #endif + #ifdef USE_INSTANCING + vec4 rtePivotShadow = computeRelativePositionSeparate(ZERO3, ZERO3, uShadowViewer_low, uShadowViewer_high); + shadowPosition.xyz = (mat3(instanceMatrix) * (shadowPosition - rtePivotShadow).xyz) + rtePivotShadow.xyz + instanceMatrix[3].xyz; + #endif + shadowWorldPosition = modelMatrix * shadowPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); + vDirectionalShadowCoord[ i ] = shadowMatrix * shadowWorldPosition; + } + + #pragma unroll_loop_end + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 ); + vSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); + vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif + /* + #if NUM_RECT_AREA_LIGHTS > 0 + // TODO (abelnation): update vAreaShadowCoord with area light info + #endif + */ + #endif + + #include + +#ifdef USE_TRANSMISSION + + vWorldPosition = worldPosition.xyz; + +#endif +} +` diff --git a/packages/frontend-2/lib/viewer/pipelines/snow/snow.png b/packages/frontend-2/lib/viewer/pipelines/snow/snow.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b4c1227e55f8c47cb3e3c0a75ec49d1f961d38 GIT binary patch literal 116775 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

bOvC{r1_n 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⩔ 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%0DD*FJc6;b^te&-OcH3PV%@=sdQBK(>OaUU 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