kiss3d 0.42.0

Keep it simple, stupid, 2D and 3D graphics engine for Rust.
Documentation
use crate::camera::Camera3d;
use crate::resource::RenderContext;

/// Trait for implementing custom rendering logic.
///
/// Implement this trait to create custom renderers that can draw additional
/// geometry or effects during the render pipeline. Custom renderers are invoked
/// during each rendering pass.
pub trait Renderer3d {
    /// Performs a custom rendering pass.
    ///
    /// This method is called during each rendering pass, after the main scene
    /// has been rendered but before post-processing effects are applied.
    ///
    /// # Arguments
    /// * `pass` - The current rendering pass index (0 for single-pass rendering)
    /// * `camera` - The camera being used for rendering
    /// * `render_pass` - The active wgpu render pass to draw into
    /// * `context` - The render context with viewport info
    fn render(
        &mut self,
        pass: usize,
        camera: &mut dyn Camera3d,
        render_pass: &mut wgpu::RenderPass<'_>,
        context: &RenderContext,
    );
}