Tracing a Cellular Automaton
Visual artifacts such as ghosting are due to the gif encoder used.
First B/W Rendering
Automata composes of simple booleans to store state.
Renderer uses very a simple fixed ray marching algorihm.
![](/Jaminima/Cellular-Automata-Traced/raw/main/Demo-Clips/1.gif)
Flat Rendering of Squares
Automota booleans swapped for RGB values.
Renderer updated to support the new color space.
![](/Jaminima/Cellular-Automata-Traced/raw/main/Demo-Clips/2.gif)
Squares Have Visible Depth
By reducing the increment size of the ray marching we can more accuratley detect collisions.
![](/Jaminima/Cellular-Automata-Traced/raw/main/Demo-Clips/3.gif)
Render Using More Efficient Technique
By detecting possible {x,y,z} intersects we can ensure that each ray march will be calculating a unique collision. Rather than possibly hitting the same empty square many times over while marching through its volume.
![](/Jaminima/Cellular-Automata-Traced/raw/main/Demo-Clips/5.gif)
Cellular Rules are Applied
Simple rules are applied to each square every second, using their neighbours states to determine its own.
![](/Jaminima/Cellular-Automata-Traced/raw/main/Demo-Clips/6.gif)
View Distance Effect More Visible
A thatched grid pattern becomes visible on squares at the edge of the render distance.
The exact cause of this is unkown (for now).
![](/Jaminima/Cellular-Automata-Traced/raw/main/Demo-Clips/7.gif)
To allow reduced tracing to function, it is neccesarry to fill in blanks around each ray. This causes a fuzzy effect but gains us 7FPS on 35FPS. The effect is shown below. Original Left, Reduced Right.