chickadee.git
2 years agorender: texture: Fix bug in texture region coordinate calculation.
David Thompson [Wed, 18 Oct 2017 03:05:58 +0000 (23:05 -0400)] 
render: texture: Fix bug in texture region coordinate calculation.

* chickadee/render/texture.scm (make-texture-region): Fix broken
  texcoord width/height calculation.

2 years agoThird time's the charm for a bug fix?
David Thompson [Wed, 18 Oct 2017 02:42:26 +0000 (22:42 -0400)] 
Third time's the charm for a bug fix?

2 years agoFix build bug for real this time.
David Thompson [Wed, 18 Oct 2017 02:34:33 +0000 (22:34 -0400)] 
Fix build bug for real this time.

2 years agorender: texture: Fix strange parallel compilation issue.
David Thompson [Wed, 18 Oct 2017 02:14:14 +0000 (22:14 -0400)] 
render: texture: Fix strange parallel compilation issue.

I have no damn clue why #:select causes this problem, but simply not
using it fixes things!

2 years agoAdd generalized A* path finding algorithm.
David Thompson [Wed, 18 Oct 2017 02:05:47 +0000 (22:05 -0400)] 
Add generalized A* path finding algorithm.

* chickadee/path-finding.scm: New file.
* Makefile.am (SOURCES): Add it.

2 years agorender: sprite: Add support for drawing texture regions.
David Thompson [Wed, 18 Oct 2017 01:44:31 +0000 (21:44 -0400)] 
render: sprite: Add support for drawing texture regions.

* chickadee/render/sprite.scm (%default-texture-region): Rename to...
(%default-texcoords): ...this.
(draw-sprite): Replace #:texture-region arg with #:texcoords.  Add
support for texture regions.  Update docstring.
(draw-nine-patch): Add support for texture regions.
* chickadee/render/font.scm (draw-text): Change #:texture-region to
 #:texcoords in draw-sprite call.

2 years agorender: texture: Use texture regions in texture atlas.
David Thompson [Wed, 18 Oct 2017 01:41:40 +0000 (21:41 -0400)] 
render: texture: Use texture regions in texture atlas.

* chickadee/render/texture.scm (list->texture-atlas): Create texture
regions.  Switch from rects to 4-tuples.
(texture-atlas, texture-atlas-ref): Update docstring.
(split-texture): Create texture regions.

2 years agorender: texture: Add private gl-size field.
David Thompson [Wed, 18 Oct 2017 01:39:57 +0000 (21:39 -0400)] 
render: texture: Add private gl-size field.

* chickadee/render/texture.scm (<texture>)[gl-size]: New field.
(null-texture, make-texture): Add gl-size argument.

2 years agorender: texture: Add texture region data type.
David Thompson [Wed, 18 Oct 2017 01:38:06 +0000 (21:38 -0400)] 
render: texture: Add texture region data type.

* chickadee/render/texture.scm (<texture-region>): New record type.

2 years agorender: sprite: Fix sprite batch resizing.
David Thompson [Sun, 15 Oct 2017 02:13:22 +0000 (22:13 -0400)] 
render: sprite: Fix sprite batch resizing.

* chickadee/render/sprite.scm (double-sprite-batch-size!): Get
  reference to bytevectors before unmapping old buffers.

2 years agoscripting: Cancelling a script cancels all nested scripts.
David Thompson [Sun, 15 Oct 2017 02:01:01 +0000 (22:01 -0400)] 
scripting: Cancelling a script cancels all nested scripts.

* chickadee/scripting/script.scm (<script>)[children]: New field.
(current-script): New variable.
(cancel-script): Cancel all child scripts, too.
(spawn-script): Register new script as a child of the current script.

2 years agoscripting: Fix bugs in script-running? and script-complete?
David Thompson [Sun, 15 Oct 2017 01:46:45 +0000 (21:46 -0400)] 
scripting: Fix bugs in script-running? and script-complete?

