| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* Makefile.am (SOURCES): Add it.
* sly/mesh.scm: New file.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* sly/transition.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
| |
Massive find/replace job.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 2d/vector2.scm: Delete it.
* 2d/vector.scm: New file.
* Makefile.am (SOURCES): s/vector2/vector.
* 2d/font.scm:
* 2d/keyboard.scm:
* 2d/mouse.scm:
* 2d/rect.scm:
* 2d/shader.scm:
* 2d/sprite.scm:
* 2d/texture.scm:
* 2d/transform.scm:
* 2d/window.scm:
* examples/2048/2048:
* examples/animation.scm:
* examples/coroutine.scm:
* examples/font.scm:
* examples/particles.scm:
* examples/simple.scm:
* examples/tilemap.scm: Use vectors instead of defunct vector2.
|
|
|
|
|
|
| |
* Makefile.am (SOURCES): Add it.
* 2d/live-reload.scm: New module.
|
| |
|
|
|
|
|
| |
* 2d/mvars.scm: Delete it.
* Makefile.am (SOURCES): Remove '2d/mvars.scm'.
|