# References JS: Getting Started Tutorials (opens new window)

Shader Park provides a set of built in functions to help you create your sculptures.

# Geometry

# Primitives

sphere, box, boxFrame, torus, line, cylinder, grid

# Construction Modes

union, difference, blend, intersect, mixGeo

# Modifiers

expand, shell, setSDF

# Composition

shape


# Coordinate Space Modifiers

displace

setSpace

mirrorX, mirrorY, mirrorZ, mirrorXYZ, mirrorN

rotateX, rotateY, rotateZ

reset


# Material

color,

metal, shine, mixMat

hsv2rgb , rgb2hsv,

occlusion, fresnel

# Lighting

noLighting, lightDirection


# Input

# Space and Time

getSpace,

getSpherical,

getRayDirection,

time,

normal

# Interactive

input, mouse, mouseIntersection,


# GLSL

glslFunc, glslFuncES3, glslSDF


# Math

sin, cos, tan, asin, acos, nsin

exp, log, exp2, log2

pow, sqrt, inversesqrt

mod, fract, abs, sign, floor, ceil

min, max, clamp, mix, smoothstep,

length, distance, dot, cross, normalize, reflect, refract

toSpherical, fromSpherical


# Algorithms

noise, fractalNoise,

sphericalDistribution


# Constants

PI, TWO_PI, TAU


# Global Settings

setGeometryQuality, setStepSize, setMaxIterations

# FAQ

If you see artifacting / distortions in your shape you will most likely need to increase the geometry quality.

This is no built in scale function because it quickly distorts the objects. This can however be achieved using setSpace.

# Known Issues / WIP

length, distance, dot, and normalize work only with with vec3s

pow, mod, min, max, atan, clamp, mix, and smoothstep work only with floats.

branching / using if statements that reference built-in variables will not work. Specifically variables like vec2, vec3, vec4, or using input variables like time. Eg:

if(time > 100) {
    //do something
}