* chickadee/scripting/script.scm (script-running?, script-complete?):
  Test for the correct status instead of 'cancelled'.

2 years agoscripting: Rename coroutine to script.
David Thompson [Sun, 15 Oct 2017 01:42:15 +0000 (21:42 -0400)] 
scripting: Rename coroutine to script.

* chickadee/scripting/coroutine.scm: Move to...
* chickadee/scripting/script.scm: ...here, and s/coroutine/script.
* chickadee/scripting/channel.scm (channel-get, channel-put): Update
  docstring to say "script" instead of "coroutine".
* chickadee/scripting.scm: s/coroutine/script/
* Makefile.am (SOURCES): Replace coroutine.scm with script.scm.
* doc/api.texi: s/coroutine/script/

2 years agoscripting: Rename wait to sleep.
David Thompson [Sun, 15 Oct 2017 01:27:47 +0000 (21:27 -0400)] 
scripting: Rename wait to sleep.

* chickadee/scripting.scm (wait): Rename to...
(sleep): ...this.

2 years agoscripting: Fix bug where dynamic state wasn't being respected.
David Thompson [Sat, 14 Oct 2017 17:48:18 +0000 (13:48 -0400)] 
scripting: Fix bug where dynamic state wasn't being respected.

* chickadee/scripting/coroutine.scm (spawn-coroutine): Save dynamic
  state during coroutine execution.
* chickadee/scripting.scm (wait): Schedule continuation in the
  coroutine's current agenda.

2 years agomath: vector: Fix a couple docstrings.
David Thompson [Sat, 14 Oct 2017 17:31:00 +0000 (13:31 -0400)] 
math: vector: Fix a couple docstrings.

2 years agoguix: Update to latest guile-sdl2 commit. wip-gltf
David Thompson [Thu, 14 Sep 2017 01:03:01 +0000 (21:03 -0400)] 
guix: Update to latest guile-sdl2 commit.

2 years agoAdd beginnings of glTF parser and loader.
David Thompson [Thu, 14 Sep 2017 01:42:21 +0000 (21:42 -0400)] 
Add beginnings of glTF parser and loader.

* chickadee/render/asset.scm: New file.
* chickadee/render/scene.scm: New file.
* data/shaders/pbr/pbr-frag.glsl: New file.
* data/shaders/pbr/pbr-vert.glsl: New file.

2 years agoAdd JSON parser.
David Thompson [Thu, 14 Sep 2017 01:41:26 +0000 (21:41 -0400)] 
Add JSON parser.

2 years agorender: shader: Export more procedures.
David Thompson [Thu, 14 Sep 2017 01:29:11 +0000 (21:29 -0400)] 
render: shader: Export more procedures.

* chickadee/render/shader.scm: Export shader-attributes, attribute?,
  attribute-name, attribute-location, and attribute-type.

2 years agoMajor rewrite of vertex buffer and vertex array abstractions.
David Thompson [Sun, 13 Aug 2017 17:23:01 +0000 (13:23 -0400)] 
Major rewrite of vertex buffer and vertex array abstractions.

2 years agogl: Export gl-buffer-sub-data.
David Thompson [Tue, 8 Aug 2017 22:21:30 +0000 (18:21 -0400)] 
gl: Export gl-buffer-sub-data.

2 years agoFix datadir.
David Thompson [Tue, 8 Aug 2017 22:21:08 +0000 (18:21 -0400)] 
Fix datadir.

2 years agotexture: Export texture-atlas-texture.
David Thompson [Sun, 13 Aug 2017 17:14:38 +0000 (13:14 -0400)] 
texture: Export texture-atlas-texture.

2 years agomath: Add cotangent function.
David Thompson [Sun, 13 Aug 2017 17:32:18 +0000 (13:32 -0400)] 
math: Add cotangent function.

* chickadee/math.scm (cotan): New procedure.

