| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
* chickadee/render/sprite.scm (draw-sprite-unbatched): Combine
vertices and texcoords into a single packed buffer.
|
|
|
|
|
|
|
|
|
|
|
| |
Not sure how much of a gain this is, but it's one less buffer to map
each frame.
* chickadee/render/sprite.scm (init-sprite-batch): Create combined
vertex/texcoord buffer.
(double-sprite-batch-size!): Map and copy only a single buffer.
(sprite-batch-begin!): Map just one buffer.
(sprite-batch-add!): Use new packed buffer layout.
|
|
|
|
| |
* doc/api.texi (Rectangles): Document 'rect' procedure.
|
|
|
|
| |
* chickadee/math/rect.scm (rect): New procedure.
|
|
|
|
| |
* chickadee/render/font.scm (draw-text*): Use new set-vec2! procedure.
|
|
|
|
|
| |
* chickadee/render/sprite (sprite-batch-add!): Use new set-vec2!
procedure.
|
|
|
|
|
| |
* chickadee/math/vector.scm (set-vec2!, set-vec3!): New procedures.
* doc/api.texi (Vectors): Document them.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* chickadee/render/framebuffer.scm (<framebuffer>)[projection]: New
field.
(make-framebuffer): Use an orthographic projection the same size as
the framebuffer as the default projection matrix.
* chickadee/render.scm (with-framebuffer): Apply default projection
matrix.
|
| |
|
|
|
|
|
| |
* chickadee/math/grid.scm (slide): Simplify formula for setting new
goal coordinates.
|
|
|
|
|
|
| |
* chickadee/render/particles.scm: New file.
* Makefile.am (SOURCES): Add it.
* doc/api.texi (Particles): New subsection.
|
|
|
|
|
| |
* chickadee/render/buffer.scm (component-type-size,
typed-buffer-type-gl): Add int and double cases.
|
|
|
|
| |
* doc/api.texi (Sprites): s/diving/dividing/
|
|
|
|
|
| |
* chickadee/render/blend.scm (apply-blend-mode): Use the correct
destination blending factor (one, not zero!) for additive blending.
|
|
|
|
|
|
|
| |
* chickadee/math/grid.scm (make-grid): Set a high minimum bucket size
to avoid rehashing.
(grid-move): Use memoized inexact->exact procedure. Fix return value
of check procedure being ignored.
|
|
|
|
|
|
|
|
| |
There's still a lot of work needed to make the collision grid scale to
any reasonable number of moving objects, but this is a first step.
* chickadee/math/grid.scm: Big ol' refactor that I can't be bothered
to list all the changes for.
|
| |
|
|
|
|
|
|
| |
* chickadee/scripting/channel.scm (channel-get!, channel-put!): New
procedures.
* doc/api.texi [Channels]: Add docs.
|
|
|
|
| |
* chickadee/queue.scm (queue-length): New procedure.
|
|
|
|
|
| |
* chickadee/scripting/channel.scm: Remove (ice-9 format) and
(srfi srfi-11) imports.
|
| |
|
|
|
|
| |
* chickadee/render.scm (gpu-apply/instanced*, gpu-apply/instanced): New syntax.
|
|
|
|
| |
* chickadee/render/buffer.scm (render-vertices/instanced): New procedure.
|
|
|
|
|
|
|
| |
* chickadee/render/buffer.scm (<typed-buffer>)[divisor]: New field.
(typed-buffer-divisor): New procedure.
(make-typed-buffer, make-streaming-typed-buffer): Add #:divisor argument.
(apply-typed-buffer): Setup vertex attribute divisor if there is one.
|
|
|
|
| |
* chickadee/render/gl.scm (gl-draw-elements-instanced): New procedure.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* chickadee/math/matrix.scm: Fix mistakes in docstrings.
|
|
|
|
|
| |
* chickadee/render/texture.scm (make-texture): Don't flip texture
horizontally, only vertically.
|
|
|
|
|
| |
* chickadee/render/framebuffer.scm (make-framebuffer): Flip the
texture now that the texture origin is top-left.
|
|
|
|
| |
* chickadee/render/texture.scm (make-texture): Add #:flip? keyword argument.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a pretty big change, but hopefully for the best as this aligns
with graphics programs and the glTF standard that uses a top-left
origin. We can keep using a lower-left origin for vertices, though.
* chickadee/render/texture.scm (surface->texture): Stop flipping pixel
rows.
* chickadee/render/sprites.scm (draw-sprite-unbatched,
sprite-batch-add!, draw-nine-patch*): Adjust texture y-coordinates.
* chickadee/render/font.scm (parse-fnt): Stop inverting y coordinates.
* chickadee/render/tiled.scm (load-tile-map): Stop inverting tile ids.
|
|
|
|
|
|
| |
* chickadee/math/vector.scm: Move vec2-normalize and vec3-normalize
below the definitions of vec2-normalize! and vec3-normalize! so that
inlining doesn't screw things up.
|
|
|
|
| |
* chickadee/math/vector.scm (vec2*, vec2+, vec2-): New procedures.
|
|
|
|
| |
Chickadee doesn't support them yet.
|
| |
|