1 |
- {"ast":null,"code":"import { NodeGeometryBlock } from \"../nodeGeometryBlock.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { NodeGeometryBlockConnectionPointTypes } from \"../Enums/nodeGeometryConnectionPointTypes.js\";\nimport { Vector3 } from \"../../../Maths/math.vector.js\";\nimport { Clamp } from \"../../../Maths/math.scalar.functions.js\";\nimport { NodeGeometryContextualSources } from \"../Enums/nodeGeometryContextualSources.js\";\n/**\n * Block used to get a noise value\n */\nexport class NoiseBlock extends NodeGeometryBlock {\n /**\n * Create a new NoiseBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n this.registerInput(\"offset\", NodeGeometryBlockConnectionPointTypes.Vector3, true, Vector3.Zero());\n this.registerInput(\"scale\", NodeGeometryBlockConnectionPointTypes.Float, true, 1);\n this.registerInput(\"octaves\", NodeGeometryBlockConnectionPointTypes.Float, true, 2, 0, 16);\n this.registerInput(\"roughness\", NodeGeometryBlockConnectionPointTypes.Float, true, 0.5, 0, 1);\n this.registerOutput(\"output\", NodeGeometryBlockConnectionPointTypes.Float);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NoiseBlock\";\n }\n /**\n * Gets the offset input component\n */\n get offset() {\n return this._inputs[0];\n }\n /**\n * Gets the scale input component\n */\n get scale() {\n return this._inputs[1];\n }\n /**\n * Gets the octaves input component\n */\n get octaves() {\n return this._inputs[2];\n }\n /**\n * Gets the roughtness input component\n */\n get roughness() {\n return this._inputs[3];\n }\n /**\n * Gets the geometry output component\n */\n get output() {\n return this._outputs[0];\n }\n _negateIf(value, condition) {\n return condition !== 0 ? -value : value;\n }\n _noiseGrad(hash, x, y, z) {\n const h = hash & 15;\n const u = h < 8 ? x : y;\n const vt = h === 12 || h == 14 ? x : z;\n const v = h < 4 ? y : vt;\n return this._negateIf(u, h & u) + this._negateIf(v, h & 2);\n }\n _fade(t) {\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n }\n _hashBitRotate(x, k) {\n return x << k | x >> 32 - k;\n }\n _hash(kx, ky, kz) {\n let a, b, c;\n a = b = c = 0xdeadbeef + (3 << 2) + 13;\n c += kz;\n b += ky;\n a += kx;\n c ^= b;\n c -= this._hashBitRotate(b, 14);\n a ^= c;\n a -= this._hashBitRotate(c, 11);\n b ^= a;\n b -= this._hashBitRotate(a, 25);\n c ^= b;\n c -= this._hashBitRotate(b, 16);\n a ^= c;\n a -= this._hashBitRotate(c, 4);\n b ^= a;\n b -= this._hashBitRotate(a, 14);\n c ^= b;\n c -= this._hashBitRotate(b, 24);\n return c;\n }\n _mix(v0, v1, v2, v3, v4, v5, v6, v7, x, y, z) {\n const x1 = 1.0 - x;\n const y1 = 1.0 - y;\n const z1 = 1.0 - z;\n return z1 * (y1 * (v0 * x1 + v1 * x) + y * (v2 * x1 + v3 * x)) + z * (y1 * (v4 * x1 + v5 * x) + y * (v6 * x1 + v7 * x));\n }\n _perlinNoise(position) {\n const X = (position.x | 0) - (position.x < 0 ? 1 : 0);\n const Y = (position.y | 0) - (position.y < 0 ? 1 : 0);\n const Z = (position.z | 0) - (position.z < 0 ? 1 : 0);\n const fx = position.x - X;\n const fy = position.y - Y;\n const fz = position.z - Z;\n const u = this._fade(fx);\n const v = this._fade(fy);\n const w = this._fade(fz);\n return this._mix(this._noiseGrad(this._hash(X, Y, Z), fx, fy, fz), this._noiseGrad(this._hash(X + 1, Y, Z), fx - 1, fy, fz), this._noiseGrad(this._hash(X, Y + 1, Z), fx, fy - 1, fz), this._noiseGrad(this._hash(X + 1, Y + 1, Z), fx - 1, fy - 1, fz), this._noiseGrad(this._hash(X, Y, Z + 1), fx, fy, fz - 1), this._noiseGrad(this._hash(X + 1, Y, Z + 1), fx - 1, fy, fz - 1), this._noiseGrad(this._hash(X, Y + 1, Z + 1), fx, fy - 1, fz - 1), this._noiseGrad(this._hash(X + 1, Y + 1, Z + 1), fx - 1, fy - 1, fz - 1), u, v, w);\n }\n _perlinSigned(position) {\n return this._perlinNoise(position) * 0.982;\n }\n _perlin(position) {\n return this._perlinSigned(position) / 2.0 + 0.5;\n }\n /**\n * Gets a perlin noise value\n * @param octaves number of octaves\n * @param roughness roughness\n * @param _position position vector\n * @param offset offset vector\n * @param scale scale value\n * @returns a value between 0 and 1\n * @see Based on https://github.com/blender/blender/blob/main/source/blender/blenlib/intern/noise.cc#L533\n */\n noise(octaves, roughness, _position, offset, scale) {\n const position = new Vector3(_position.x * scale + offset.x, _position.y * scale + offset.y, _position.z * scale + offset.z);\n let fscale = 1.0;\n let amp = 1.0;\n let maxamp = 0.0;\n let sum = 0.0;\n octaves = Clamp(octaves, 0, 15.0);\n const step = octaves | 0;\n for (let i = 0; i <= step; i++) {\n const t = this._perlin(position.scale(fscale));\n sum += t * amp;\n maxamp += amp;\n amp *= Clamp(roughness, 0.0, 1.0);\n fscale *= 2.0;\n }\n const rmd = octaves - Math.floor(octaves);\n if (rmd == 0.0) {\n return sum / maxamp;\n }\n const t = this._perlin(position.scale(fscale));\n let sum2 = sum + t * amp;\n sum /= maxamp;\n sum2 /= maxamp + amp;\n return (1.0 - rmd) * sum + rmd * sum2;\n }\n _buildBlock() {\n this.output._storedFunction = state => {\n const position = state.getContextualValue(NodeGeometryContextualSources.Positions);\n const octaves = this.octaves.getConnectedValue(state);\n const roughness = this.roughness.getConnectedValue(state);\n const offset = this.offset.getConnectedValue(state);\n const scale = this.scale.getConnectedValue(state);\n return this.noise(octaves, roughness, position, offset, scale);\n };\n }\n}\nRegisterClass(\"BABYLON.NoiseBlock\", NoiseBlock);","map":{"version":3,"names":["NodeGeometryBlock","RegisterClass","NodeGeometryBlockConnectionPointTypes","Vector3","Clamp","NodeGeometryContextualSources","NoiseBlock","constructor","name","registerInput","Zero","Float","registerOutput","getClassName","offset","_inputs","scale","octaves","roughness","output","_outputs","_negateIf","value","condition","_noiseGrad","hash","x","y","z","h","u","vt","v","_fade","t","_hashBitRotate","k","_hash","kx","ky","kz","a","b","c","_mix","v0","v1","v2","v3","v4","v5","v6","v7","x1","y1","z1","_perlinNoise","position","X","Y","Z","fx","fy","fz","w","_perlinSigned","_perlin","noise","_position","fscale","amp","maxamp","sum","step","i","rmd","Math","floor","sum2","_buildBlock","_storedFunction","state","getContextualValue","Positions","getConnectedValue"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Meshes/Node/Blocks/noiseBlock.js"],"sourcesContent":["import { NodeGeometryBlock } from \"../nodeGeometryBlock.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { NodeGeometryBlockConnectionPointTypes } from \"../Enums/nodeGeometryConnectionPointTypes.js\";\nimport { Vector3 } from \"../../../Maths/math.vector.js\";\nimport { Clamp } from \"../../../Maths/math.scalar.functions.js\";\nimport { NodeGeometryContextualSources } from \"../Enums/nodeGeometryContextualSources.js\";\n/**\n * Block used to get a noise value\n */\nexport class NoiseBlock extends NodeGeometryBlock {\n /**\n * Create a new NoiseBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n this.registerInput(\"offset\", NodeGeometryBlockConnectionPointTypes.Vector3, true, Vector3.Zero());\n this.registerInput(\"scale\", NodeGeometryBlockConnectionPointTypes.Float, true, 1);\n this.registerInput(\"octaves\", NodeGeometryBlockConnectionPointTypes.Float, true, 2, 0, 16);\n this.registerInput(\"roughness\", NodeGeometryBlockConnectionPointTypes.Float, true, 0.5, 0, 1);\n this.registerOutput(\"output\", NodeGeometryBlockConnectionPointTypes.Float);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NoiseBlock\";\n }\n /**\n * Gets the offset input component\n */\n get offset() {\n return this._inputs[0];\n }\n /**\n * Gets the scale input component\n */\n get scale() {\n return this._inputs[1];\n }\n /**\n * Gets the octaves input component\n */\n get octaves() {\n return this._inputs[2];\n }\n /**\n * Gets the roughtness input component\n */\n get roughness() {\n return this._inputs[3];\n }\n /**\n * Gets the geometry output component\n */\n get output() {\n return this._outputs[0];\n }\n _negateIf(value, condition) {\n return condition !== 0 ? -value : value;\n }\n _noiseGrad(hash, x, y, z) {\n const h = hash & 15;\n const u = h < 8 ? x : y;\n const vt = h === 12 || h == 14 ? x : z;\n const v = h < 4 ? y : vt;\n return this._negateIf(u, h & u) + this._negateIf(v, h & 2);\n }\n _fade(t) {\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n }\n _hashBitRotate(x, k) {\n return (x << k) | (x >> (32 - k));\n }\n _hash(kx, ky, kz) {\n let a, b, c;\n a = b = c = 0xdeadbeef + (3 << 2) + 13;\n c += kz;\n b += ky;\n a += kx;\n c ^= b;\n c -= this._hashBitRotate(b, 14);\n a ^= c;\n a -= this._hashBitRotate(c, 11);\n b ^= a;\n b -= this._hashBitRotate(a, 25);\n c ^= b;\n c -= this._hashBitRotate(b, 16);\n a ^= c;\n a -= this._hashBitRotate(c, 4);\n b ^= a;\n b -= this._hashBitRotate(a, 14);\n c ^= b;\n c -= this._hashBitRotate(b, 24);\n return c;\n }\n _mix(v0, v1, v2, v3, v4, v5, v6, v7, x, y, z) {\n const x1 = 1.0 - x;\n const y1 = 1.0 - y;\n const z1 = 1.0 - z;\n return z1 * (y1 * (v0 * x1 + v1 * x) + y * (v2 * x1 + v3 * x)) + z * (y1 * (v4 * x1 + v5 * x) + y * (v6 * x1 + v7 * x));\n }\n _perlinNoise(position) {\n const X = (position.x | 0) - (position.x < 0 ? 1 : 0);\n const Y = (position.y | 0) - (position.y < 0 ? 1 : 0);\n const Z = (position.z | 0) - (position.z < 0 ? 1 : 0);\n const fx = position.x - X;\n const fy = position.y - Y;\n const fz = position.z - Z;\n const u = this._fade(fx);\n const v = this._fade(fy);\n const w = this._fade(fz);\n return this._mix(this._noiseGrad(this._hash(X, Y, Z), fx, fy, fz), this._noiseGrad(this._hash(X + 1, Y, Z), fx - 1, fy, fz), this._noiseGrad(this._hash(X, Y + 1, Z), fx, fy - 1, fz), this._noiseGrad(this._hash(X + 1, Y + 1, Z), fx - 1, fy - 1, fz), this._noiseGrad(this._hash(X, Y, Z + 1), fx, fy, fz - 1), this._noiseGrad(this._hash(X + 1, Y, Z + 1), fx - 1, fy, fz - 1), this._noiseGrad(this._hash(X, Y + 1, Z + 1), fx, fy - 1, fz - 1), this._noiseGrad(this._hash(X + 1, Y + 1, Z + 1), fx - 1, fy - 1, fz - 1), u, v, w);\n }\n _perlinSigned(position) {\n return this._perlinNoise(position) * 0.982;\n }\n _perlin(position) {\n return this._perlinSigned(position) / 2.0 + 0.5;\n }\n /**\n * Gets a perlin noise value\n * @param octaves number of octaves\n * @param roughness roughness\n * @param _position position vector\n * @param offset offset vector\n * @param scale scale value\n * @returns a value between 0 and 1\n * @see Based on https://github.com/blender/blender/blob/main/source/blender/blenlib/intern/noise.cc#L533\n */\n noise(octaves, roughness, _position, offset, scale) {\n const position = new Vector3(_position.x * scale + offset.x, _position.y * scale + offset.y, _position.z * scale + offset.z);\n let fscale = 1.0;\n let amp = 1.0;\n let maxamp = 0.0;\n let sum = 0.0;\n octaves = Clamp(octaves, 0, 15.0);\n const step = octaves | 0;\n for (let i = 0; i <= step; i++) {\n const t = this._perlin(position.scale(fscale));\n sum += t * amp;\n maxamp += amp;\n amp *= Clamp(roughness, 0.0, 1.0);\n fscale *= 2.0;\n }\n const rmd = octaves - Math.floor(octaves);\n if (rmd == 0.0) {\n return sum / maxamp;\n }\n const t = this._perlin(position.scale(fscale));\n let sum2 = sum + t * amp;\n sum /= maxamp;\n sum2 /= maxamp + amp;\n return (1.0 - rmd) * sum + rmd * sum2;\n }\n _buildBlock() {\n this.output._storedFunction = (state) => {\n const position = state.getContextualValue(NodeGeometryContextualSources.Positions);\n const octaves = this.octaves.getConnectedValue(state);\n const roughness = this.roughness.getConnectedValue(state);\n const offset = this.offset.getConnectedValue(state);\n const scale = this.scale.getConnectedValue(state);\n return this.noise(octaves, roughness, position, offset, scale);\n };\n }\n}\nRegisterClass(\"BABYLON.NoiseBlock\", NoiseBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|