Varjo is a Lisp to GLSL compiler.
Varjo has no OpenGL dependency as is designed to be integrated into other projects, see CEPL for an example.
Subset of common lisp. Including:
&environmentsupported (currently custom API for introspection but cltl2 API planned)
- Multiple-value return via
- local functions via
defstructwhich can be used across multiple shaders (Less repeated code)
- limited first-class function support (Functions have to be statically resolved to avoid runtime conditionals)
- inline GLSL expressions
- WIP for
declareand extensible declaration identifiers
- Type checking in and across shader stages
- Rolling translate, where out vars from one stage can be automatically fed into the next
- Easy to extend (API still in progress)
- Chris Bagley (Baggers) <email@example.com>
- BSD 2 Clause