| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* sly/render/sprite-batch.scm (sprite-batch-add!): Take better advantage
of local variables to reduce lookups, add a comment, and reformat.
|
| |
|
|
|
|
|
|
|
| |
* sly/render/sprite-batch.scm (<sprite-batch>): Replace 'vao' field with
'mesh' field.
(make-sprite-batch): Use 'make-mesh'.
(sprite-batch-flush!): Use 'set-graphics-mesh!'
|
|
|
|
|
| |
* sly/render/mesh.scm (vertex-buffer-element-length): Use the cached
length of the buffer bytevector.
|
|
|
|
|
| |
* sly/render/texture.scm (texture-vertex, pack-texture-vertices,
draw-texture-vertices): Delete.
|
| |
|
|
|
|
|
| |
This prevents some duplicated compilation when modules include other Sly
modules that haven't been compiled yet.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than each foreign resource type creating its own guardian, let's
just use one instead so that there is only a single guardian to talk to
each frame.
* sly/guardian.scm: New file.
* Makefile.am (SOURCES): Add it.
* sly/game.scm (run-game-loop): Start guardian worker.
* sly/render/mesh.scm (mesh-guardian): Delete.
(free-mesh): New procedure.
(make-mesh): Guard newly created meshes.
* sly/render/shader.scm (shader-stage-guardian): Delete.
(free-shader-stage): New procedure.
(make-shader-stage): Guard newly created shader stages.
(shader-guardian): Delete.
(free-shader): New procedure.
(make-shader): Guard newly created shaders.
* sly/render/texture.scm (texture-guardian): Delete.
(free-texture): New procedure.
(make-texture): Guard newly created textures.
|
|
|
|
| |
* 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!
|