summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add signal-generator macro.David Thompson2014-08-251-1/+25
| | | | | * sly/signal.scm (yield): New variable. (signal-generator): New macro.
* Update shader files in Makefile.David Thompson2014-08-251-4/+2
| | | | * data/Makefile.am (shaders_DATA): Remove old shaders and add new ones.
* Add scene graph example.David Thompson2014-08-251-0/+128
| | | | * examples/scene-graph.scm: New file.
* Fix texture vertices in cube primitive.David Thompson2014-08-251-32/+32
| | | | * sly/shape.scm (make-cube): Fix texture vertices.
* Export uniform-set!David Thompson2014-08-252-3/+2
| | | | | * sly/mesh.scm (draw-mesh): Use the public uniform-set! * sly/shader.scm: Export uniform-set!
* Use a single default shader for all meshes.David Thompson2014-08-2510-118/+65
| | | | | | | | | | | | | | | | | * data/shaders/default-fragment.glsl: New file. * data/shaders/default-vertex.glsl: New file. * data/shaders/font-fragment.glsl: Delete. * data/shaders/font-vertex.glsl: Delete. * data/shaders/sprite-fragment.glsl: Delete. * data/shaders/sprite-vertex.glsl: Delete. * examples/common.scm: Remove call to enable-sprites. * sly/font.scm (font-shader): Delete. (enable-fonts): Remove shader loading. (make-label): Use default shader. * sly/shape.scm (make-cube): Make texture and shader optional keyword arguments. * sly/sprite.scm (sprite-shader, enable-sprites): Delete. (make-sprite): Make shader an optional keyword argument.
* Add load-default-shader procedure.David Thompson2014-08-251-0/+15
| | | | * sly/shader.scm (load-default-shader): New procedure.
* Support meshes with no texture.David Thompson2014-08-251-5/+9
| | | | * sly/mesh.scm (draw-mesh): Don't bind texture if there isn't one.
* Add shape module.David Thompson2014-08-252-0/+114
| | | | | * Makefile.am (SOURCES): Add it. * sly/shape.scm: New file.
* Delete obsolete primitives module.David Thompson2014-08-251-120/+0
| | | | * sly/primitives.scm: Delete it.
* Convert text label to mesh.David Thompson2014-08-251-58/+27
| | | | | | * sly/font.scm (make-label): Return mesh. (label?, label-font, label-text, label-position, label-color, draw-label): Delete.
* Convert sprite to mesh.David Thompson2014-08-251-142/+23
| | | | * sly/sprite.scm: Rewrite.
* Add half procedure.David Thompson2014-08-251-1/+5
| | | | * sly/math.scm (half): New procedure.
* Render using scenes and cameras.David Thompson2014-08-251-2/+12
| | | | * sly/game.scm (start-game-loop): Add cameras parameter.
* Add scene module.David Thompson2014-08-252-0/+109
| | | | | * Makefile.am (SOURCES): Add it. * sly/scene.scm: New file.
* Add camera module.David Thompson2014-08-252-0/+100
| | | | | * Makefile.am (SOURCES): Add it. * sly/camera.scm: New file.
* Add mesh module.David Thompson2014-08-252-0/+195
| | | | | * Makefile.am (SOURCES): Add it. * sly/mesh.scm: New file.
* Add look-at procedure.David Thompson2014-08-251-1/+13
| | | | * sly/transform.scm (look-at): New procedure.
* Fix normalize procedure.David Thompson2014-08-251-1/+1
| | | | | * sly/vector.scm (normalize): Preserve dimensionality in the case where magnitude is 0.
* Simplify perspective-projection implementation.David Thompson2014-08-252-20/+10
| | | | | * sly/math.scm (cotan): New procedure. * sly/transform.scm (perspective-projection): Simplify.
* Fix transform* procedure.David Thompson2014-08-251-17/+10
| | | | * sly/transform.scm (transform*): Perform matrix multiplication correctly.
* Add gl-scissor procedure.David Thompson2014-08-251-0/+3
| | | | * sly/wrappres/gl.scm (gl-scissor): New procedure.
* Enable OpenGL scissor test.David Thompson2014-08-251-0/+1
| | | | * sly/window.scm (open-window): Enable GL scissor test.
* Remove unused module import.David Thompson2014-08-251-1/+0
| | | | * sly/helpers.scm: Remove (sly game) import.
* Accept strings instead of symbols for shader uniforms and attributes.David Thompson2014-08-251-4/+2
| | | | | * 2d/shader.scm (uniform-location, attribute-location): Accept a string instead of a symbol.
* Reset video mode when window is resized.David Thompson2014-08-251-3/+5
| | | | * 2d/window.scm: Reset SDL video mode when video-resize is triggered.
* Enable GL face culling and depth test.David Thompson2014-08-251-0/+2
| | | | * 2d/window.scm (open-window): Enable cull-face and depth-test.
* Deference one signal instead of two.David Thompson2014-08-251-3/+3
| | | | | * 2d/game.scm (draw): Use window-size instead of window-width and window-height.
* Add wrappers for OpenGL VAO functions.David Thompson2014-08-251-0/+24
| | | | | | * 2d/wrappers/gl.scm (glGenVertexArrays, glBindVertexArray): New procedures. (with-gl-client-state): New macro.
* Add with-texture macro.David Thompson2014-08-251-1/+10
| | | | * 2d/texture.scm (with-texture): New macro.
* Use linear scaling filter for rendered text.David Thompson2014-08-251-2/+2
|
* Add signal-let and signal-let* forms.David Thompson2014-08-251-0/+12
| | | | * sly/signal.scm (signal-let, signal-let*): New macros.
* Fix memory leak in signal-sample.David Thompson2014-08-251-5/+23
| | | | * sly/signal.scm (signal-sample): Fix memory leak.
* README: Add "Community" section.David Thompson2014-08-151-0/+5
| | | | * README.org ("Community"): Add it.
* Add sly mascot in ASCII art form.David Thompson2014-08-122-1/+25
| | | | | * AUTHORS: Add Christopher Allan Webber. * data/mascot.txt: New file.
* 2048: Make it more convenient to run within Emacs.David Thompson2014-08-091-0/+4
| | | | * examples/2048/2048: Add local variable setting for compile-command.
* Tweak docstring for linear-scale.David Thompson2014-08-011-3/+3
| | | | * sly/math.scm (linear-scale): Tweak docstring.
* Add punctuation to docstrings in sly/joystick.scm.David Thompson2014-08-011-7/+7
| | | | | | * sly/joystick.scm (joystick-num-axes, joystick-num-buttons, axis-value-raw, make-directional-signal-raw, axis-scale, axis-value, make-directional-signal): Add punctuation.
* Add joystick module.Jordan Russell2014-08-015-3/+285
| | | | | | | | * sly/joystick.scm: New file. * examples/joystick.scm: New file. * Makefile.am (SOURCES): Add sly/joystick.scm. * TODO.org (Input): Mark as 'done'. * sly/math.scm (linear-scale): New procedure.
* Update TODO list.David Thompson2014-07-291-15/+7
| | | | | * TODO.org ("0.1 Release"): Rewrite. ("0.2 Release"): Remove.
* Add optional start and step parameters to signal-count.David Thompson2014-07-221-4/+5
| | | | * sly/signal.scm (signal-count): Add start and step parameters.
* Fix typos in signal-constant and signal-tap docstrings.David Thompson2014-07-221-3/+3
| | | | * sly/signal.scm (signal-constant, signal-tap): Fix docstrings.
* Add signal-switch procedure.David Thompson2014-07-221-0/+13
| | | | * sly/signal.scm (signal-switch): New procedure.
* Integrate REPL module with game loop error hook.David Thompson2014-07-051-3/+29
| | | | | * sly/repl.scm (start-sly-repl): Add error handling. (resume-game-loop): New procedure.
* Add error handling hook to game loop.David Thompson2014-07-051-7/+47
| | | | | | * sly/game.scm (after-game-loop-error-hook): New variable (display-game-loop-error): New procedure. (start-game-loop): Add error handling.
* Ensure that agenda scheduling procedures return no value.David Thompson2014-07-051-1/+2
| | | | * sly/agenda.scm (%schedule): Return unspecified.
* Reduce allocation in transform*.David Thompson2014-07-051-11/+20
| | | | | * sly/transform.scm (transform*): Use a single array to accumulate result.
* Add copyright information for Jordan Russel.David Thompson2014-07-032-0/+3
| | | | | * AUTHORS: New file. * examples/2048/2048: Add copyright info for Jordan Russel.
* Remove global variables for controlling tick rate.David Thompson2014-07-031-57/+62
| | | | | | | | | * sly/game.scm (tick-interval, max-ticks-per-frame): Remove them. (draw, update, alpha, frame-sleep): Move within start-game-loop closure. (interval): New procedure. (start-game-loop): Add tick-rate, frame-rate, and max-ticks-per-frame keyword arguments.
* 2048: Fix board-win? and improve board-insert.Jordan Russell2014-07-031-12/+12
| | | | | | * examples/2048/2048 (board-win?): Check the board passed in, not a new one. (board-insert): Simplify. (replace-at): New procedure.