Expand description
gigs
: on-demand graphics jobs for bevy
Gigs is a plugin for the Bevy game engine that aims to provide a simple abstraction for “graphics jobs”, units of rendering work that only need to be done sporadically, on-demand. For example, a terrain generation compute shader would only need to be run once for each chunk of terrain. In many cases, this crate will allow you to skip most or all of the manual extraction and resource prep boilerplate that comes along with this, and focus on writing shaders.
Getting started:
- First, add
gigs
to your Cargo dependencies:cargo add gigs
- Add
GraphicsJobsPlugin
to yourApp
- Implement
GraphicsJob
for your job component - Call
init_graphics_job
onApp
to initialize your custom job - To run the job, simply spawn an entity with your job component!
See the examples in the repo for more in-depth showcases!
Modules§
Structs§
- Graphics
Jobs Plugin - The main plugin for
gigs
. This plugin is needed for all functionality. - JobComplete
- An event signaling a completed (or failed) graphics job.
- JobExecution
Settings - Settings for how jobs are scheduled each frame
- Specialized
Graphics JobPlugin - A plugin that sets up logic for a specific implementation of
GraphicsJob
. It’s recommended to callinit_graphics_job
onApp
rather than add this plugin manually.
Enums§
- JobError
- Describes how an incomplete job may have failed.
Traits§
- Graphics
Job - A trait for components describing a unit of rendering work.
- Init
Graphics JobExt - An extension trait for initializing graphics jobs on
App