| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
* examples/sprite-batch.scm: New file.
|
|
|
|
| |
* sly.scm (sly-init): Delete.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
These modules haven't been used in a long time, but were never deleted.
Oops!
* sly/render/model.scm: Delete.
* sly/render/scene.scm: Delete.
* Makefile.am (SOURCES): Remove them.
|
|
|
|
|
|
|
| |
* sly/config.scm.in (%libgslcblas): Delete.
* sly/wrappers/gsl.scm: Delete.
* Makefile.am (WRAPPER_SOURCES): Remove it.
* configure.ac: Remove GSL configuration.
|
|
|
|
|
|
|
|
| |
No more GSL dependency! Thanks Andy Wingo, for unboxed floating point
operations!
* sly/math/transform.scm (matrix-ref, matrix-set!): Allow inlining.
(transform*!): Reimplement in pure Scheme, no FFI call to GSL.
|
| |
|
| |
|
| |
|
|
|
|
| |
* sly/signal.scm (signal-map-maybe): New procedure.
|
|
|
|
| |
* sly/signal.scm (signal-if): New syntax.
|
|
|
|
| |
* sly/game.scm (on-start): New procedure.
|
|
|
|
|
| |
* sly/render/framebuffer.scm (null-framebuffer): Set texture to the null
texture, rather than #f.
|
|
|
|
| |
* sly/render/framebuffer.scm (framebuffer-null?): New procedure.
|
|
|
|
| |
* sly/audio.scm (load-sample): s/filename/file/
|
| |
|
|
|
|
|
| |
* sly/window.scm (open-window): Initialize SDL2 and the window before
modifying it.
|
| |
|
| |
|
|
|
|
| |
* sly/render/font.scm (enable-fonts): Add docstring.
|
|
|
|
|
| |
* sly/live-reload (with-live-reload): Ignore poll when game has not yet
started.
|
|
|
|
|
| |
* sly/game.scm (game-start-hook, game-started?): New variables.
(run-game-loop): Run game-start-hook before loop starts.
|
|
|
|
| |
* sly/render/sprite.scm (null-sprite): New variable.
|
|
|
|
| |
* sly/signal.scm (add-signal-hook!): Apply 'proc' immediately.
|
|
|
|
|
| |
* sly/window.scm (init-window): Set OpenGL version to 3.2, explicitly
set double buffering and vsync, and configure depth buffer size.
|
|
|
|
|
|
|
| |
Rather than, you know, ignoring it completely.
* sly/window.scm (open-window): Set the window to fullscreen mode, if
requested.
|
|
|
|
| |
* sly/audio.scm (play-music): Add #:loop? keyword argument.
|
|
|
|
|
|
|
|
| |
In practice this wasn't very noticeable, but it is a bad idea to lock
input event processing with the frame rate.
* sly/game.scm (run-game-loop): Process input events before each call to
'agenda-tick!'.
|
|
|
|
|
| |
* sly/render/font.scm (render-text): Add 'blended?' argument.
(make-label): Add #:blended? keyword argument.
|
|
|
|
|
|
| |
* sly/record.scm: Delete.
* sly/records.scm: New file.
* Makefile.am (SOURCES): Remove deleted file. Add new file.
|
|
|
|
|
|
|
|
|
| |
Necessary for interpolating moving objects to avoid temporal aliasing.
* sly/render.scm (<graphics>)[alpha]: New field.
(graphics-alpha, set-graphics-alpha!): New procedure.
* sly/game.scm (run-game-loop): Set the frame's alpha value before each
render call.
|
| |
|
|
|
|
|
|
| |
* sly/render/sprite-batch.scm (sprite-batch-flush): Don't worry about
VAOs here.
(with-sprite-batch): Unbind VAO before mapping vertex buffers.
|
|
|
|
| |
* sly/render.scm (render/signal): New syntax.
|
|
|
|
|
|
|
|
|
| |
* sly/signal.scm (<signal>)[hook]: New field.
(signal-hook): New selector.
(add-signal-hook, remove-signal-hook, clear-signal-hook!): New
procedures.
(%make-signal): Create hook for the signal.
(signal-propagate!): Run hook.
|
| |
|
|
|
|
|
|
|
| |
Finally, we can have decent sprite rendering performance!
* sly/render/sprite-batch.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/render/mesh.scm (<vertex-buffer>)[length]: New field.
(vertex-buffer-length): Now return the length in bytes.
(vertex-buffer-element-length, make-streaming-vertex-buffer)
(map-vertex-buffer!, unmap-vertex-buffer!): New procedures.
(init-vertex-buffer-data!): Delete.
(bytevector->vertex-buffer): Move body of 'init-vertex-buffer-data!'
within.
(make-mesh): Use 'vertex-buffer-element-length'.
|
| |
|
|
|
|
|
| |
* sly/math/rect.scm (%rect-inflate): Subtract, not add, the half width.
D'oh!
|
| |
|
| |
|
|
|
|
|
|
| |
This commit is massive and crazy and I'm not going to do the usual GNU
ChangeLog thing because it's just too much. Let's just be happy that
the port is completed!
|
| |
|
| |
|
|
|
|
|
|
|
| |
* sly/live-reload.scm (watch-files): New procedure.
(live-reload): Rename to...
(with-live-reload): This.
* doc/api/utils.tex ("Live Reloading"): Update docs.
|
|
|
|
|
| |
* sly/signal.scm (signal-call): New procedure.
* doc/api/signals.texi: Add docs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/render.scm
* sly/render/model.scm (null-model): Use 'null-shader'.
* sly/render/shader.scm (<shader-stage>): Rename to <shader>.
(<shader-program>): Rename to <shader>.
(vertex-shader?, fragment-shader?): Rename to...
(vertex-shader-stage?, fragment-shader-stage?): ...these.
(shader-stage-guardian): New variable.
(%shader-compiled?, shader-compiled?): Rename to...
(%shader-stage-compiled?, shader-stage-compiled?): ...these.
(display-compilation-error): Change 'shader' to 'stage'.
(compile-shader, set-shader-source, make-shader, make-vertex-shader)
(make-fragment-shader, load-shader, load-vertex-shader,
load-fragment-shader): Rename to...
(compile-shader-stage, set-shader-stage-source, make-shader-stage)
(make-vertex-shader-stage, make-fragment-shader-stage)
(load-shader-stage, load-vertex-shader-stage)
(load-fragment-shader-stage): ...these.
(shader-program-uniform-location, shader-program-linked?)
(make-shader-program, load-shader-program, null-shader-program)
(apply-shader-program): Rename to...
(shader-uniform-location, shader-linked?, make-shader, load-shader)
(null-shader, apply-shader): ...these.
(with-shader): Delete.
(uniform-set!): Change 'shader-program' argument to 'shader'.
(%default-shader): Use 'load-shader'.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attributes are fixed so the field is useless.
* sly/render/shader.scm (shader-program-attribute-location): Delete.
(<shader-program>): Delete 'attributes' field.
(make-shader-program): Remove 'attributes' argument.
(load-shader-program): Likewise. Change arguments from positional to
keyword.
(%default-shader): New variable.
(load-default-shader): Reimplement in terms of promises.
|