pub struct Pipeline {
pub width: u32,
pub height: u32,
pub stats: FrameStats,
/* private fields */
}Expand description
The main render pipeline.
Created once by ProofEngine::new() and kept alive for the duration of the game.
Owns the window, OpenGL context, shader programs, font atlas, glyph VAO, and
the post-processing pipeline.
Fields§
§width: u32§height: u32§stats: FrameStatsImplementations§
Source§impl Pipeline
impl Pipeline
Sourcepub fn init(config: &EngineConfig) -> Self
pub fn init(config: &EngineConfig) -> Self
Initialize window, OpenGL 3.3 Core context, shader programs, font atlas, and PostFxPipeline.
Sourcepub fn update_render_config(&mut self, config: &RenderConfig)
pub fn update_render_config(&mut self, config: &RenderConfig)
Update the render config used by the PostFx pipeline this frame.
Call from ProofEngine::run() whenever the config changes.
Sourcepub fn poll_events(&mut self, input: &mut InputState) -> bool
pub fn poll_events(&mut self, input: &mut InputState) -> bool
Poll window events and update InputState. Returns false on quit.
Sourcepub fn render(&mut self, scene: &Scene, camera: &ProofCamera)
pub fn render(&mut self, scene: &Scene, camera: &ProofCamera)
Collect all visible glyphs + particles from the scene, upload to the GPU, and execute the full multi-pass rendering pipeline.
Auto Trait Implementations§
impl !Freeze for Pipeline
impl !RefUnwindSafe for Pipeline
impl !Send for Pipeline
impl !Sync for Pipeline
impl Unpin for Pipeline
impl UnsafeUnpin for Pipeline
impl !UnwindSafe for Pipeline
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.