Crate gigs

Source
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:

  1. First, add gigs to your Cargo dependencies: cargo add gigs
  2. Add GraphicsJobsPlugin to your App
  3. Implement GraphicsJob for your job component
  4. Call init_graphics_job on App to initialize your custom job
  5. To run the job, simply spawn an entity with your job component!

See the examples in the repo for more in-depth showcases!

Modules§

input
meta

Structs§

GraphicsJobsPlugin
The main plugin for gigs. This plugin is needed for all functionality.
JobComplete
An event signaling a completed (or failed) graphics job.
JobExecutionSettings
Settings for how jobs are scheduled each frame
SpecializedGraphicsJobPlugin
A plugin that sets up logic for a specific implementation of GraphicsJob. It’s recommended to call init_graphics_job on App rather than add this plugin manually.

Enums§

JobError
Describes how an incomplete job may have failed.

Traits§

GraphicsJob
A trait for components describing a unit of rendering work.
InitGraphicsJobExt
An extension trait for initializing graphics jobs on App