| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* sly/render/context.scm (with-temp-transform): Delete.
(render-context-transform, render-context-transform*!,
render-context-transform-identity!, render-context-push-transform!,
render-context-pop-transform!, copy-transform!): New procedures.
(with-transform-excursion): New syntax.
(render-context-reset!): Set top of matrix stack to identity matrix.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/render/context.scm (%set-render-context-blend-mode!,
%set-render-context-depth-test!?, %set-render-context-texture!,
%set-render-context-shader!, %set-render-context-mesh!): Delete.
(make-render-context): Create GL parameters.
(render-context-reset!): Reset GL parameters.
(define-context-setter): New syntax.
(set-render-context-blend-mode!, set-render-context-depth-test!?,
set-render-context-texture!, set-render-context-shader!,
set-render-context-mesh!): Define in terms of 'define-context-setter'.
|
|
|
|
| |
* sly/render/shader.scm (null-shader-program): New variable.
|
|
|
|
|
| |
* sly/render/texture.scm (apply-texture): Enable 2D textures before
binding texture.
|
|
|
|
| |
* sly/render/utils (apply-depth-test): New procedure.
|
|
|
|
|
| |
* sly/render/utils.scm (apply-blend-mode): Enable/disable blending when
necessary.
|
|
|
|
|
|
|
|
|
|
| |
* sly/render/context.scm (<gl-parameter>): New record type.
(%make-gl-parameter, make-gl-parameter, gl-parameter?,
gl-parameter-default, gl-parameter-bind, gl-parameter-ref,
%gl-parameter-set!, gl-parameter-set!, gl-parameter-reset!): New
procedures.
Fixup gl-parameter
|
|
|
|
| |
* sly/render/utils.scm (draw): Delete.
|
|
|
|
| |
* examples/mines/mines.scm: Miscellaneous clean up.
|
|
|
|
|
| |
* sly/render/font.scm (make-label): Remove 'shader' keyword argument.
* sly/render/sprite.scm (make-sprite): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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/signal.scm (signal-timer): New procedure.
* doc/api/signals.texi: Document it.
|
|
|
|
|
| |
* sly/render/mesh.scm (null-mesh): New variable.
* sly/render/context.scm (render-context-reset!): Reset to null-mesh.
|
|
|
|
|
| |
* sly/render/texture.scm (null-texture): New variable.
* sly/render/context.scm (render-context-reset!): Reset to null-texture.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/rener/mesh.scm (vertex-buffer-attribute-size): Reimplement.
(type-size): New procedure.
(with-vertex-buffer): Unbind buffer when done.
(init-vertex-buffer-data!): New procedure.
(make-vertex-buffer*): Remove.
(bytevector->vertex-buffer, vector->vertex-buffer): New procedures.
(make-vertex-buffer): Implement in terms of
'bytevector->vertex-buffer'.
(make-mesh): Change to accept pre-built vertex buffers.
(build-mesh, mesh-ref): New procedures.
(mesh-guadian): Destructure vertex buffer alist.
* sly/render/shape.scm (make-cube): Use 'build-mesh'.
* sly/render/sprite.scm (make-sprite): Likewise.
* sly/render/tile-map.scm (compile-tile-layer): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sly/render/mesh.scm (<mesh) [attr-size, length]: Remove fields.
[usage]: Add field.
(vertex-buffer-attr-size): Delete.
(vertex-buffer-attribute-size): New procedure.
(vertex-attrib-pointer): Use it.
(vertex-buffer-length): Reimplement.
(vertex-buffer-target, vertex-buffer-usage-gl, index-buffer?,
attribute-type): New procedures.
(bind-vertex-buffer): Use it.
(with-vertex-buffer): Don't unbind buffer (one less context change).
(make-vertex-buffer*): New procedure.
(make-vertex-buffer): Use it.
(make-mesh): Add index buffer to mesh VBO list.
|
|
|
|
| |
* sly/render/mesh.scm (make-vertex-buffer): Add 'stream?' argument.
|
|
|
|
| |
* sly/render/mesh.scm (<mesh>) [data]: New field.
|
|
|
|
|
|
|
|
| |
Fixes state pollution issues where GL objects remained bound after
rendering.
* sly/render/context.scm (with-render-context): Call
'render-context-reset!' after evaluating the body.
|
|
|
|
| |
* sly/render/tileset.scm (tileset-invert-index): New procedure.
|
|
|
|
|
|
|
| |
* sly/render/tileset.scm (<tileset>) [rows, columns]: New fields.
(tileset-rows, tileset-columns): New procedures.
(split-texture): Return rows and columns.
(make-tileset, load-tileset): Use new constructor.
|
| |
|
|
|
|
| |
* examples/tilemap.scm: Update it.
|
|
|
|
|
| |
* sly/render/tile-map.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
| |
* sly/render/texture.scm (texture-parent): Export it.
|
|
|
|
|
| |
* sly/utils.scm (vlist-ref*, list->vlist*): New procedures.
* doc/api/utils.texi: Document them.
|
|
|
|
| |
* sly/render/tileset.scm: Import (ice-9 format).
|
|
|
|
|
|
|
| |
* sly/render/tileset.scm: Use a much more brief, readable record type
printer that does not print out all of the tiles, and thus repeating
the parent texture n times, which is problematic for large values of
n.
|
|
|
|
|
|
| |
* sly/render/tileset.scm (tileset-texture): New procedure.
(%make-tileset): New 'texture' argument.
(make-tileset, load-tileset): Use new constructor.
|
|
|
|
| |
* TODO.org ("Bitmap font rendering from tileset"): New item.
|
|
|
|
| |
* TODO.org: Mark one sub-item as done. Add some new items.
|
|
|
|
| |
* doc/api/init.texi: Add docs!
|
|
|
|
| |
* sly/window.scm (close-window): Remove mention of audio in docstring.
|
|
|
|
| |
* doc/api/input.texi: s/Signal/Scheme Signal/
|
|
|
|
|
| |
* sly/live-reload.scm (live-reload-interval): Delete.
(live-reload): Add 'polling-interval' argument.
|
|
|
|
| |
* sly/utils.scm (any-equal?, logand?): Delete.
|
|
|
|
| |
* doc/api/utils.texi: Document the REPL, live-reload, and utils modules.
|
|
|
|
|
| |
* sly/render/tileset.scm (split-texture): Swap rows and columns
calculation.
|
|
|
|
|
| |
* sly/render/tileset.scm (split-texture): Use texture height in columns
calculation, not width.
|
|
|
|
| |
* doc/api/input.texi: Add import snippets.
|
|
|
|
|
| |
* doc/api/input.texi: Add docs for keyboard, mouse, and joystick input
modules.
|
|
|
|
|
| |
* sly/render/framebuffer.scm (with-framebuffer): Bind framebuffer to a
syntactic variable that doesn't clash with the 'version-3-0' macro.
|
|
|
|
|
|
|
|
| |
Also add myself to AUTHORS! ;)
* AUTHORS: Add me.
* examples/mines/mines.scm (board-reveal): Don't reveal tiles in 'game
over' state.
|
|
|
|
| |
* configure.ac: Do not generate sly/config.scm. Let the Makefile do it.
|
|
|
|
|
| |
* sly/math/rect.scm (rect-position, rect-inflate, rect-union, rect-clip,
rect-contains?): Update docstrings.
|
|
|
|
| |
* sly/math/transform (transform+, transform*): Update docstrings.
|
|
|
|
| |
* sly/math.scm (make-lerp): Update docstring.
|
|
|
|
|
|
|
| |
* sly/agenda.scm (tick-agenda!, clear-agenda!): Rename.
(agenda-tick!, agenda-clear!): New procedures.
* sly/game.scm (start-game-loop): Use agenda-tick!.
* sly/repl.scm (start-sly-repl): Likewise.
|