Topics
- Scenes overview
- Terminology
-
Editor
-
Tutorials
-
Expression port
-
Shader port
-
Nodes
Shader functions
The shader port in Plane9 have a few predefined functions and defines
Defines
| Name | Description |
|---|---|
| PI | The value of pi 3.14159265358979323846 |
| PI2 | Two times the value of pi 6.283185307179586232 |
Functions
| Name | Description |
|---|---|
| float3 _hsv2rgb(float3 HSV) | Converts a HSV value to a RGB value |
| float3 _hsv2rgb(float h, float s, float v) | Converts a HSV value to a RGB value |
| float _perm(float pos) | Permutation value. Basically a random value but uses the values defined by perlin |
| float _perm(float2 pos) | Permutation value. Basically a random value but uses the values defined by perlin |
| float _noisefast(float p) | Fast perlin noise from a 1d point. This is a perlin noise approximation and it does have artifacats if used on its own. It is however fast |
| float _noisefast(float2 p) | Fast perlin noise from a 2d point. This is a perlin noise approximation and it does have artifacats if used on its own. It is however fast |
| float _noisefast(float3 p) | Fast perlin noise from a 3d point. This is a perlin noise approximation and it does have artifacats if used on its own. It is however fast |
| float3 _noisegradientfast(float p, float d) | Gradient of a fast noise 1d value |
| float3 _noisegradientfast(float2 p, float d) | Gradient of a fast noise 2d value |
| float3 _noisegradientfast(float3 p, float d) | Gradient of a fast noise 3d value |
| float _fbmfast(float p, int octaves, float lacunarity = 2.13628142, float gain = 0.5) | Fractal sum of a 1d point |
| float _fbmfast(float2 p, int octaves, float lacunarity = 2.13628142, float gain = 0.5) | Fractal sum of a 2d point |
| float _fbmfast(float3 p, int octaves, float lacunarity = 2.13628142, float gain = 0.5) | Fractal sum of a 3d point |
| float _turbulencefast(float p, int octaves, float lacunarity = 2.13628142, float gain = 0.5) | Tubulence for a 1d point |
| float _turbulencefast(float2 p, int octaves, float lacunarity = 2.13628142, float gain = 0.5) | Tubulence for a 2d point |
| float _turbulencefast(float3 p, int octaves, float lacunarity = 2.13628142, float gain = 0.5) | Tubulence for a 3d point |
| float _ridgedmffast(float p, int octaves, float lacunarity = 2.13628142, float gain = 0.5) | Ridged multifractal of a 1d point |
| float _ridgedmffast(float2 p, int octaves, float lacunarity = 2.13628142, float gain = 0.5) | Ridged multifractal of a 2d point |
| float _ridgedmffast(float3 p, int octaves, float lacunarity = 2.13628142, float gain = 0.5, float offset = 1.0) | Ridged multifractal of a 3d point |
| void _voronoi(float2 position, out float f1, out float2 pos1, out float f2, out float2 pos2, float jitter = 0.9, int type = 0) | Worly Noise / Voronoi. f1/pos1 is the distance and poistion of the closest point. f2/pos2 is the distance to the next closest point. 0=Normal,1=Manhattan Distance, 2=Chebyshev distance |
| void _voronoi(float3 position, out float f1, out float3 pos1, out float f2, out float3 pos2, float jitter = 0.9, int type = 0) | Worly Noise / Voronoi. f1/pos1 is the distance and poistion of the closest point. f2/pos2 is the distance to the next closest point. 0=Normal,1=Manhattan Distance, 2=Chebyshev distance |
In the above functions the arguments are as follows
| Name | Description |
|---|---|
| Octaves | The number of octaves of noise to sum together. Higher value creates more details but is slower |
| Lacunarity | For each octave of noise the frequency of the noise is increased by this amount. Prefereably avoid integer values since it reduces aliasing artifcats |
| Gain | For each octave of noise the gain is increase by this amount |
