# Functions ## Color ### .contrast(`amount`) * amount :: float (default 1.6) Larger `amount` value makes higher contrast. ### .color( `r`, `g`, `b` ) * r :: float * g :: float * b :: float Colorize texture. ### .colorama(`amount`) * amount :: float (default 0.005) Shift HSV values. ### .invert(`amount`) * amount :: float (default 1.0) Invert color. ### .luma( `threshold`, `tolerance` ) * threshold :: float (default 0.5) * tolerance :: float (default 0.1) ### .thresh( `threshold`, `tolerance` ) * threshold :: float (default 0.5) * tolerance :: float (default 0.04) ----------- ## Combine ### .add( `texture`, `amount` ) * texture * color :: vec4 * src * shape * amount :: float (default 0.5) Add textures. ### .blend( `texture`, `amount` ) * texture * color :: vec4 * src * shape * amount :: float (default 0.5) Blend textures. ### .diff( `texture` ) * texture * color :: vec4 * src * shape Return difference of textures. ### .layer() Overlay texture based on alpha value. ### .mult( `texture`, `amount` ) * texture * color :: vec4 * src * shape * amount :: float (default 1.0) Multiply images and blend with the texture by `amount`. ----------------- ## CombineCoord ### .modulate( `texture`, `amount` ) * texture * color :: vec4 * src * shape * amount :: float (default 0.1) Modulate texture. More about modulation at: ### .modulateHue( `color`, `amount` ) * texture * color :: vec4 * src * shape * amount :: float (default 1.0) Changes coordinates based on hue of second input. Based on: ### .modulateKaleid( `nSides` ) * texture * color :: vec4 * src * shape * nSides :: float (default 4.0) ### .modulatePixelate( `multiple`, `offset` ) * texture * color :: vec4 * src * shape * multiple :: float (default 10.0) * offset :: float (default 3.0) ### .modulateRotate( `multiple`, `offset` ) * texture * color :: vec4 * src * shape * multiple :: float (default 1.0) * offset :: float (default 0.0) ### .modulateScale( `multiple`, `offset` ) * texture * color :: vec4 * src * shape * multiple :: float (default 1.0) * offset :: float (default 1.0) ### .modulateScrollX( `multiple`, `scrollX`, `speed` ) * texture * color :: vec4 * src * shape * scrollX :: float (default 0.5) * speed :: float (default 0.0) ### .modulateScrollY( `multiple`, `scrollY`, `speed` ) * texture * color :: vec4 * src * shape * scrollY :: float (default 0.5) * speed :: float (default 0.0) ----------------- ## Coord ### .kaleid( `nSides`) * nSides :: float (default 4.0) Kaleidoscope effect with `nSides` repetition. ### .rotate( `angle`, `speed` ) * angle :: float (default 10.0) * speed :: float (default 0.0) Rotate texture. ### .scale( `size`, `xMult`, `yMult` ) * size :: float * xMult :: float (default 1.0) * yMult :: float (default 1.0) Scale texture. ### .pixelate( `x`, `y` ) * pixelX :: float (default 20.0) * pixelY :: float (default 20.0) Pixelate texture with `pixelX` segments and `pixelY` segments. ### .scrollX( `scrollX`, `speed` ) * scrollX :: float (default 0.5) * speed :: float (default 0.0) ### .scrollY( `scrollY`, `speed` ) * scrollY :: float (default 0.5) * speed :: float (default 0.0) ------------------------- ## Src ### osc( `frequency`, `sync`, `offset` ) * frequency :: float (default 60.0) * sync :: float (default 0.1) * offset :: float (default 0.0) ### render( `output buffer`) * default: `o0` ### shape( `sides`, `radius`, `smoothing`) * sides :: int (default 3.0) * radius :: float (default 60.0) * smoothing :: float (default 0.01) ### solid( `r`, `g`, `b`, `a`) * r :: float (default 0.0) * g :: float (default 0.0) * b :: float (default 0.0) * a :: float (default 1.0) ### src( `input` ) * input :: examples: `o0`, `s1` ### .noise( `scale`, `offset` ) * scale :: int (default 10.0) * offset :: float (default 0.1) Generate Perlin noise. ### .out( `output buffer` ) * output buffer * osc: `o0`, `o1`, `o2`, `o3` * src: `s0`, `s1`, `s2`, `s3` ------------------- ## Animate ### seq( `array[]`, `speed` ) #### note: should be defined at top of file ``` seq = (arr = [], speed = 1) => ({time}) => ( arr[ Math.floor( time * speed % (arr.length) ) ] ) ``` #### example ``` osc( seq( [80, 100, 200, 50], 1 ) ) .out(o0) ``` ------------------- ## Audio ### .hide() ### .setBins( `int` ) ### .setCutoff( `float` ) ### .setMax( `float` ) ### .show() ------------------- ## Util ### random() No Args ### _noise() No Args ### luminance() No Args ### rgbToHsv() No Args ### hsvToRgb() No Args