(6.0.0) Shader - JujuAdams/ScribbleOldDocs GitHub Wiki
Scribble's shader is written in GLSL ES and ports to all GameMaker export targets.
All shader functions are located in the vertex shader. The fragment shader is passthrough.
Functions
float random(vec2 co)
void unpackFlags(float flagValue, inout float array[])
vec2 rotate(vec2 position, vec2 centre, float angle)
vec2 scale(vec2 position, vec2 centre, float scale)
vec2 wave(vec2 position, float characterIndex, float amplitude, float frequency, float speed)
vec2 wheel(vec2 position, float characterIndex, float amplitude, float frequency, float speed)
vec2 wobble(vec2 position, vec2 centre, float angle, float frequency)
vec2 pulse(vec2 position, vec2 centre, float characterIndex, float scale_, float frequency)
vec2 shake(vec2 position, float characterIndex, float magnitude, float speed)
vec4 handleSprites(float isSprite, vec4 colour)
vec4 rainbow(float characterIndex, float weight, float speed, vec4 colour)
float fade(float time, float smoothness, float limit)
Uniforms
Attribute | Datatype | Purpose |
---|---|---|
u_vColourBlend |
vec4 |
|
u_fTime |
float |
|
u_fTypewriterMethod |
float |
|
u_fTypewriterWindowArray[] |
float array |
|
u_fTypewriterSmoothness |
float |
|
u_aDataFields[] |
float array |
Attributes
Attribute | Datatype | Purpose |
---|---|---|
in_Position |
vec3 |
|
in_Normal |
vec3 |
|
in_Colour |
vec4 |
|
in_TextureCoord |
vec2 |
Varying
Attribute | Datatype | Purpose |
---|---|---|
v_vTexcoord |
vec3 |
|
v_vColour |
vec3 |