Files
hydra/docs/funcs.md
2019-03-20 11:24:49 +00:00

10 KiB

Functions

Categories

Contents


Audio

Functions for manipulating audio signals.

hide

.hide()

setBins

.setBins( bins )

  • bins :: integer (default x)

setCutoff

.setCutoff( frequency )

  • frequency :: float (default x)

setScale

.setScale( amount )

  • amount :: float (default x)

setSmooth

.setSmooth( amount )

  • amount :: float (default x)

show

.show()


Color

Functions for manipulating color.

contrast

.contrast( amount )

  • amount :: float (default 1.6)

Larger amount value makes higher contrast.

color vec4

.color( r, g, b )

  • r :: float
  • g :: float
  • b :: float

Colorize texture.

colorama

.colorama( amount )

  • amount :: float (default 0.005)

Shift HSV values.

invert

.invert( amount )

  • amount :: float (default 1.0)

Invert color.

luma

.luma( threshold, tolerance )

  • threshold :: float (default 0.5)
  • tolerance :: float (default 0.1)

thresh

.thresh( threshold, tolerance )

  • threshold :: float (default 0.5)
  • tolerance :: float (default 0.04)

Geometry

Functions for manipulating geometry.

kaleid

.kaleid( nSides )

  • nSides :: float (default 4.0)

Kaleidoscope effect with nSides repetition.

pixelate

.pixelate( x, y )

  • pixelX :: float (default 20.0)
  • pixelY :: float (default 20.0)

Pixelate texture with pixelX segments and pixelY segments.

rotate

.rotate( angle, speed )

  • angle :: float (default 10.0)
  • speed :: float (default 0.0)

Rotate texture.

scale

.scale( size, xMult, yMult )

  • size :: float (default x)
  • xMult :: float (default 1.0)
  • yMult :: float (default 1.0)

Scale texture.

scrollX

.scrollX( scrollX, speed )

  • scrollX :: float (default 0.5)
  • speed :: float (default 0.0)

scrollY

.scrollY( scrollY, speed )

  • scrollY :: float (default 0.5)
  • speed :: float (default 0.0)

Global variables

Useful variables that are defined globally, and can be used within functions as a parameter.

mouse

mouse

  • .x :: x position of mouse
  • .y :: y position of mouse

Example

Control the oscillator frequency with the mouse position:

osc(() => mouse.x).out(o0)

time

time

  • time :: the current time

Example

Control the oscillator using a sine wave based on the current time:

osc( ({time}) => Math.sin(time) ).out(o0)

Modulators

Functions for describing modulations of sources.

modulate

.modulate( texture, amount )

  • texture
  • amount :: float (default 0.1)

Modulate texture. More about modulation at: https://lumen-app.com/guide/modulation/

modulateHue

.modulateHue( color, amount )

  • texture
  • amount :: float (default 1.0)

Changes coordinates based on hue of second input. Based on:https://www.shadertoy.com/view/XtcSWM

modulateKaleid

.modulateKaleid( nSides )

  • texture
  • nSides :: float (default 4.0)

See also: kaleid.

modulatePixelate

.modulatePixelate( multiple, offset )

  • texture
  • multiple :: float (default 10.0)
  • offset :: float (default 3.0)

See also: pixelate

modulateRotate

.modulateRotate( multiple, offset )

  • texture
  • multiple :: float (default 1.0)
  • offset :: float (default 0.0)

See also: rotate

modulateScale

.modulateScale( multiple, offset )

  • texture
  • multiple :: float (default 1.0)
  • offset :: float (default 1.0)

See also: scale

modulateScrollX

.modulateScrollX( multiple, scrollX, speed )

  • texture
  • scrollX :: float (default 0.5)
  • speed :: float (default 0.0)

See also: scrollX

modulateScrollY

.modulateScrollY( multiple, scrollX, speed )

  • texture
  • scrollY :: float (default 0.5)
  • speed :: float (default 0.0)

See also: scrollY


Operators

Functions for performing operations on sources.

add

.add( texture, amount )

  • texture
  • amount :: float (default 0.5)

Add textures.

blend

.blend( texture, amount )

  • texture
  • amount :: float (default 0.5)

Blend textures.

diff

.diff( texture )

Return difference of textures.

layer

.layer( texture )

Overlay texture based on alpha value.

mult

.mult( texture, amount )

  • texture
  • amount :: float (default 1.0)

Multiply images and blend with the texture by amount.


Sources

Sources are elementary generators that output different types of visual content.

gradient

gradient( speed )

  • speed :: float (default x)

noise

noise( scale, offset )

  • scale :: int (default 10.0)
  • offset :: float (default 0.1)

Generate Perlin noise.

osc

osc( frequency, sync, offset )

  • frequency :: float (default 60.0)
  • sync :: float (default 0.1)
  • offset :: float (default 0.0)

out

.out( buffer )

  • buffer
    • osc: o0, o1, o2, o3
    • src: s0, s1, s2, s3

render

render( buffer )

  • buffer: buffer (default o0)

shape

shape( sides, radius, smoothing)

  • sides :: int (default 3.0)
  • radius :: float (default 0.3)
  • smoothing :: float (default 0.01)

solid

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

src( input )

  • input :: input (examples: o0, s1)

voronoi

voronoi( scale, speed, blending )

  • scale :: float (default 5)
  • speed :: float (default 0.3)
  • blending :: float (default 0.3)

Generate voronoi shapes.


Parameter sequences

Lists as parameter sequences

osc(
   [80, 100, 200, 50], 1 )
)
.out(o0)

Functions on parameter sequences

fast

fast ( amount)

  • amount :: float (default x)
osc(
   [80, 100, 200, 50].fast(0.2), 1 )
)
.out(o0)