From 45e36030a20e77c109bd746e7be4a64a7c9a2fbd Mon Sep 17 00:00:00 2001 From: pommicket Date: Sun, 3 Oct 2021 11:56:52 -0400 Subject: README, more examples --- sandboxes/00.txt | 2 ++ sandboxes/01.txt | 6 +++++ sandboxes/02.txt | 5 +++++ sandboxes/03.txt | 3 +++ sandboxes/04.txt | 5 +++++ sandboxes/EXAMPLE.txt | 47 +++++++++++++++++++++++++++++++++++++++ sandboxes/EXAMPLE_circulation.txt | 43 ----------------------------------- 7 files changed, 68 insertions(+), 43 deletions(-) create mode 100644 sandboxes/00.txt create mode 100644 sandboxes/01.txt create mode 100644 sandboxes/02.txt create mode 100644 sandboxes/03.txt create mode 100644 sandboxes/04.txt create mode 100644 sandboxes/EXAMPLE.txt delete mode 100644 sandboxes/EXAMPLE_circulation.txt (limited to 'sandboxes') diff --git a/sandboxes/00.txt b/sandboxes/00.txt new file mode 100644 index 0000000..cb780c3 --- /dev/null +++ b/sandboxes/00.txt @@ -0,0 +1,2 @@ +color_scale 0.1 +add vec3(y * y * tan(z), z * z * cos(x), -x * x * tan(y)) diff --git a/sandboxes/01.txt b/sandboxes/01.txt new file mode 100644 index 0000000..0ab5eca --- /dev/null +++ b/sandboxes/01.txt @@ -0,0 +1,6 @@ +grains 500000 +grain_refresh_rate 0.03 +color_scale 1 +color #7700aa +color2 #aa0077 +add 0.1*vec3(-y/tan(z), x*x, exp(cos(y))) diff --git a/sandboxes/02.txt b/sandboxes/02.txt new file mode 100644 index 0000000..313a931 --- /dev/null +++ b/sandboxes/02.txt @@ -0,0 +1,5 @@ +grains 1000000 +color_scale 1 +color #ffffff +color2 #7f7f7f +add vec3(-tan(y)*x, cos(z)*y, sin(z)*x) diff --git a/sandboxes/03.txt b/sandboxes/03.txt new file mode 100644 index 0000000..12e7621 --- /dev/null +++ b/sandboxes/03.txt @@ -0,0 +1,3 @@ +grains 500000 +color_scale 1 +add 0.1*cross(p, sin(p*20)) diff --git a/sandboxes/04.txt b/sandboxes/04.txt new file mode 100644 index 0000000..a257fa7 --- /dev/null +++ b/sandboxes/04.txt @@ -0,0 +1,5 @@ +grains 500000 +color_scale 1 +color2 #0000ff +color #ffffff +add 0.1*vec3(1.0/z, x*z*tan(y), y*x*tan(z)) diff --git a/sandboxes/EXAMPLE.txt b/sandboxes/EXAMPLE.txt new file mode 100644 index 0000000..49de071 --- /dev/null +++ b/sandboxes/EXAMPLE.txt @@ -0,0 +1,47 @@ +# This file controls the behavior of function sandbox. +# Here I'll explain what all the settings do, so you can make your own sandboxes. +# To create a new sandbox, just add a new .txt file in this folder. It'll automatically appear in the sandbox selection menu. +# Any empty line or line beginning with the '#' character (like these first three) is ignored +# All the settings below are optional and have defaults. So you could create a sandbox with just +# one line, e.g. 'add vec3(-z,0,x)'. + +# 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. +# In other words, (1 / this) gives you the "lifetime" of each grain in seconds. +grain_refresh_rate 0.1 +# 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. You can also use pi. +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/EXAMPLE_circulation.txt b/sandboxes/EXAMPLE_circulation.txt deleted file mode 100644 index 8d31e84..0000000 --- a/sandboxes/EXAMPLE_circulation.txt +++ /dev/null @@ -1,43 +0,0 @@ -# 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. You can also use pi. -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 - -- cgit v1.2.3