| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* chickadee/render/asset.scm (read-gltf): Parse and load all textures
referenced by materials.
|
|
|
|
|
|
|
|
|
| |
* chickadee/render/scene.scm (draw-primitive): Set base color texture
and send base color factor as uniform to shader.
* data/shaders/pbr/pbr-vert.glsl (texcoord_0): New input attribute.
(frag_tex): New output attribute.
* data/shaders/pbr/pbr-frag.glsl (frag_tex): New input attribute.
(base_color_factor, base_color_texture): New uniforms.
|
|
|
|
|
| |
* chickadee/render/scene.scm (<metallic-roughness>): Delete. Merge all
fields into <material>.
|
| |
|
|
|
|
| |
* chickadee/render/gl.scm: Export gl-uniform3fv.
|
|
|
|
|
|
|
|
|
|
|
| |
* chickadee/render/scene.scm (<primitive>): Add matrix field.
(make-primitive): Call %make-primitive with additional matrix arg.
(<scene-node>): Add world-matrix field.
(make-scene-node): Call %make-scene-node with additional matrix arg.
(modelview): Delete.
(draw-primitive): Perform matrix multiplication without allocating.
(draw-scene-node): Likewise.
(draw-scene): Pass pre-built matrix rather than allocating.
|