2 years agomath: vector: Add custom record type printers for vectors.
David Thompson [Tue, 15 Aug 2017 14:21:39 +0000 (10:21 -0400)] 
math: vector: Add custom record type printers for vectors.

* chickadee/math/vector.scm (display-vec2, display-vec3): New
  procedures.

2 years agomath: matrix: Fix docstring.
David Thompson [Sun, 13 Aug 2017 17:56:03 +0000 (13:56 -0400)] 
math: matrix: Fix docstring.

* chickadee/math/matrix.scm (orthographic-projection): s/transform/matrix/

2 years agomath: matrix: Add perspective-projection function.
David Thompson [Sun, 13 Aug 2017 17:55:21 +0000 (13:55 -0400)] 
math: matrix: Add perspective-projection function.

* chickadee/math/matrix.scm (perspective-projection): New procedure.

2 years agomath: matrix: Add custom record type printer.
David Thompson [Sun, 13 Aug 2017 17:54:17 +0000 (13:54 -0400)] 
math: matrix: Add custom record type printer.

* chickadee/math/matrix.scm (display-matrix4): New procedure.

2 years agomath: vector: Add 3-dimensional vector type.
David Thompson [Tue, 8 Aug 2017 12:21:36 +0000 (08:21 -0400)] 
math: vector: Add 3-dimensional vector type.

2 years agomath: Add quaternion module.
David Thompson [Tue, 8 Aug 2017 12:21:13 +0000 (08:21 -0400)] 
math: Add quaternion module.

2 years agoMove color module into render namespace.
David Thompson [Tue, 8 Aug 2017 11:47:49 +0000 (07:47 -0400)] 
Move color module into render namespace.

3 years agobuffer: Add docstrings to procedures.
David Thompson [Thu, 4 May 2017 01:59:00 +0000 (21:59 -0400)] 
buffer: Add docstrings to procedures.

* chickadee/buffer.scm: Add docstrings.

3 years agodoc: Remove redundant "Scheme Procedure", etc. things.
David Thompson [Wed, 3 May 2017 02:42:58 +0000 (22:42 -0400)] 
doc: Remove redundant "Scheme Procedure", etc. things.

Everything is Scheme here, no need to say so over and over!

* doc/api.texi: Remove "Scheme " from the defvr and deffn commands.

3 years agoAdd buffer module.
David Thompson [Wed, 3 May 2017 02:38:25 +0000 (22:38 -0400)] 
Add buffer module.

* chickadee/buffer.scm: New file.
* Makefile.am (SOURCES): Add it.
* .dir-locals.el: Add indent rules for with-buffer and
with-current-buffer.
* examples/buffer.scm: New file.
* doc/api.texi (Buffers): Add docs.

3 years agoscripting: Add a tweening procedure.
David Thompson [Fri, 28 Apr 2017 02:47:46 +0000 (22:47 -0400)] 
scripting: Add a tweening procedure.

* chickadee/scripting.scm (tween): Reimplement procedure.
* chickadee/math/easings.scm: New file.
* Makefile.am (SOURCES): Add it.
* doc/api.text (Easings, Tweening): New subsections.

3 years agoscripting: agenda: Add 'every' scheduling option.
David Thompson [Fri, 28 Apr 2017 02:26:06 +0000 (22:26 -0400)] 
scripting: agenda: Add 'every' scheduling option.

* chickadee/scripting/agenda.scm (schedule-every): New procedure.
(every): New syntax.
* doc/api.texi (Agendas): Document it.

3 years agomath: Add lerp procedure.
David Thompson [Fri, 28 Apr 2017 02:17:50 +0000 (22:17 -0400)] 
math: Add lerp procedure.

* chickadee/math.scm (lerp): New procedure.

3 years agoFix unbounded heap growth in game loop.
David Thompson [Tue, 25 Apr 2017 22:25:11 +0000 (18:25 -0400)] 
Fix unbounded heap growth in game loop.

