|
From: | Stephen Eilert |
Subject: | Re: [Chicken-users] [ANN] New egg: glls |
Date: | Wed, 14 May 2014 19:04:44 -0300 |
I'm pleased to announce glls: a (pseudo-)Scheme to GLSL (OpenGL Shader Language) compiler. Embedding GLSL shaders into your programs is now as easy as writing S-expressions in a Scheme file. The compilation from a glls definition to a GLSL shader happens at compile-time, so using glls has no run-time cost (aside from having it loaded into memory). Using glls gives your Scheme program knowledge about your shaders, so shader and program compilation as well as attribute and uniform location retrieval is provided automatically.
If you're familiar with Varjo (a Common Lisp project), glls performs a similar task but with a more limited scope. While Varjo performs type-checking to validate its shaders, glls is a very literal compiler: you get what you write – even if you write something wrong. Errors at the GLSL level are therefore caught during GLSL compilation rather than during glls->GLSL compilation.
If I may be so bold: The best has yet to come for glls. While defining your shaders in Scheme is convenient, the true power of this comes from taking advantage of what your Scheme program then knows about the shaders. Future work on glls will see automatic compilation of rendering functions for each pipeline, as well as tools for dynamic re-loading of pipelines for all your REPL-based shader hacking sessions.
If you’re interested, check out the source:
https://github.com/AlexCharlton/glls
And the docs:
https://wiki.call-cc.org/eggref/4/glls
And if someone could add this to the egg list, I would be most appreciative.
https://raw.githubusercontent.com/AlexCharlton/glls/master/glls.release-info
Thanks!
[Prev in Thread] | Current Thread | [Next in Thread] |