Marbles Rayce

Custom Background Environments:
Background images are 360 degree views stored in equirectangular projection. To use a custom environment image go to Settings and set 'Background Environment' to 'CUSTOM' then click 'Browse' and select your background image file.
The 'Directional Lighting' textbox lets you set the sun direction and color to go along with the background, the first 3 values are the red, green and blue color intensities and the last 2 values is the light direction as yaw/pitch in radians.

HDRIHaven is a good source of CC0 equirectangular images.


Custom Courses:
To load a custom course select 'CUSTOM' and then click 'Browse' and select your custom course file. Be warned loading custom courses executes Javascript that could be malicious.

Designing your own course is a bit more difficult, courses are all procedural defined by code. Custom courses are a mix of Javascript and GLSL(ES 2) code, below is a example of a custom course file.

Save this to 'customcourse.txt' and try it out. This will create a flat checkboard plane with no finish line, it's a good starting point for your course.

Now we will create a more advanced course that actually has a finish line, a half pipe with the finish line in the center. The distance field is just a flat plane with a sphere subtracted to make the half dome so its easy to do in GLSL and Javascript. Below is the code for the next example course.

You can also ask quesions and discuss Marble Rayce on the Discord.

Extra Resources:
Here are some more useful links and resources for creating courses:
Javascript Documentation
GLSL ES 2 Quick Reference
Shadertoy
Inigo Quilez