The internet for a programmer who insterested in 3D-graphics for several years is full of videos where people programming music visualizers, complex color-morphing effects or even more tricky things working at the intersection of technology - literally the author writes code and somewhere on background it is compiled and executed and the author sees the result - this process named livecoding. Most recently the programs like these are written in lisp-family languages, the similar editor exists for ProcessingJS, it renders code immediately in browser, but its not about it.
Fluxus - it is a cross-platform 3D-engine for games drafts based on livecoding principles and simultaneously the prototyping tool for 3D-graphics and interactive things. And there is pretty detailed documentation exist. Programming language is extended with graphic functions []PLT Scheme](http://racket-lang.org).
However, see for yourself:
When application launched, it is started in interpretor mode. To switch to code editor mode, which is used in the most of the videos, press Ctrl+1
. To render current defined scene - press F5
.
Hereis, for example, two rotating spheres that change their colors through time:
(define (animate)
(let* ((t (* (time) 2))
(x (sin t))
(y (cos t)))
(with-state
(translate (vector x y 0))
(colour (vector (+ 1.5 (sin (time))) 0 0))
(draw-sphere))
(with-state
(translate (vmul (vector x y 0) 3))
(colour (vector 0 0 (- 1.5 (sin (time)))))
(draw-sphere))))
(every-frame (animate))