Commit graph

8 commits

Author SHA1 Message Date
c910a4ce1f Implement a new shader definition system
Use a Domain Specific Language to define shaders in common-lisp syntax.
The code is then walked and compiled into glsl expressions and stored in
easy to use structures.

At the program initialization, the shader programs are compiled into opengl.

Dependencies are also kept, so that if a shader is redefined, the
corresponding program will be recompiled into opengl.

The old glsl-compiler is deleted as it is now rendered useless.

The render and mesh code are fixed according to changes in the interface.
2015-05-05 14:07:32 +02:00
8b96f8166f Add glsl version directive to the shader according to the supported version 2015-04-04 23:45:23 +02:00
a7fd8e4842 Handle the shader lambda-list (preamble) 2015-04-04 23:42:56 +02:00
c66e3c62e8 Transform common-lisp symbols into glsl compliant variable names 2015-04-04 23:38:01 +02:00
1c1862dd6d Handle more operations and wrap in main function
Add handlers for infix operations (+ - * / %) and assignments.
Wrap the resulting code in a main function.
Prepare for the lambda-list processing
2015-03-29 19:02:59 +02:00
1a94093619 Enhance output layout 2015-03-25 23:25:00 +01:00
f12a8076d0 Add a simple handler for `let' 2015-03-25 17:37:27 +01:00
2c0f5f1904 Add a starting block for a glsl dsl compiler 2015-03-22 22:40:18 +01:00