summaryrefslogtreecommitdiff
path: root/sandboxes
diff options
context:
space:
mode:
Diffstat (limited to 'sandboxes')
-rw-r--r--sandboxes/EXAMPLE_circulation.txt43
-rw-r--r--sandboxes/test.txt11
-rw-r--r--sandboxes/test2.txt1
3 files changed, 43 insertions, 12 deletions
diff --git a/sandboxes/EXAMPLE_circulation.txt b/sandboxes/EXAMPLE_circulation.txt
new file mode 100644
index 0000000..1293dad
--- /dev/null
+++ b/sandboxes/EXAMPLE_circulation.txt
@@ -0,0 +1,43 @@
+# This file controls the behavior of function sandbox.
+# Here I'll explain what all the settings do, so you can make your own sandboxes.
+# Any empty line or line beginning with the '#' character (like these first three) is ignored
+
+# This sets the number of grains used in the simulation to 20,000
+grains 20000
+# The grain "refresh rate" is the proportion of the grains which are
+# regenerated (replaced by new ones in the starting area) every second
+grain_refresh_rate 0.01
+# This controls the size of the starting area grains are added to
+start_radius 3
+# Set the color of the grains (you can look up "color picker" to find tools for finding color codes)
+color #ffaabb
+# Let's add a function now!
+# The functions are written in the GLSL language (check out https://www.khronos.org/opengles/sdk/docs/manglsl/docbook4/).
+# You can use all sorts of functions like sin, cos, sqrt,
+# etc. For multiplication you use * and to take a to the power of b you need to use pow(a, b).
+# You can use x,y,z to get the coordinates of the grain, or p to get them as a vector.
+add vec3(z, 0, -sin(y)*x)
+
+# We can add more functions in this same file. We can change settings before adding our next function
+# to make them only apply to it.
+# We'll use more grains for this one.
+grains 30000
+# For this function, let's color-code grains based on speed. First, we can set the two colors,
+# for "slow" grains and "fast" grains.
+color #0000ff
+color2 #ff0000
+# And now we need to specify the "scaling", i.e. how much change in speed corresponds to
+# change in color.
+color_scale 1
+# Now let's add the function.
+add vec3(y, -x*cos(x), 0)
+
+# We can also control some settings which don't apply to any particular function. You can put these anywhere.
+# This controls your movement speed.
+move_speed 5.0
+# Now we get to some technical settings, which you can just leave set to the defaults
+# Field of view in degrees
+fov 50
+# Near and far clipping planes, respectively
+clipping_planes 1 100
+
diff --git a/sandboxes/test.txt b/sandboxes/test.txt
deleted file mode 100644
index 32195f5..0000000
--- a/sandboxes/test.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-clipping_planes 0.1 10
-move_speed 0
-fov 45
-grains 100000
-grain_refresh_rate 0.01
-color #0000ff
-color2 #ff00ff
-color_scale 0.5
-add vec3(-z, 0.0, x)
-color2 #ffff00
-add vec3(-y, x, 0.0)
diff --git a/sandboxes/test2.txt b/sandboxes/test2.txt
deleted file mode 100644
index d30da32..0000000
--- a/sandboxes/test2.txt
+++ /dev/null
@@ -1 +0,0 @@
-add vec3(-z, 0, x)