* chickadee.scm (run-game): Make sure that the recursive calls to the
update loop are in tail position.

3 years agomath: Add pi constant.
David Thompson [Thu, 6 Apr 2017 14:29:32 +0000 (10:29 -0400)] 
math: Add pi constant.

* chickadee/math.scm (pi): New variable.
* doc/api.texi (Math): Add "Basics" subsection.

3 years agoAdd simple scripting system.
David Thompson [Sat, 1 Apr 2017 16:02:17 +0000 (12:02 -0400)] 
Add simple scripting system.

* chickadee/scripting.scm: New file.
* chickadee/scripting/agenda.scm: New file.
* chickadee/scripting/coroutine.scm: New file.
* Makefile.am (SOURCES): Add them.

3 years agoAdd queue module.
David Thompson [Tue, 4 Apr 2017 01:51:18 +0000 (21:51 -0400)] 
Add queue module.

* chickadee/queue.scm: New file.
* Makefile.am (SOURCES): Add it.

3 years agoAdd array list module.
David Thompson [Sat, 1 Apr 2017 18:28:29 +0000 (14:28 -0400)] 
Add array list module.

* chickadee/array-list.scm: New file.
* Makefile.am (SOURCES): Add it.

3 years agoAdd binary heap implementation.
David Thompson [Sat, 1 Apr 2017 16:01:36 +0000 (12:01 -0400)] 
Add binary heap implementation.

* chickadee/heap.scm: New file.
* Makefile.am (SOURCES): Add it.

3 years agoinput: Add keyboard module.
David Thompson [Sat, 1 Apr 2017 16:00:44 +0000 (12:00 -0400)] 
input: Add keyboard module.

* chickadee/input/keyboard.scm: New file.
* Makefile.am (SOURCES): Add it.
* doc/api.texi (Keyboard): New section.

3 years agoguix: Update to latest guile-sdl2 Git snapshot.
David Thompson [Sat, 1 Apr 2017 15:54:19 +0000 (11:54 -0400)] 
guix: Update to latest guile-sdl2 Git snapshot.

3 years agoguix: Use latest Git version of guile-sdl2.
David Thompson [Fri, 31 Mar 2017 19:20:59 +0000 (15:20 -0400)] 
guix: Use latest Git version of guile-sdl2.

3 years agorender: texture: Support using 32 texture units.
David Thompson [Fri, 31 Mar 2017 19:14:30 +0000 (15:14 -0400)] 
render: texture: Support using 32 texture units.

* chickadee/render/texture.scm (make-apply-texture, texture-ref,
texture-set!): New procedures.
(*texture-states*): New variable.
(apply-texture, *texture-state*): Delete.
(make-texture): Use 'vector-set!'
* chickadee/render/shader.scm: Export 'uniform-type'.
(default-uniform-value): Remove 'sampler-2d' case.
(extract-uniforms): Handle sampler-2d uniforms specially.
* chickadee/render.scm (current-texture): Add 'i' argument.
(with-texture): Add 'n' argument.
(gpu-apply*): Set textures for all texture units.
* .dir-locals.el: Update indentation rules for 'with-texture'.

3 years agoguix: Use new Guile 2.2 package.
David Thompson [Fri, 31 Mar 2017 01:20:36 +0000 (21:20 -0400)] 
guix: Use new Guile 2.2 package.

3 years agorender: sprite: Add fast path for non-rotated/scaled batched sprites.
David Thompson [Thu, 23 Mar 2017 02:21:00 +0000 (22:21 -0400)] 
render: sprite: Add fast path for non-rotated/scaled batched sprites.

* chickadee/render/sprite.scm (sprite-batch-add!): Speed up rendering of
non-rotated, non-scaled sprites by avoid matrix multiplication.

