1 2 3 4 5 6 7 8 9 10 11 12 13 14
//! Render gate backend interface.
//!
//! This interface defines the low-level API render gates must implement to be usable.
//!
//! A render gate is a special kind of pipeline node that allows to group renders behind a shared [`RenderState`]. All
//! subsequent nodes in the pipeline will be using that render state.
use crate::render_state::RenderState;
/// Render gate and associated [`RenderState`].
pub unsafe trait RenderGate {
/// Enter the [`RenderGate`] and share the [`RenderState`] for all subsequent nodes in the pipeline.
unsafe fn enter_render_state(&mut self, rdr_st: &RenderState);
}