Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | webgpu wip stuffwip-gpu | David Thompson | 2023-11-08 | 1 | -5/+8 |
| | |||||
* | WIP: Switch to WebGPU-like API | David Thompson | 2023-11-08 | 1 | -59/+67 |
| | |||||
* | Remove unused import in (chickadee) module. | David Thompson | 2023-11-08 | 1 | -1/+0 |
| | |||||
* | graphics: Factor out GL calls in (chickadee) module. | David Thompson | 2023-11-08 | 1 | -6/+3 |
| | |||||
* | First pass of rendering engine rewrite. | David Thompson | 2023-11-08 | 1 | -12/+15 |
| | | | | | | | | The (chickadee graphics gpu) module now handles most of the low-level OpenGL object creation/deletion/binding. The (chickadee graphics engine) module handles the with-graphics-state stuff via a render context object. There's lots of stuff that isn't great, but it's the first step towards a graphics backend agnostic rendering layer. | ||||
* | Preserve user clear color on window resize. | David Thompson | 2023-05-27 | 1 | -1/+3 |
| | |||||
* | Add window event handlers to run-game. | David Thompson | 2023-05-13 | 1 | -17/+52 |
| | |||||
* | Switch to Guile's built-in high resolution timer. | David Thompson | 2023-05-03 | 1 | -2/+2 |
| | |||||
* | Relicense nearly everything to Apache 2.0. | David Thompson | 2023-04-26 | 1 | -11/+9 |
| | |||||
* | Update my email address. | David Thompson | 2023-04-25 | 1 | -1/+1 |
| | |||||
* | Allow for changing the default clear color in run-game procedure. | David Thompson | 2022-10-25 | 1 | -1/+3 |
| | | | | Add a matching flag for 'chickadee play', too. | ||||
* | Update error handling to use Guile's new exception API. | David Thompson | 2022-10-08 | 1 | -2/+2 |
| | |||||
* | game-loop: Add current-timestep parameter. | David Thompson | 2021-09-21 | 1 | -1/+2 |
| | |||||
* | game-loop: Add init argument to run-game*. | David Thompson | 2021-09-21 | 1 | -2/+2 |
| | |||||
* | Don't pass along error handler if the user didn't provide one. | David Thompson | 2021-09-21 | 1 | -1/+1 |
| | |||||
* | Run load hook after loading game controller mappings. | David Thompson | 2021-09-21 | 1 | -1/+1 |
| | |||||
* | Flush all SDL input events after running error handler. | David Thompson | 2021-09-21 | 1 | -1/+6 |
| | |||||
* | graphics: texture: Add support for cube maps. | David Thompson | 2021-08-16 | 1 | -0/+2 |
| | |||||
* | Add warp-mouse and set-show-cursor! procedures. | David Thompson | 2021-05-13 | 1 | -0/+8 |
| | |||||
* | Add mouse wheel event handler. | David Thompson | 2021-05-13 | 1 | -0/+4 |
| | |||||
* | graphics: Rewrite with-graphics-state to use state specs. | David Thompson | 2021-03-14 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | 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. | ||||
* | Add support for window resizing. | David Thompson | 2021-03-05 | 1 | -11/+20 |
| | |||||
* | graphics: Rewrite rendering engine. | David Thompson | 2021-01-26 | 1 | -13/+8 |
| | |||||
* | graphics: gpu: Move guardian to <gpu> structure. | David Thompson | 2021-01-20 | 1 | -1/+1 |
| | |||||
* | Switch to high resolution timer. | David Thompson | 2020-12-15 | 1 | -4/+5 |
| | |||||
* | Update to new guile-sdl2 API. | David Thompson | 2020-12-05 | 1 | -10/+10 |
| | |||||
* | Fallback to no multisampling if window creation fails. | David Thompson | 2020-11-18 | 1 | -19/+45 |
| | |||||
* | Add elapsed-time procedure. | David Thompson | 2020-11-16 | 1 | -0/+6 |
| | |||||
* | Remove scancode argument from key-press and key-release handlers. | David Thompson | 2020-11-16 | 1 | -2/+0 |
| | |||||
* | graphics: Add multisampling support. | David Thompson | 2020-10-12 | 1 | -0/+4 |
| | |||||
* | Rename 'render' subdirectory to 'graphics'. | David Thompson | 2020-10-03 | 1 | -5/+5 |
| | |||||
* | render: gpu: Query GL context for GL and GLSL versions. | David Thompson | 2020-08-24 | 1 | -0/+6 |
| | |||||
* | Resize default viewport when window is resized. | David Thompson | 2020-08-24 | 1 | -1/+6 |
| | | | | | Thanks to Peter Elliott <pelliott@ualberta.ca> for the original version of this patch. | ||||
* | render: viewport: Decouple screen clearing from viewport switching. | David Thompson | 2020-04-11 | 1 | -3/+1 |
| | | | | | This makes it possible to a apply a viewport multiple times in a frame without clearing each time and wiping out part of your work. | ||||
* | Add controller-button-released? procedure. | David Thompson | 2020-04-08 | 1 | -0/+5 |
| | |||||
* | Integrate new audio module into game loop. | David Thompson | 2020-04-07 | 1 | -3/+6 |
| | | | | * chickadee.scm (run-game): Replace SDL mixer with OpenAL audio system. | ||||
* | Clear the screen even when nothing is being drawn. | David Thompson | 2019-11-06 | 1 | -5/+10 |
| | |||||
* | Add a bunch of window manipulation procedures. | David Thompson | 2019-11-06 | 1 | -19/+108 |
| | |||||
* | render: Collect all managed GPU state into a single record type. | David Thompson | 2019-11-06 | 1 | -2/+4 |
| | |||||
* | Remove obsolete controller handling code. | David Thompson | 2019-01-09 | 1 | -6/+0 |
| | | | | | * chickadee.scm (run-game): Remove initial iteration over game controller hash table. | ||||
* | Add SDL2 game controller database file. | David Thompson | 2019-01-08 | 1 | -0/+3 |
| | | | | | | | | | This will allow for lots of controllers to be automatically mapped correctly without the user having to do anything. * data/gamecontrollerdb.txt: New file. * Makefile.am (dist_pkgdata_DATA): Add it. * chickadee.scm (run-game): Load game controller db file. | ||||
* | Remove redundant open-all-controllers procedure. | David Thompson | 2019-01-06 | 1 | -8/+0 |
| | | | | | | | | | I thought this was necessary to process controllers that were already connected to the computer before a Chickadee-using program was launched, but that doesn't seem to be the case. * chickadee.scm (open-all-controllers): Delete. (run-game): Remove call to open-all-controllers. | ||||
* | Add controller-name procedure. | David Thompson | 2019-01-06 | 1 | -0/+9 |
| | | | | * chickadee.scm (controller-name): New procedure. | ||||
* | Fix normalization of game controller axis values. | David Thompson | 2019-01-06 | 1 | -3/+2 |
| | | | | | * chickadee.scm (controller-axis): Fix math so that axis values are actually in the range [0, 1]. | ||||
* | Fix game controller stuff. | David Thompson | 2018-12-14 | 1 | -5/+5 |
| | | | | | Forgot to prefix imported procedures since I define procedures with the same names. | ||||
* | Add controller query procedures. | David Thompson | 2018-12-14 | 1 | -4/+18 |
| | | | | | | | Not ready to document them at this time since I have not done full tests with a USB controller yet. * chickadee.scm (controller-button-pressed?, controller-axis): New procedures. | ||||
* | Add mouse query procedures. | David Thompson | 2018-12-13 | 1 | -2/+23 |
| | | | | | * chickadee.scm (mouse-x, mouse-y, mouse-button-pressed?, mouse-button-released?): New procedures. | ||||
* | Re-add key-pressed? and key-released? procedures. | David Thompson | 2018-12-13 | 1 | -1/+12 |
| | | | | | * chickadee.scm (key-pressed?, key-released?): New procedures. * examples/grid.scm: Remove (sdl2 input keyboard) import. | ||||
* | Re-hide SDL2 details. | David Thompson | 2018-12-13 | 1 | -73/+183 |
| | | | | | | | | | | | | | | | | | | | | | I know I'm backpedaling here, but I think it was a mistake to expose SDL2 as much as I have here. I think it's better for people just getting started to not have to wonder what SDL means. Making things as usable as possible for beginners is an important goal, and abstracting SDL2 + OpenGL things from the core game loop implementation shouldn't require sacrificing that goal. * chickadee.scm: Switch code with... * chickadee/game-loop.scm: ...this! Which is copied straight from... * chickadee/sdl.scm: ...this! Which is now deleted. * Makefile.am (SOURCES): Add game-loop.scm, remove sdl.scm. * examples/grid.scm: Update due to API breakage. * examples/lines.scm: Ditto. * examples/nine-patch.scm: Ditto. * examples/sprite.scm: Ditto. * examples/text.scm: Ditto. * examples/tiled.scm: Ditto. * doc/api.texi (Kernel): Update. | ||||
* | game-loop: Sleep thread a bit to avoid 100% CPU usage. | David Thompson | 2018-12-09 | 1 | -1/+3 |
| |