# Wiki

The **spaceporn wiki** is a list of GLSL tutorials and online fragment shaders
to generate procedural pixelized space content. Shaders documented are or will
be integrated in the **spaceporn generator**.

## Before going further

Tutorials are not written by a professional graphic programmer. The author did
not receive a formal shadering formation. The author learned by himself (and
from ressources found on Internet). So details are explained the way the
author understand them. This is why:
- tutorials can leak some knowledges and/or precision,
- articles/tutorials are linked as mush as possible.

## Prerequites

The author assumes:
- you have maths knowledges (or at least curious and not afraid about
maths),
- you know what is a fragment shader,
- you already have basic knowlegde of GLSL shaders. At least about specific
types (*vec2*, *vec3*, *vec4*, *ivec2*, *uvec2*, *mat2*, ...) and built-in
functions (*abs()*, *sin()*, *floor()*, *fract()*, *length()*, ...).

If not, you can follow this tutorial but it will not be easy. So the authors
advise you to do some reading/testing first.

## Contributing

Here are the [instructions](CONTRIBUTING).

## Available tutorials

- [Setup](Setup)
- [Circled light](Circled-light) (in progress)
- [Circles grid](Circles-grid) (in progress)
- [Random](Random)
- [Randomize circles grid](Randomize-circles-grid) (in progress)
- [Parametrize circles grid](Parametrize-circles-grid) (in progress)
- [Cloud shape](Cloud-shape) (in progress)
- [Triangles texture](Triangles-texture) (in progress)
- [Swirl](Swirl) (in progress)
- [Swirls grid](Swirls-grid) (in progress)
- [Randomize swirls grid](Randomize-swirls-grid) (in progress)
- [Nebula](Nebula) (in progress)

## Online shaders

- [swirl planet](https://www.shadertoy.com/view/NdjyDV)
- [starfield](https://www.shadertoy.com/view/fsjBzy)