3 years agodoc: html: Use dthompson.us stylesheet to make manual more attractive.
David Thompson [Fri, 27 Jan 2017 23:13:15 +0000 (18:13 -0500)] 
doc: html: Use dthompson.us stylesheet to make manual more attractive.

* Makefile.am (AM_MAKEINFOHTMLFLAGS): New variable.
* doc/manual.css: New file.

3 years agoAdd full GPLv3 text.
David Thompson [Fri, 27 Jan 2017 02:06:30 +0000 (21:06 -0500)] 
Add full GPLv3 text.

3 years agoIgnore generated tarballs and signatures.
David Thompson [Fri, 27 Jan 2017 00:42:02 +0000 (19:42 -0500)] 
Ignore generated tarballs and signatures.

3 years agoDistribute examples in release tarballs.
David Thompson [Fri, 27 Jan 2017 00:38:50 +0000 (19:38 -0500)] 
Distribute examples in release tarballs.

3 years agoexamples: Add nine-patch example.
David Thompson [Fri, 27 Jan 2017 00:37:55 +0000 (19:37 -0500)] 
examples: Add nine-patch example.

* examples/nine-patch.scm: New file.
* examples/images/dialog-box.png: New file.
* examples/AUTHORS: New file.

3 years agoconfigure: Drop Guile 2.0 support. v0.2.0
David Thompson [Thu, 26 Jan 2017 12:44:56 +0000 (07:44 -0500)] 
configure: Drop Guile 2.0 support.

3 years agoBump version to 0.2.0.
David Thompson [Thu, 26 Jan 2017 03:30:28 +0000 (22:30 -0500)] 
Bump version to 0.2.0.

3 years agodoc: Mention that signed distance field rendering is not implemented.
David Thompson [Thu, 26 Jan 2017 03:28:59 +0000 (22:28 -0500)] 
doc: Mention that signed distance field rendering is not implemented.

3 years agodoc: Document draw-line.
David Thompson [Thu, 26 Jan 2017 03:28:49 +0000 (22:28 -0500)] 
doc: Document draw-line.

3 years agodoc: Fix multi-line @deffn commands.
David Thompson [Thu, 26 Jan 2017 03:28:00 +0000 (22:28 -0500)] 
doc: Fix multi-line @deffn commands.

3 years agoexamples: Add line segment example.
David Thompson [Thu, 26 Jan 2017 03:26:58 +0000 (22:26 -0500)] 
examples: Add line segment example.

* examples/lines.scm: New file.

3 years agorender: shapes: Add docstring to draw-line.
David Thompson [Thu, 26 Jan 2017 03:25:57 +0000 (22:25 -0500)] 
render: shapes: Add docstring to draw-line.

* chickadee/render/shapes.scm (draw-line): Add docstring.

3 years agorender: shapes: Change draw-line to accept vector arguments.
David Thompson [Thu, 26 Jan 2017 03:16:19 +0000 (22:16 -0500)] 
render: shapes: Change draw-line to accept vector arguments.

* chickadee/render/shapes.scm (draw-line): Replace x1, y1, x2, y2
arguments with start and end arguments that are vec2s.

3 years agorender: shapes: Delete draw-rectangle-outline procedure.
David Thompson [Thu, 26 Jan 2017 03:15:53 +0000 (22:15 -0500)] 
render: shapes: Delete draw-rectangle-outline procedure.

* chickadee/render/shapes.scm (draw-rectangle-outline): Delete.

3 years agorender: viewport: Make applying the null viewport a no-op.
David Thompson [Thu, 26 Jan 2017 03:14:25 +0000 (22:14 -0500)] 
render: viewport: Make applying the null viewport a no-op.

* chickadee/render/viewport.scm (apply-viewport): Don't do anything if
the viewport being applied is the null viewport.

3 years agoEnsure that the viewport is cleared at the beginning of each frame.
David Thompson [Thu, 26 Jan 2017 03:09:26 +0000 (22:09 -0500)] 
Ensure that the viewport is cleared at the beginning of each frame.

