import { float, vec3 } from "./ShaderTypes"; export declare const all: () => any; /** * @param thresh value where step happens * @param value ramp of values used as input for the step * @returns stepped float value */ export declare const stepAA: (thresh?: float, value?: float) => float | any; /** * 5 color gradient across a given value ramp * @param ramp input value that gradient will span across * @param c1 color 1 * @param c2 color 2 * @param c3 color 3 * @param c4 color 4 * @param c5 color 5 * @returns vec3 color gradient */ export declare const gradient5: (ramp?: float, c1?: vec3, c2?: vec3, c3?: vec3, c4?: vec3, c5?: vec3) => vec3 | any; /** * smoothstep function with exposnential curve * @param edge0 starting edge of step * @param edge1 ending edge of step * @param x the value to step across * @param power the power of the exponential curve * @returns a shaped float value */ export declare const smoothstepExp: (edge0?: float, edge1?: float, x?: float, power?: float) => float | any; /** * creates a linear pulse shape with custom attack, width, and decay * @param edge position of the pulse relative to x * @param x the ramp of values the pulse will run across * @param attack the steepness of the front slope of the pulse * @param decay the falloff of the pulse * @param width the space between the attack and decay * @returns strength value */ export declare const pulseInOut: (edge?: float, x?: float, attack?: float, decay?: float, width?: float) => float | any; /** * creates an exponential pulse shape with custom attack, width, and decay * * DEPENDENCIES: {@link smoothstepExp} * * @param edge position of the pulse relative to x * @param x the ramp of values the pulse will run across * @param attack the steepness of the front slope of the pulse * @param attackExp the exponent value of the attack * @param decay the falloff of the pulse * @param decayExp the exposnent value of the decay * @param width the space between the attack and decay * @returns */ export declare const pulseInOutExp: (edge?: float, x?: float, attack?: float, attackExp?: float, decay?: float, decayExp?: float, width?: float) => float | any; /** * creates wireframe edges at the edge of each triangle in the mesh * * @param barycentricCoords the barycentric coords of the fragment * @param lineWidth the desired width of the edge line * @returns the value of the triangle edge */ export declare const getTriangleEdge: (barycentricCoords?: vec3, lineWidth?: float) => float | any; export declare const ShapingFunctions: { all: () => any; stepAA: (thresh?: float, value?: float) => float | any; gradient5: (ramp?: float, c1?: vec3, c2?: vec3, c3?: vec3, c4?: vec3, c5?: vec3) => vec3 | any; smoothstepExp: (edge0?: float, edge1?: float, x?: float, power?: float) => float | any; pulseInOut: (edge?: float, x?: float, attack?: float, decay?: float, width?: float) => float | any; pulseInOutExp: (edge?: float, x?: float, attack?: float, attackExp?: float, decay?: float, decayExp?: float, width?: float) => float | any; getTriangleEdge: (barycentricCoords?: vec3, lineWidth?: float) => float | any; };