Synthclipse - GLSL Demo Development Environment


Synthclipse is - what I call - a GLSL Demo Development Environment. Its main purpose is to help making real-time GLSL demos and music visualizations like those published on Shadertoy, but you can also, for example, explore 2D or 3D fractals and render high quality procedural images and videos. (Actually recording is not yet implemented but is on my TODO list and will be available in 1.0 version).

Almost all of the concepts used in Synthclipse were invented by Mikael Hvidtfeldt Christensen and first implemented in his own creation – Fragmentarium.

Synthclipse, in current state, is kind of Fragmentarium clone, implemented in Java, with minor additions and slightly different syntax, but future version of it will differentiate more. I'm planning to add multipass, scriptable rendering with all types of GLSL shaders – not only Fragment and (limited) Vertex Shader. I also want to focus more on music visualization. (Synthclipse is already capable of music visualization, in a way similar to Shadertoy).

Synthclipse is based on Eclipse IDE and depends on Eclipse CDT (C/C++ Development Tooling). It pretends that GLSL is just plain C++ code.
It achieves this by inclusion, in all shaders, specially prepared header:

#ifdef SYNTHCLIPSE
#include <synthclipse>
#endif

The reason why GLSL is interpreted in Synthclipse as C++ is to get a great editor with a lot of functionalities, for free. To name a few: auto-complementation, function and globals list (Code Overview), simple static code analysis, a lot of key shortcuts, configurable syntax coloring, code autoformatting, advanced search/replace, "go to function/header by CTRL + click", etc. It is not a perfect solution, but it works surprisingly well most of the time.

As in Fragmentarium, Synthclipse extends GLSL language by "#include" preprocesor directive. It works excacly as in C/C++ and it allows to make shaders more modular. It is only GLSL extension, as oposite to Fragmentarium. All other "magic" happens in special comments - called Commands - starting by "//!" or "/*!".

You can find out more about Synthclipse features and syntax in the User Guide.

News

2014-03-13

Synthclipse 0.2.2 is out.
Changelog. Downloads.

2014-03-11

Synthclipse 0.2.1 quick fix release.
Changelog. Downloads.

2014-03-10

Synthclipse 0.2.0 with high quality recording support is out.
Changelog. Downloads. Screenshot.

2014-02-22

Synthclipse 0.1.3 with brand new GLSL Sandbox importer is ready for downloads.
Changelog. Downloads.

2014-02-18

Synthclipse 0.1.2 is out.
Changelog. Downloads.

2014-02-16

Synthclipse 0.1.1 is ready for downloads.

2014-02-07

The site is up and running.