* chickadee.scm (run-game): Switch to the null viewport at the beginning
of each frame to ensure other viewports are cleared.

3 years agoFix guile-sdl2 procedure name.
David Thompson [Thu, 26 Jan 2017 01:31:28 +0000 (20:31 -0500)] 
Fix guile-sdl2 procedure name.

* chickadee.scm (run-game): s/keyboard-event-repeat/keyboard-event-repeat?/

3 years agoguix: Update guile-sdl2 recipe to 0.2.0.
David Thompson [Thu, 26 Jan 2017 01:30:57 +0000 (20:30 -0500)] 
guix: Update guile-sdl2 recipe to 0.2.0.

3 years agoAdd audio support.
David Thompson [Wed, 25 Jan 2017 02:26:10 +0000 (21:26 -0500)] 
Add audio support.

* chickadee/audio.scm: New file.
* Makefile.am (SOURCES): Add it.
* chickadee.scm (run-game): Initialize audio.
* doc/api.texi ("Audio"): Document it.

3 years agodoc: Document sprites and fonts.
David Thompson [Wed, 25 Jan 2017 01:22:09 +0000 (20:22 -0500)] 
doc: Document sprites and fonts.

3 years agorender: Add bitmap font support.
David Thompson [Wed, 25 Jan 2017 01:16:08 +0000 (20:16 -0500)] 
render: Add bitmap font support.

* chickadee/render/font.scm: New file.
* Makefile.am (SOURCES): Add it.
* examples/text.scm: New file.
* examples/fonts/AUTHORS: New file.
* examples/fonts/good_neighbors_starling.png: New file.
* examples/fonts/good_neighbors_starling.xml: New file.

3 years agorender: sprite: Improve argument names to draw-sprite.
David Thompson [Wed, 25 Jan 2017 00:54:15 +0000 (19:54 -0500)] 
render: sprite: Improve argument names to draw-sprite.

3 years agoexamples: sprite: Quit the demo when close button is pressed.
David Thompson [Wed, 25 Jan 2017 00:53:05 +0000 (19:53 -0500)] 
examples: sprite: Quit the demo when close button is pressed.

3 years agomath: rect: Fix vec2-clamp-to-rect.
David Thompson [Wed, 25 Jan 2017 00:52:14 +0000 (19:52 -0500)] 
math: rect: Fix vec2-clamp-to-rect.

* chickadee/math/rect.scm (vec2-clamp-to-rect): s/copy-vec2/vec2-copy/

3 years agomath: vector: Fix vec2-copy and vec2-copy!
David Thompson [Wed, 25 Jan 2017 00:50:59 +0000 (19:50 -0500)] 
math: vector: Fix vec2-copy and vec2-copy!

* chickadee/math/vector.scm: Reorder procedure definitions to overcome
inlining issues.

3 years agoAdd 'make publish' target.
David Thompson [Tue, 24 Jan 2017 02:50:20 +0000 (21:50 -0500)] 
Add 'make publish' target.

3 years agoDon't build dvi docs.
David Thompson [Tue, 24 Jan 2017 02:50:10 +0000 (21:50 -0500)] 
Don't build dvi docs.

3 years agodoc: Update copyright year. v0.1.0
David Thompson [Tue, 24 Jan 2017 02:47:48 +0000 (21:47 -0500)] 
doc: Update copyright year.

3 years agoAdd basic sprite example.
David Thompson [Tue, 24 Jan 2017 02:36:29 +0000 (21:36 -0500)] 
Add basic sprite example.

3 years agoREADME: Fix example code again.
David Thompson [Tue, 24 Jan 2017 02:36:02 +0000 (21:36 -0500)] 
README: Fix example code again.

3 years agoSet a default projection matrix for convenience.
David Thompson [Tue, 24 Jan 2017 02:32:15 +0000 (21:32 -0500)] 
Set a default projection matrix for convenience.

