| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* sly/record.scm: Delete.
* sly/records.scm: New file.
* Makefile.am (SOURCES): Remove deleted file. Add new file.
|
|
|
|
|
|
|
| |
Finally, we can have decent sprite rendering performance!
* sly/render/sprite-batch.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
|
| |
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!
|
|
|
|
| |
* Makefile.am (godir): Set to the same as moddir.
|
|
|
|
|
|
|
|
|
|
|
| |
Warning: This is a huge commit.
I completely gutted the old scene graph and replaced it with a somewhat
monadic rendering combinator module instead. The interface remains
purely functional, but replaces the <model> data type with procedures in
the rendering monad instead. This opens the door for
rendering *anything*, not just meshes. Now I can implement particle
systems and other non-static things.
|
|
|
|
|
| |
* sly/record.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation is a bit cleaner, and it's a stepping stone towards
render combinators.
* sly/render/context.scm: Delete.
* sly/render.scm: New file.
* Makefile.am (SOURCES): Add it. Remove context.scm.
* sly/game.scm (run-game-loop): Use new <graphics> type.
* sly/render/model.scm (draw-model): Likewise.
* sly/render/scene.scm (draw-scene): Likewise.
* examples/2048/2048.scm: Remove (sly render context) import.
|
|
|
|
|
|
|
|
|
| |
* sly.scm: New file.
* Makefile.am (SOURCES): Add it.
* sandbox.in: Use new module.
* examples/common.scm: Likewise.
* examples/font.scm: Likewise.
* README ("Example"): Update example.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/render/scene.scm: New file.
* Makefile.am (SOURCES): Add it.
* sly/render/camera.scm (apply-viewport): Do not clear viewport.
(clear-viewport): New procedure.
* sly/render/model.scm (model-sub-scene): New accessor.
(make-model): Add #:sub-scene keyword argument.
(draw-sub-scene): New variable.
(draw-model): Remove rendering initialization code. Render sub-scenes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/render/model.scm (<model>): Add 'transform' and 'children' fields.
(model-transform, model-children): New accessors.
(make-model): Add 'transform' and 'children' keyword arguments.
(set-transform-identity!): New procedure.
(draw-model): Recursively draw model and all children.
(model-paint, model-blend): Renamed.
(paint, blend, group, group*, move, place): New procedures.
* sly/render/group.scm: Delete.
* Makefile.am (SOURCES): Remove it.
* examples/2048/2048.scm: Update example.
* examples/animation.scm: Likewise.
* examples/font.scm: Likewise.
* examples/joystick.scm: Likewise.
* examples/mines/mines.scm: Likewise.
* examples/simple.scm: Likewise.
* examples/tilemap.scm: Likewise.
* README.org (Example): Update sample code.
|
|
|
|
|
| |
* sly/render/tile-map.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
|
| |
* sly/transition.scm: Delete.
* sly/math/tween.scm: New file.
* Makefile.am (SOURCES): Remove deleted file. Add new one.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/render/vertex-array.scm: Delete.
* Makefile.am (SOURCES): Delete it.
* sly/render/mesh.scm: Move vertex-array code and rename to mesh.
* sly/render/model.scm (draw-model): s/vertex-array/mesh/
* sly/render/context.scm: Likewise.
* sly/render/shape.scm (make-cube): Return a model object.
* sly/render/font.scm (make-label): Likewise.
* sly/render/sprite.scm (make-sprite): Likewise. Remove 'color'
parameter.
(load-sprite): Likewise.
|
|
|
|
|
| |
* sly/render/renderer.scm: Delete.
* Makefile.am (SOURCES): Delete it.
|
|
|
|
|
| |
* sly/render/scene.scm: Delete.
* Makefile.am (SOURCES): Delete it.
|
|
|
|
|
|
| |
* sly/render/model.scm: New file.
* sly/render/group.scm: New file.
* Makefile.am (SOURCES): Add them.
|
|
|
|
|
| |
* sly/animation.scm: Delete.
* Makefile.am (SOURCES): Remove it.
|
|
|
|
|
|
|
|
| |
* sly/font.scm: Delete.
* sly/render/font.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* examples/font.scm: Use (sly render font).
* examples/joystick.scm: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/color.scm: Delete.
* sly/render/color.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* sly/font.scm: Use (sly render color) module.
* sly/render/camera.scm: Likewise.
* sly/render/mesh.scm: Likewise.
* sly/render/shader.scm: Likewise.
* sly/render/sprite.scm: Likewise.
* sly/render/texture.scm: Likewise.
* sly/render/vertex-array.scm: Likewise.
* sly/transition.scm: Likewise.
* examples/font.scm: Likewise.
* examples/simple.scm: Likewise.
* examples/tilemap.scm: Likewise.
* examples/transition.scm: Likewise.
|
|
|
|
|
|
|
| |
* sly/joystick.scm: Delete.
* sly/input/joystick.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* examples/joystick.scm: Use (sly input joystick) module.
|
|
|
|
|
|
|
| |
* sly/mouse.scm: Delete.
* sly/input/mouse.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* examples/font.scm: Use (sly input mouse).
|
|
|
|
|
|
|
|
| |
* sly/keyboard.scm: Delete.
* sly/input/keyboard.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old file.
* examples/common.scm: Use (sly input keyboard).
* examples/tilemap.scm: Likewise.
|
|
|
|
|
|
|
|
| |
* sly/rect.scm: Delete.
* sly/math/rect.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* sly/render/camera.scm: Use (sly math rect) module.
* examples/simple.scm: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/transform.scm: Delete.
* sly/render/transform.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* sly/render/camera.scm: Use (sly math transform).
* sly/render/mesh.scm: Likewise.
* sly/render/renderer.scm: Likewise.
* sly/render/scene.scm: Likewise.
* sly/render/shader.scm: Likewise.
* sly/window.scm: Likewise.
* examples/simple.scm: Likewise.
|
|
|
|
|
|
|
|
| |
* sly/quaternion.scm: Delete.
* sly/math/quaternion.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* sly/transform.scm: Use (sly math quaternion).
* sly/transition.scm: Likewise.
|
|
|
|
|
|
|
|
| |
* sly/scene.scm: Delete.
* sly/render/scene.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* examples/simple.scm: Use (sly render scene).
* examples/tilemap.scm: Likewise.
|
|
|
|
|
|
|
|
| |
* sly/tileset.scm: Delete.
* sly/render/tileset.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* examples/animation.scm: Use (sly render tileset).
* examples/tileset.scm: Likewise.
|
|
|
|
|
|
| |
* sly/shape.scm: Delete.
* sly/render/shape.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
|
|
|
|
|
|
|
|
|
| |
* sly/mesh.scm: Delete.
* sly/render/mesh.scm: New file.
* Makefile.am (SOURCES): Add new file. Delete old one.
* sly/font.scm: Use (sly render mesh).
* sly/render/sprite.scm: Likewise.
* sly/shape.scm: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/shader.scm: Delete.
* sly/render/shader.scm: New file.
* Makefile.am (SOURCES): Add new file and delete old one.
* sly/font.scm: Use (sly render shader).
* sly/mesh.scm: Likewise.
* sly/render/context.scm: Likewise.
* sly/render/renderer.scm: Likewise.
* sly/render/sprite.scm: Likewise.
* sly/render/vertex-array.scm: Likewise.
* sly/shape.scm: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/sprite.scm: Delete.
* sly/render/sprite.scm: New file.
* Makefile.am (SOURCES): Add new file and delete old one.
* sly/font.scm: Use (sly render sprite).
* examples/animation.scm: Likewise.
* examples/common.scm: Likewise.
* examples/coroutine.scm: Likewise.
* examples/joystick.scm: Likewise.
* examples/particles.scm: Likewise.
* examples/simple.scm: Likewise.
* examples/tilemap.scm: Likewise.
* examples/transition.scm: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/texture.scm: Delete.
* sly/render/texture.scm: New file.
* Makefile.am (SOURCES): Add it.
* sly/animation.scm: Use (sly render texture).
* sly/font.scm: Likewise.
* sly/mesh.scm: Likewise.
* sly/render/context.scm: Likewise.
* sly/render/framebuffer.scm: Likewise.
* sly/render/renderer.scm: Likewise.
* sly/shape.scm: Likewise.
* sly/sprite.scm: Likewise.
* sly/tileset.scm: Likewise.
* examples/coroutine.scm: Likewise.
* examples/joystick.scm: Likewise.
* examples/particles.scm: Likewise.
* examples/tilemap.scm: Likewise.
* examples/transition.scm: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/helpers.scm: Delete.
* sly/utils.scm: New file.
* Makefile.am (SOURCES): Remove old file. Add new one.
* sly/render/camera.scm: s/helpers/utils/
* sly/scene.scm: Likewise.
* sly/shader.scm: Likewise.
* sly/sprite.scm: Likewise.
* sly/texture.scm: Likewise.
* sly/transform.scm: Likewise.
* examples/tilemap.scm: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/render/context.scm: New file.
* Makefile.am (SOURCES): Add it.
* sly/render/renderer.scm (with-texture-maybe): Delete.
(apply-render-op): Use render context.
(<renderer>) [context]: New field.
(%make-renderer): New syntax.
(make-renderer): Was syntax, now a procedure.
(render): Use render context.
* sly/render/vertex-array.scm (apply-vertex-array): New procedure.
(with-vertex-array): Use it.
* sly/shader.scm (apply-shader-program): New procedure.
(with-shader-program): Use it.
* sly/texture.scm (apply-texture): New procedure.
(with-texture): Use it.
|
|
|
|
|
| |
* Makefile.am (WRAPPER_SOURCES): Add it.
* sly/wrappers/gsl.scm: New file.
|
|
|
|
|
| |
* sly/render/framebuffer.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
|
|
| |
* Makefile.am (SOURCES): Update camera module file name.
* sly/camera.scm: Delete.
* sly/render/renderer.scm: Import new camera module.
* sly/render/camera.scm: New file.
|
|
|
|
|
| |
* sly/render/utils.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
| |
* sly/render/renderer.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
| |
* sly/render/vertex-array.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .gitignore: Ignore '*.log' files.
* sly/vector.scm: Delete file.
* sly/math/vector.scm: New file.
* tests/math/vector.scm: New file.
* Makefile.am: Add new file and remove the old one.
* sly/font.scm: Remove import.
* sly/game.scm: Change import.
* sly/joystick.scm (make-directional-signal-raw, make-directional): Use
'vector2'.
* sly/keyboard.scm (key-directions): Use 'vector2'.
* sly/mesh.scm (vertices-bytevector): Use new vector procedures.
* sly/mouse.scm (mouse-position): Use 'vector2'.
* sly/quaternion.scm (axis-angle->quaternion, quaternion->vector,
vector->quaternion): Use new vector procedures.
* sly/rect.scm (rect-position, rect-top-right, rect-bottom-left,
rect-bottom-right, rect-center, rect-size): Use 'vector2'.
* sly/scene.scm (make-scene-node): Use 'vector2'.
* sly/shader.scm: Change import.
* sly/shape.scm (make-cube): Use new vector procedures.
* sly/sprite.scm (make-sprite): Use new vector procedures.
* sly/texture.scm (anchor-texture): Use 'vector2'.
* sly/transform.scm (transform-vector2): Use 'vector2'.
(translate, scale): Use new vector procedures.
* sly/transition.scm (guess-interpolator): Use new vector procedures.
* sly/window.scm (make-window, window-size, open-window): Use 'vector2'.
|
|
|
|
|
| |
* Makefile.am (SOURCES): Add 'sly/quaternion.scm'.
* sly/quaternion.scm: New file.
|
|
|
|
|
| |
* Makefile.am (SOURCES): Add it.
* sly/shape.scm: New file.
|
|
|
|
|
| |
* Makefile.am (SOURCES): Add it.
* sly/scene.scm: New file.
|
|
|
|
|
| |
* Makefile.am (SOURCES): Add it.
* sly/camera.scm: New file.
|