summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* graphics: Rewrite with-graphics-state to use state specs.David Thompson2021-03-1419-68/+124
| | | | | | | | | | | | | | | | Treating the names inside the let-like form as just symbols caused numerous bugs where a program would crash because it was trying to set graphics state that was never defined due to the relevant module never being imported. By changing with-graphics-state to require passing in the <graphics-state-spec> object, much like how parameterize works with parameter objects, it completely eliminates this type of bug. If the module containing the spec variable isn't imported, there will be an undefined variable error thrown early on. Additionally, graphics state objects needed to have a stack added to them to track previous values so that with-graphics-state could restore them later. The old trick of using let to stash the previous values no longer worked with the new macro implementation.
* graphics: engine: Improve error message when graphics state is undefined.David Thompson2021-03-131-1/+8
|
* graphics: path: Include blend module.David Thompson2021-03-131-0/+1
| | | | | Without it, setting the blend mode fails unless the module has been included by something else.
* doc: Fix particles example.David Thompson2021-03-051-2/+2
|
* doc: Fix reference to run-game*.David Thompson2021-03-051-1/+1
|
* doc: Add a bit of explanation for #:window-resizable? arg in run-game.David Thompson2021-03-051-1/+2
|
* Add support for window resizing.David Thompson2021-03-052-12/+23
|
* utils: Handle negative increment in for-range.David Thompson2021-03-051-2/+3
|
* graphics: framebuffer: Refactor make-framebuffer.David Thompson2021-03-051-52/+51
| | | | Removes unnecessary let-over-lambda.
* Compile buffer module before shader module.David Thompson2021-03-051-1/+1
| | | | The shader module includes the buffer module.
* graphics: Improve error message when prematurely creating GPU objects.David Thompson2021-03-055-0/+10
|
* Use new for-range macro wherever possible.David Thompson2021-03-058-194/+145
|
* utils: Add for-range macro.David Thompson2021-03-052-2/+25
|
* guix: Build against the latest release of Guile 3.David Thompson2021-01-301-1/+1
|
* graphics: engine: Fix yet another finalizer issue.David Thompson2021-01-261-1/+1
|
* graphics: engine: Attempt to fix finalizers again.David Thompson2021-01-261-7/+7
|
* graphics: engine: Fix graphics-engine-reap!David Thompson2021-01-261-3/+4
|
* graphics: engine: Remove unused fields.David Thompson2021-01-261-7/+2
|
* graphics: Rewrite rendering engine.David Thompson2021-01-2631-1192/+1121
|
* graphics: texture: Fix typo in docstring.David Thompson2021-01-201-1/+1
|
* graphics: texture: Get rid of some magic numbers.David Thompson2021-01-201-5/+5
|
* graphics: gpu: Move guardian to <gpu> structure.David Thompson2021-01-202-22/+20
|
* graphics: texture: Default to nearest neighbor scaling in make-texture.David Thompson2020-12-161-2/+2
|
* graphics: font: Fix artifacts when scaling fonts.David Thompson2020-12-161-2/+4
|
* math: matrix: Add procedures to extract translation from 4x4 matrix.David Thompson2020-12-161-1/+13
|
* math: matrix: Rename transform! to matrix4-transform!David Thompson2020-12-163-17/+17
|
* doc: Fix explanation of time argument in run-game*.David Thompson2020-12-161-2/+2
|
* game-loop: Sleep after rendering a frame, not after update.David Thompson2020-12-151-7/+7
|
* Switch to high resolution timer.David Thompson2020-12-157-13/+13
|
* guix: Update guile-sdl2 commit.David Thompson2020-12-151-2/+2
|
* graphics: buffer: Remove unused buffer view procedures.David Thompson2020-12-091-103/+0
|
* graphics: particles: Use dynamic geometry type.David Thompson2020-12-091-83/+49
|
* graphics: sprite: Use dynamic geometry type.David Thompson2020-12-092-198/+86
|
* graphics: path: Use dynamic geometry type.David Thompson2020-12-091-245/+122
|
* graphics: buffer: Add dynamic geometry type.David Thompson2020-12-092-27/+432
|
* doc: Reorganize graphics section.David Thompson2020-12-051-250/+250
|
* doc: Fix typo in procedure name.David Thompson2020-12-051-1/+1
|
* doc: Document 3x3 matrices.David Thompson2020-12-051-1/+83
|
* doc: Move grid subsection to end of math section.David Thompson2020-12-051-107/+112
|
* doc: Remove subsections for performance notes.David Thompson2020-12-051-2/+2
|
* make: Include run-example script in release tarballs.David Thompson2020-12-051-0/+1
|
* Update to new guile-sdl2 API.David Thompson2020-12-052-12/+12
|
* Bump version to 0.6.0.v0.6.0David Thompson2020-11-191-1/+1
|
* Update .dir-locals.el.David Thompson2020-11-191-8/+16
|
* Makefile: Update publish target.David Thompson2020-11-191-1/+1
|
* Revert "Do not auto-compile example files before running them."David Thompson2020-11-191-1/+1
| | | | | | | This reverts commit 0a13a8e9760091031986fe3a429645113dd038b1. This was causing examples to perform horribly due to the compiler not being active. The sprite batch example in particular took a huge hit.
* graphics: Add polygon and cull face modes to render context.David Thompson2020-11-196-13/+153
|
* graphics: path: Allow model-view matrix to be applied to rendered path.David Thompson2020-11-191-8/+17
| | | | | | | | | Every other type of rendering operation supports this, so paths should be no different. This type of transformation, unlike a transformation applied at the canvas or painter level, can cause a non-smooth output the matrix scales the result since it's transforming the geometry as-is rather than building new geometry with all path points transformed.
* Update game controller database file.David Thompson2020-11-191-3/+17
|
* graphics: path: Fix bad syntax in fragment shader in GLSL 1.2.David Thompson2020-11-191-2/+2
|