3 years agoREADME: Fix example code.
David Thompson [Mon, 23 Jan 2017 02:13:35 +0000 (21:13 -0500)] 
README: Fix example code.

3 years agodoc: Document a few more things.
David Thompson [Sat, 21 Jan 2017 00:36:48 +0000 (19:36 -0500)] 
doc: Document a few more things.

:)

3 years agodoc: Add more documentation!
David Thompson [Thu, 19 Jan 2017 21:42:32 +0000 (16:42 -0500)] 
doc: Add more documentation!

3 years agorender: framebuffer: Create and use a default viewport.
David Thompson [Thu, 19 Jan 2017 16:14:19 +0000 (11:14 -0500)] 
render: framebuffer: Create and use a default viewport.

3 years agorender: viewport: Change %standard-clear-flags to %default-clear-flags.
David Thompson [Thu, 19 Jan 2017 16:14:01 +0000 (11:14 -0500)] 
render: viewport: Change %standard-clear-flags to %default-clear-flags.

3 years agorender: viewport: Use a non-black default clear color.
David Thompson [Thu, 19 Jan 2017 16:13:31 +0000 (11:13 -0500)] 
render: viewport: Use a non-black default clear color.

3 years agorender: texture: Quick code style fix.
David Thompson [Thu, 19 Jan 2017 14:43:34 +0000 (09:43 -0500)] 
render: texture: Quick code style fix.

3 years agorender: Add framebuffers.
David Thompson [Thu, 19 Jan 2017 14:30:02 +0000 (09:30 -0500)] 
render: Add framebuffers.

3 years agorender: shader: Restore ability to serialize color objects.
David Thompson [Thu, 19 Jan 2017 14:28:36 +0000 (09:28 -0500)] 
render: shader: Restore ability to serialize color objects.

3 years agorender: texture: Allow texture creation with no pixel data.
David Thompson [Thu, 19 Jan 2017 14:27:40 +0000 (09:27 -0500)] 
render: texture: Allow texture creation with no pixel data.

This will be useful for creating framebuffers.

3 years agorender: Add viewports.
David Thompson [Thu, 19 Jan 2017 14:24:19 +0000 (09:24 -0500)] 
render: Add viewports.

3 years agocolor: Stop exporting record type descriptor.
David Thompson [Thu, 19 Jan 2017 14:19:27 +0000 (09:19 -0500)] 
color: Stop exporting record type descriptor.

3 years agoAdd utils module.
David Thompson [Thu, 19 Jan 2017 14:19:18 +0000 (09:19 -0500)] 
Add utils module.

3 years agoRun GPU finalizers in game loop.
David Thompson [Wed, 18 Jan 2017 23:52:26 +0000 (18:52 -0500)] 
Run GPU finalizers in game loop.

3 years agodoc: Add the beginnings of an API reference.
David Thompson [Wed, 18 Jan 2017 20:21:54 +0000 (15:21 -0500)] 
doc: Add the beginnings of an API reference.

3 years agorender: sprite: First pass at optimizing batched rendering.
David Thompson [Sat, 14 Jan 2017 00:58:41 +0000 (19:58 -0500)] 
render: sprite: First pass at optimizing batched rendering.

3 years agomath: matrix: Use vectors for matrix ops.
David Thompson [Sat, 14 Jan 2017 00:57:22 +0000 (19:57 -0500)] 
math: matrix: Use vectors for matrix ops.

3 years agorender: sprite: Implement dynamic sprite batch resizing.
David Thompson [Fri, 13 Jan 2017 01:07:37 +0000 (20:07 -0500)] 
render: sprite: Implement dynamic sprite batch resizing.

3 years agorender: texture: Add texture atlas record type.
David Thompson [Fri, 13 Jan 2017 01:07:23 +0000 (20:07 -0500)] 
render: texture: Add texture atlas record type.