chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] [ANN] New egg: glls


From: Stephen Eilert
Subject: Re: [Chicken-users] [ANN] New egg: glls
Date: Wed, 14 May 2014 19:04:44 -0300



On Wed, May 14, 2014 at 5:41 PM, Alex Charlton <address@hidden> wrote:
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!


Oh my! The documentation is huge! And with examples!

Very, very nice.


-- Stephen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]