Hooks
useColor()
This hook returns a vec4 node of the input color for current shader context. You can use this value to set the result
color of your shader.
const color = useColor();
 
<Assign to={color}>
	<Color hex="#ff0000"/>
</Assign>useCoords()
This hook provides the vCoords input for the shader, which you can use to receive the current pixel coordinates.
const coords = useCoords();
 
<Assign to={color}>
	<Vec4 x={<Y of={coords}/> } y={0.5} z={0.5} w={1}/>
</Assign>useTime()
This hook returns a uniform u_time node. You can use this to animate your shader.
const time = useTime();
 
<Assign to={color}>
	<Vec4 x={<Sin of={time}/> } y={0.5} z={0.5} w={1}/>
</Assign>usePrelude(prelude: string)
This hook appends any GLSL code before the main function of the shader.
prelude
Valid GLSL code, which will be injected.
required
const MyComponent = () => {
    usePrelude('// Hello, I will be inserted before the main()');
 
    return <Color hex="#ff00ff"/>
}
 
<Player>
    <Shader>
        <MyComponent/>
    </Shader>
</Player>The output GLSL code will be:
glsl #version 300 es
precision mediump float; 
// Hello, I will be inserted here
out vec4 fragColor;
in vec2 vCoords;
uniform float u_time;
void main() {
	fragColor = vec4(1.0, 0.0, 1.0, 1.0);
}