Commit graph

27 commits

Author SHA1 Message Date
Jay Oster 5a96eea6ba
Handle all wgpu::SurfaceError variants (#348)
This fixes error handling for all `wgpu::SurfaceError` variants. It also adds more context to error messages printed by the examples.

Closes #346
2023-03-21 07:16:51 -07:00
Jay Oster 899e27bafa
Remove get_ and set_ prefixes from public APIs (#341)
This renames:

- `get_frame` to `frame`
- `get_frame_mut` to `frame_mut`
- `set_clear_color` to `clear_color`

Which more closely follows convention set by the standard library et al.
2023-03-09 19:42:57 -08:00
Jay Oster 332a02f12d
Update wgpu to 0.15 (#332)
* Update wgpu to 0.15
* Fix the panic described in #330
* Specify `min_binding_size` since we know what it is.
2023-01-27 21:49:40 -08:00
Jay Oster bf296a455e
Remove unused dependencies (cargo-machete) (#331)
* Add cargo-machete to CI Lints
2023-01-09 10:47:42 -08:00
Jay Oster 49cf7b7d11
Update cargo-run-wasm (#329)
Just a minor dependency update.
2023-01-07 15:18:09 -08:00
Jay Oster 864a9c3491
Prepare 0.11.0 (#326) 2022-12-17 21:45:20 -08:00
Jay Oster 5c2985f1b6
Update all dependencies in the workspace (#323) 2022-12-17 17:35:02 -08:00
Jay Oster 0819b8f60c
Update GitHub Actions (#322)
* Update GitHub Actions

- actions-rs is unmaintained.
  - See: https://github.com/actions-rs/toolchain/issues/216
- Enable rust-cache
- Cargo.lock was removed in #63 but it's necessary for reproducible builds in CI.
  - The lock file is ignored by dependents.
  - Our separate `pixels-ci-rust-version` repo also ignores it, so CI will still be able to tell us if the crate build ever breaks due to unlocked dependencies.
  -  See the `rust-version` job in ci.yml.
2022-12-17 16:52:45 -08:00
Bernardo Meurer db8f6bb356
gitignore: add Cargo.lock (#63)
`pixels` is a library, and thus should _not_ check-in it's lockfile.

c.f. https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html#cargotoml-vs-cargolock
2020-04-12 21:37:55 -07:00
Jay Oster b38363a602
Fix CI (#58)
* Replace bespoke Error impl with `thiserror`

* cargo update

* Finix winit version in dev-dependencies
2020-03-17 20:36:08 -07:00
Jay Oster 17c94574a2
Safety dance (#50)
* Update Cargo.lock

* Forbid unsafe

* Update README
2019-11-19 22:10:08 -08:00
Jay Oster bb898d78de
Add minimal-sdl2 example (#48) 2019-11-19 19:58:21 -08:00
Thom Chiovoloni e0225c145d Add a conways game of life example (#37)
* Add a conways game of life example

* Rustfmt conway example

* Respond to review feedback (p_width/p_height)

* Use line_drawing instead of manual bresenham

* Optimize count_neibs

* Remove inline(never) leftover from when profiling

* Bring back wrapping behavior (without regressing perf)

* Fix missing bounds check
2019-11-05 23:15:58 -08:00
Jay Oster 17c6054f40 Bump version 2019-11-03 22:28:00 -08:00
Jay Oster 84d35e1205
Update wgpu to 0.4.0 (#35)
- Closes #16
- Closes #32
2019-11-03 22:07:57 -08:00
Jay Oster 703773f35d
Exclude extraneous files from crate (#33) 2019-11-02 22:44:10 -07:00
Jay Oster 28f927e153
Switch from rand_core to randomize (#31)
- For #7
2019-11-02 15:29:09 -07:00
Jay Oster 7844c15a77
Add gamepad support (#28)
* Add gamepad support

* Try to fix the build
2019-10-28 01:03:03 -07:00
Jay Oster 5795fa7943
Add include_spv!() macro, donated by Ralith (#26) 2019-10-27 19:50:15 -07:00
Jay Oster b18690f19f
Clean up event handling with winit_input_helper (#21)
* Clean up event handling with winit_input_helper

- Closes #20

* QoL improvements
2019-10-21 22:34:12 -07:00
Jay Oster a7802453ec
Update dependencies (#17)
* Update dependencies. Fixed #14

* Fix CI

* Update locked dependencies
2019-10-20 17:32:11 -07:00
Jay Oster 383b0d83ff
Replace vk-shader-macros with pre-compiled GLSL. Fixes #9 (#10) 2019-10-13 21:43:30 -07:00
Jay Oster b6fcf803e7
Invader AI (#6)
* WIP: Invader AI

- Adds debug mode for visualizing bounding boxes
- Adds rectangle and line drawing (for debug mode)
- Invaders move as a close approximation to the original game
- TODO: Demonstrates that the blit function needs to ignore black pixels (or "transparency")
- TODO: The invader movement code is really bad

* clippy and fmt

* Refactor Invader movement

* Support "transparency" in blit function

* Scale player movement to 60 pixels per second, regardless of frame rate.

* Add assertions in blit to prevent drawing out of bounds

* Add bullets, shoot with space

* Add lasers, and improve the bullet animation a little bit

* fmt
2019-10-12 14:26:47 -07:00
Jay Oster 3b7638a012 Initial simple-invaders WIP
- Currently animates two flavors of invader in their usual formation
- Lots left to do, but this is a good start
2019-10-06 02:24:07 -07:00
Jay Oster 2ec43fccd1 Cleanly separate the two texture dimensions
- The pixel buffer dimensions
- The surface texture dimensions
2019-10-01 22:00:37 -07:00
Jay Oster 337241c866 Switch to vk_shader_macros 2019-09-29 17:40:05 -07:00
Jay Oster cc4976079b Initial commit.
- Just a copy of the wgpu `hello-triangle` example for now... more to come!
2019-09-25 23:07:30 -07:00