Crate gfx_shader_watch [−] [src]
Provides ability to change shader source files and have them reload on the fly. Also provides macros to simply include the shader code at compile time when running in release mode.
Examples
pub fn main() { // ... setup window / gfx factory & pipeline etc // Container has SimplePsoCell or WatcherPsoCell type, depending on compile mode // if you need to refer to the type, use the `debug_watcher_pso_cell_type!` macro let mut pso_cell = debug_watcher_pso_cell!( pipe = mypipeline, vertex_shader = "shader/vert.glsl", // relative to this file fragment_shader = "shader/frag.glsl", factory = factory).expect("psocell"); loop { // ... encoder.draw(&slice, pso_cell.pso(), &data); // ... } }
Macros
debug_watcher_pso_cell |
Returns WatcherPsoCell instance when compiled in debug mode,
SimplePsoCell instance when compiled in release mode
The type itself can be attained similarly with the |
debug_watcher_pso_cell_type |
Returns WatcherPsoCell type when compiled in debug mode,
SimplePsoCell type when compiled in release mode
Type will match that returned by |
Structs
SimplePsoCell |
Container with compile time shader source, pipeline state is build on initialisation |
SimplePsoCellBuilder |
Builds |
WatcherPsoCell |
Container that watches shader files and reloads pipeline state object after modification |
WatcherPsoCellBuilder |
Builds |
Traits
PsoCell |
Container for pipeline state object and a factory |