WASD. RMButton=rotate around camera location; LMButton=rotate around point where you look at. Wheel=scaling. Ctrl-R - resetr camera position

All the figures shown are added via literal change of shader, which result is outputted to the console as well as the previous block.

Recursive structures of unions and intersections is supported. Recursive transformations is easy to do but currently are not implemented.

History of additions and element removals is supported

Auto saving to inter-session buffer is implemented

TODOs:

Figures movement is a bug, which will be fixed later.

As amount of figures rises, shader compilation time follows. So checkbox for deferred compilation will be added

Pause should be added as well

Ka/Ke/Ks/Ph materials

Constant shader part precompilation

Checkers / transparency / further raymarching improvement

Active/inactive checkbox

UI improvement

Modular way to add sinuses for color or position

Dragging of figures between unions/intersections

Fix camera

First of all - code reformating

History: Ctrl+Z/Ctrl+Shift+Z/


Result:


Check this out!()


sin(float(time) / 300.0) * 3.0
rand(float(time))