@openhps/core
Version:
Open Hybrid Positioning System - Core component
87 lines (85 loc) • 5.89 kB
JavaScript
;
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;