Commit graph

5 commits

Author SHA1 Message Date
fc69969099 Refactor packages layout using inferred-packages-system 2015-12-27 17:09:05 +01:00
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
764baddb3c fix the render module to use the scene graph defined in game module
Modify the mesh class to use a foreign array for the vertex and index
streams to pass to opengl, but the memory is not yet properly managed.

Add a function to render each node in the scene graph when it finds a
mesh component.
2014-11-10 16:54:02 +09:00
f5a324bf4e Add a compile-program function to compile and link programs into opengl
Compile all the defined shaders and programs at startup
Catch every errors and provide some restarts after properly cleaning up
half-way compiled stuffs
2014-11-02 16:52:43 +09:00
a79a06ef00 Add a facility to create shaders from lisp code
For now, only the global variables are generated by lisp code. The code
of the main function is specified as is in a string.
2014-11-02 16:52:43 +09:00