Commit graph

14 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
7a8f3117ed Add a way to check if opengl is initialized or not 2015-05-03 23:38:19 +02:00
fa14b3dae4 Properly parse numbers from the command line or in version strings 2015-04-27 22:19:28 +02:00
d8df41dbe4 Refactor the game module and rethink the way to import symbols
From now on, import symbols from other packages when it makes sense.
2014-11-14 21:53:24 +09:00
9faa777972 Rewrite modules functions as macro
This let us recompile initialize/finalize/update functions during
runtime without having to register them once again.
2014-11-14 21:45:54 +09:00
f51bb6d4cf Add an input system inspired by emacs' keymaps
Use glop to poll the events each frame and pass any input event to the
input system.
Provide functions like `global-set-key' or `global-set-motion' to setup
function to be triggered when a key is pressed or when the mouse is moved.
2014-11-10 16:54:03 +09: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
3de90e7618 Add opengl's one time settings in the initialize process 2014-11-02 16:53:36 +09:00
891643c414 Add a poll-events function to be used in the main-loop 2014-11-02 16:53:36 +09:00
9a32457848 Change add-hook's semantic and export functions to register modules 2014-11-02 16:52:43 +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
65d2d5d248 Add a package for utilities regarding opengl
Currently supported version
gl centric assert and restart macro
2014-11-02 16:52:38 +09:00
aec779ac7b TODO: Add a render module (incomplete) 2014-09-17 08:37:29 +02:00