owned this note
owned this note
Published
Linked with GitHub
# Hydra Glossary
## Glossary
### Source:
* Method of `Hydra` (Global in-editor)
* Return : `GlslSource`
* Type of Hydra function: `src`
* A function that when called generates a visual that can be directly connected to an output without the need of another function.
* Examples: `osc()`, `voronoi()`, `noise()`
### Transformation:
* Method of `GlslSource`
* Return : `GlslSource`
* A function called after a source that affects the visuals in some way.
* Examples: `.rotate()`, `.contrast()`
* Synonyms: Transform
### Argument:
* Concept
* Any values (or objects) that are sent to a function. These are written between the parentheses of a function call.
### Parameter:
* Concept
* The input variables that a function can receive. The placeholders to which the arguments are passed into.
### Input:
* Concept
* A synonym for both argument and parameter, specially used in the context of Hydra functions such as sources and transforms.
### Dynamic input:
* Concept
* An input which is dynamic and can change over time. Achieved in Hydra passing Arrays or Functions as arguments.
### Texture:
* Concept
* Any combination of sources and transforms. Essentially, an image, a visual.
* Examples: The visual result of `osc().diff(noise())`
### Coordinate transform:
* Type of Transform
* Type of Hydra function: `coord`
* A transformation that changes the position of the colors (pixels) of the input.
* Examples: `.rotate()`, `.scale()`, `.repeat()`
### Color transform:
* Type of Transform
* Type of Hydra function: `color`
* A transformation that changes the colors of a given input.
* Examples: `.contrast()`, `.posterize()`, `.hue()`
### Blend transform:
* Type of Transform
* Type of Hydra function: `combine`
* A transformation that changes the colors of an input, given the colors of another texture. The second texture is the first argument of the function.
* Examples: `.add()`, `.blend()`, `.diff()`
### Modulate transform:
* Type of Transform
* Type of Hydra function: `combineCoord`
* A transformation that changes the position of an input's colors (pixels), given the colors of another texture. The second texture is the first argument of the function.
* Examples: `.modulate()`, `.modulateScale()`, `.modulateRepeatX()`
### Output:
* Method of `Hydra` (Global in-editor)
* Object : `Output`
* A buffer to which textures can be outputted. Conceptually, a virtual screen.
* Examples: `o0`, `o1`, `o2`, `o3`
### Connecting:
* Concept
* The act of applying a function to a texture or source.
* Example: `osc().rotate() //connecting osc to rotate`
* Synonyms: Chaining
### Outputting:
* Concept
* Connecting a texture or source to an output using the `.out` function.
* Example: `noise().out(o1)`
### Rendering:
* Concept
* Showing a given output (or many) on the screen.
* Example: `render(o0)`, `render()`
### Framebuffer:
* Concept
* An array (a list) of pixels that contains an image. If the framebuffer's pixels are changed overtime, we can say that the framebuffer displays a video.
* Example: `The pixels that make up a visual generated by Hydra in a given moment`
### External Source:
* Method of `Hydra` (Global in-editor)
* Object : `HydraSource`
* A framebuffer showing an externally sourced image or video.
* Example: `s0`, `s1`, `s2`
### Patch:
* Concept
* The code, the structure, the interconnections that make up a texture. Basically, everything that comes before the `.out` function.
* Example: `osc().rotate().blend(noise().modulate(o0))`
### Sketch:
* Concept
* A piece of ready-to-run Hydra code and its visuals.
* Example: `https://hydra.ojack.xyz/?sketch_id=example_8`