UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

87 lines (85 loc) 5.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mx_fractal_noise_vec4 = exports.mx_fractal_noise_vec3 = exports.mx_fractal_noise_vec2 = exports.mx_fractal_noise_float = exports.mx_contrast = exports.mx_cell_noise_float = exports.mx_aastep = void 0; Object.defineProperty(exports, "mx_hsvtorgb", { enumerable: true, get: function () { return _mx_hsv.mx_hsvtorgb; } }); exports.mx_ramptb = exports.mx_ramplr = exports.mx_noise_vec4 = exports.mx_noise_vec3 = exports.mx_noise_float = void 0; Object.defineProperty(exports, "mx_rgbtohsv", { enumerable: true, get: function () { return _mx_hsv.mx_rgbtohsv; } }); exports.mx_splittb = exports.mx_splitlr = exports.mx_safepower = void 0; Object.defineProperty(exports, "mx_srgb_texture_to_lin_rec709", { enumerable: true, get: function () { return _mx_transform_color.mx_srgb_texture_to_lin_rec709; } }); exports.mx_worley_noise_vec3 = exports.mx_worley_noise_vec2 = exports.mx_worley_noise_float = exports.mx_transform_uv = void 0; var _mx_noise = require("./lib/mx_noise.js"); var _mx_hsv = require("./lib/mx_hsv.js"); var _mx_transform_color = require("./lib/mx_transform_color.js"); var _MathNode = require("../math/MathNode.js"); var _UV = require("../accessors/UV.js"); var _TSLBase = require("../tsl/TSLBase.js"); const mx_aastep = (threshold, value) => { threshold = (0, _TSLBase.float)(threshold); value = (0, _TSLBase.float)(value); const afwidth = (0, _TSLBase.vec2)(value.dFdx(), value.dFdy()).length().mul(0.70710678118654757); return (0, _MathNode.smoothstep)(threshold.sub(afwidth), threshold.add(afwidth), value); }; exports.mx_aastep = mx_aastep; const _ramp = (a, b, uv, p) => (0, _MathNode.mix)(a, b, uv[p].clamp()); const mx_ramplr = (valuel, valuer, texcoord = (0, _UV.uv)()) => _ramp(valuel, valuer, texcoord, 'x'); exports.mx_ramplr = mx_ramplr; const mx_ramptb = (valuet, valueb, texcoord = (0, _UV.uv)()) => _ramp(valuet, valueb, texcoord, 'y'); exports.mx_ramptb = mx_ramptb; const _split = (a, b, center, uv, p) => (0, _MathNode.mix)(a, b, mx_aastep(center, uv[p])); const mx_splitlr = (valuel, valuer, center, texcoord = (0, _UV.uv)()) => _split(valuel, valuer, center, texcoord, 'x'); exports.mx_splitlr = mx_splitlr; const mx_splittb = (valuet, valueb, center, texcoord = (0, _UV.uv)()) => _split(valuet, valueb, center, texcoord, 'y'); exports.mx_splittb = mx_splittb; const mx_transform_uv = (uv_scale = 1, uv_offset = 0, uv_geo = (0, _UV.uv)()) => uv_geo.mul(uv_scale).add(uv_offset); exports.mx_transform_uv = mx_transform_uv; const mx_safepower = (in1, in2 = 1) => { in1 = (0, _TSLBase.float)(in1); return in1.abs().pow(in2).mul(in1.sign()); }; exports.mx_safepower = mx_safepower; const mx_contrast = (input, amount = 1, pivot = .5) => (0, _TSLBase.float)(input).sub(pivot).mul(amount).add(pivot); exports.mx_contrast = mx_contrast; const mx_noise_float = (texcoord = (0, _UV.uv)(), amplitude = 1, pivot = 0) => (0, _mx_noise.mx_perlin_noise_float)(texcoord.convert('vec2|vec3')).mul(amplitude).add(pivot); //export const mx_noise_vec2 = ( texcoord = uv(), amplitude = 1, pivot = 0 ) => mx_perlin_noise_vec3( texcoord.convert( 'vec2|vec3' ) ).mul( amplitude ).add( pivot ); exports.mx_noise_float = mx_noise_float; const mx_noise_vec3 = (texcoord = (0, _UV.uv)(), amplitude = 1, pivot = 0) => (0, _mx_noise.mx_perlin_noise_vec3)(texcoord.convert('vec2|vec3')).mul(amplitude).add(pivot); exports.mx_noise_vec3 = mx_noise_vec3; const mx_noise_vec4 = (texcoord = (0, _UV.uv)(), amplitude = 1, pivot = 0) => { texcoord = texcoord.convert('vec2|vec3'); // overloading type const noise_vec4 = (0, _TSLBase.vec4)((0, _mx_noise.mx_perlin_noise_vec3)(texcoord), (0, _mx_noise.mx_perlin_noise_float)(texcoord.add((0, _TSLBase.vec2)(19, 73)))); return noise_vec4.mul(amplitude).add(pivot); }; exports.mx_noise_vec4 = mx_noise_vec4; const mx_worley_noise_float = (texcoord = (0, _UV.uv)(), jitter = 1) => (0, _mx_noise.mx_worley_noise_float)(texcoord.convert('vec2|vec3'), jitter, (0, _TSLBase.int)(1)); exports.mx_worley_noise_float = mx_worley_noise_float; const mx_worley_noise_vec2 = (texcoord = (0, _UV.uv)(), jitter = 1) => (0, _mx_noise.mx_worley_noise_vec2)(texcoord.convert('vec2|vec3'), jitter, (0, _TSLBase.int)(1)); exports.mx_worley_noise_vec2 = mx_worley_noise_vec2; const mx_worley_noise_vec3 = (texcoord = (0, _UV.uv)(), jitter = 1) => (0, _mx_noise.mx_worley_noise_vec3)(texcoord.convert('vec2|vec3'), jitter, (0, _TSLBase.int)(1)); exports.mx_worley_noise_vec3 = mx_worley_noise_vec3; const mx_cell_noise_float = (texcoord = (0, _UV.uv)()) => (0, _mx_noise.mx_cell_noise_float)(texcoord.convert('vec2|vec3')); exports.mx_cell_noise_float = mx_cell_noise_float; const mx_fractal_noise_float = (position = (0, _UV.uv)(), octaves = 3, lacunarity = 2, diminish = .5, amplitude = 1) => (0, _mx_noise.mx_fractal_noise_float)(position, (0, _TSLBase.int)(octaves), lacunarity, diminish).mul(amplitude); exports.mx_fractal_noise_float = mx_fractal_noise_float; const mx_fractal_noise_vec2 = (position = (0, _UV.uv)(), octaves = 3, lacunarity = 2, diminish = .5, amplitude = 1) => (0, _mx_noise.mx_fractal_noise_vec2)(position, (0, _TSLBase.int)(octaves), lacunarity, diminish).mul(amplitude); exports.mx_fractal_noise_vec2 = mx_fractal_noise_vec2; const mx_fractal_noise_vec3 = (position = (0, _UV.uv)(), octaves = 3, lacunarity = 2, diminish = .5, amplitude = 1) => (0, _mx_noise.mx_fractal_noise_vec3)(position, (0, _TSLBase.int)(octaves), lacunarity, diminish).mul(amplitude); exports.mx_fractal_noise_vec3 = mx_fractal_noise_vec3; const mx_fractal_noise_vec4 = (position = (0, _UV.uv)(), octaves = 3, lacunarity = 2, diminish = .5, amplitude = 1) => (0, _mx_noise.mx_fractal_noise_vec4)(position, (0, _TSLBase.int)(octaves), lacunarity, diminish).mul(amplitude); exports.mx_fractal_noise_vec4 = mx_fractal_noise_vec4;