summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* render: phong: Add support for diffuse and specular maps.David Thompson2019-10-281-22/+58
| | | | And boilerplate for bump maps to be supported later.
* Makefile: Remove deleted shader files.David Thompson2019-10-261-5/+0
|
* render: viewport: Use light sky blue for default clear color.David Thompson2019-10-261-1/+1
|
* render: shader: Fix bug where default values for local fields didn't work.David Thompson2019-10-261-8/+18
|
* render: model: Support faces with 5 or more elements in OBJ loader.David Thompson2019-10-261-6/+33
|
* render: model: Correctly handle faces with 4 elements in OBJ loader.David Thompson2019-10-251-15/+35
|
* examples: model: Remove bad code left in accidentally.David Thompson2019-10-241-3/+0
|
* Add 3D model example data to Makefile.am.David Thompson2019-10-241-1/+3
|
* render: Restructure 3D modules and add basic support for OBJ models.David Thompson2019-10-2410-768/+3857
|
* render: shader: Rename <shader-data-type> to <shader-primitive-type>.David Thompson2019-10-231-50/+50
|
* render: shader: Allow client-side only fields in shader structs.David Thompson2019-10-231-2/+11
|
* render: shader: Convert camel case uniform names to lispy snake case.David Thompson2019-10-231-1/+11
|
* render: shader: Remove unnecessary module import.David Thompson2019-10-211-1/+0
|
* render: shader: Remove debugging code.David Thompson2019-10-211-19/+1
|
* render: shader: Add support for shader structs.David Thompson2019-10-212-147/+490
|
* render: shader: Improve shader compilation error printing.David Thompson2019-10-181-1/+3
|
* render: shader: Support primitive array uniform variables.David Thompson2019-10-171-47/+52
|
* render: shader: Move shader loading helper procedures out of top level.David Thompson2019-10-171-126/+115
|
* render: shader: Decouple uniform serialization with uniform setting.David Thompson2019-10-172-38/+104
|
* render: gl: Add more glUniform functions.David Thompson2019-10-171-1/+11
|
* render: shader: Encapsulate GLSL types in <shader-data-type> records.David Thompson2019-10-161-108/+109
|
* math: vector: Add vec3 cross product procedures.David Thompson2019-10-111-0/+16
|
* math: vector: Add vec3 arithmetic procedures.David Thompson2019-10-111-0/+21
|
* math: matrix: Add procedures for X and Y axis rotations.David Thompson2019-10-111-0/+30
|
* array-list: Add bounds checking to array-list-ref.David Thompson2019-10-111-1/+3
|
* render: Introduce render context object.David Thompson2019-10-111-60/+43
| | | | | | | | | | Due to the declarative modules feature of Guile 2.9.4+, the existing technique of using one top-level variable per GL state was very broken because the initial values got cached at all call sites and state updates were being silently ignored and thus the game window was always a black screen. Not good! By replacing all of the state variables with a single "context" object and poking at fields inside, things work again and it's arguably the better design anyhow.
* examples: Update particle example.David Thompson2019-07-241-11/+42
|
* render: particles: Fix misuse of streaming vertex buffer.David Thompson2019-07-241-116/+105
| | | | | | * chickadee/render/particles.scm (update-particles): Use a dedicated bytevector for storing the state of the particles and copy it over to the GPU at the end.
* Fix a few errors in the manual.David Thompson2019-06-051-3/+3
|
* Makefile: Generate detached signatures in publish task.v0.4.0David Thompson2019-06-041-1/+1
|
* render: tiled: Add point->tile.David Thompson2019-06-043-3/+25
| | | | | | * chickadee/render/tiled.scm (point->tile): New procedure. * doc/api.texi (Tiled): Document it. * examples/tiled.scm: Render tile coordinates in bottom-left corner.
* doc: Add direntry information.David Thompson2019-06-041-0/+5
|
* doc: Update copyright years.David Thompson2019-06-021-1/+1
|
* doc: Add tutorial for REPL setup.David Thompson2019-06-021-0/+33
| | | | * doc/api.texi (Live Coding): New subsection.
* doc: Expand API reference for Tiled maps.David Thompson2019-06-021-0/+184
| | | | * doc/api.texi (Tile Maps): Add more procedure documentation.
* doc: Remove unnecessary @var markup in argument lists.David Thompson2019-05-281-303/+300
|
* Update a couple of examples to use new sprite batch API.Alex McGrath2019-05-283-24/+31
| | | | | * examples/game-controller.scm: Use new sprite batch API. * examples/grid.scm: Ditto.
* render: sprite: Add draw-sprite-batch* procedure.David Thompson2019-05-221-9/+30
| | | | | * chickadee/render/sprite.scm (draw-sprite-batch*): New procedure. (draw-sprite-batch): Rewrite in terms of 'draw-sprite-batch*'.
* Update copyright year on sprite and buffer modules.David Thompson2019-05-162-2/+2
|
* Ignore emacs temp files.David Thompson2019-05-141-0/+1
|
* Fix 'make distcheck'.David Thompson2019-05-131-7/+3
|
* doc: Remove unicode character for pi because it breaks 'make dvi'.David Thompson2019-05-131-3/+3
|
* README: Update example code.David Thompson2019-05-131-3/+2
|
* render: Replace broken refs to "typed buffer" with "buffer view".David Thompson2019-05-132-51/+51
| | | | | * chickadee/render/asset.scm: s/typed-buffer/buffer-view/ * chickadee/render/particles.scm: Same.
* doc: Remove reference to old hook system.David Thompson2019-05-131-2/+3
| | | | | * doc/api.texi (Agendas): Rewrite example code that used obsolete hook API.
* render: Rename "typed buffer" to "buffer view".David Thompson2019-05-134-220/+220
| | | | | | | * chickadee/render/buffer.scm: s/typed-buffer/buffer-view/ * chickadee/render/shapes.scm: Same. * chickadee/render/sprite.scm: Same. * doc/api.texi: Same.
* doc: Improve texture documentation.David Thompson2019-05-132-3/+84
| | | | | * chickadee/render/texture.scm (list->texture-atlas): Tweak docstring. * doc/api.texi (Textures): Document more procedures.
* render: texture: Stop exporting texture-id.David Thompson2019-05-131-1/+0
| | | | * chickadee/render/texture.scm: Remove texture-id from exports list.
* Update SDL2 game controller database file.David Thompson2019-05-121-1/+38
|
* render: sprite: Rewrite sprite batching API.David Thompson2019-05-125-318/+373
| | | | | | | | | | | | | | | | | | | | | | | | | | | This new version performs better and has a better API. It closely resembles Love2D's sprite batch API. * chickadee/render/sprite.scm (with-batched-sprites, sprite-batch-reset!, sprite-batch-begin!, draw-sprite-batched, *batch?*, %batch): Delete. (draw-sprite-unbatched): Rename to 'draw-sprite*'. (<sprite-batch>)[index-buffer, position-buffer, texture-buffer]: Delete fields. [vertex-buffer]: New field. (init-sprite-batch, double-sprite-batch-size!, sprite-batch-add!, sprite-batch-flush!): Rewrite. (make-sprite-batch): Add 'capacity' and 'blend-mode' arguments. (draw-sprite-batch): New procedure. (draw-nine-patch*): Stop using sprite batches for now. * chickadee/render/font.scm: (<font>)[sprite-batches]: New field. (load-tile-font, load-font): Create a sprite batch for each texture loaded. (draw-text*): Use sprite batches. * chickadee/render/tiled.scm: (<tile>)[batch]: New field. (<tileset>)[batch]: New field. (load-tile-map): Create a sprite batch for each tileset. (draw-tile-layer): Use new sprite batch API. (draw-tile-map*): Remove reference to deleted macro.