librashader_test::render

Trait RenderTest

source
pub trait RenderTest {
    // Required methods
    fn new(path: &Path) -> Result<Self>
       where Self: Sized;
    fn render_with_preset_and_params(
        &mut self,
        preset: ShaderPreset,
        frame_count: usize,
        param_setter: Option<&dyn Fn(&RuntimeParameters)>,
        frame_options: Option<CommonFrameOptions>,
    ) -> Result<RgbaImage>;

    // Provided methods
    fn render(&mut self, path: &Path, frame_count: usize) -> Result<RgbaImage> { ... }
    fn render_with_preset(
        &mut self,
        preset: ShaderPreset,
        frame_count: usize,
    ) -> Result<RgbaImage> { ... }
}
Expand description

Test harness to set up a device, render a triangle, and apply a shader

Required Methods§

source

fn new(path: &Path) -> Result<Self>
where Self: Sized,

Create a new instance of the test harness.

source

fn render_with_preset_and_params( &mut self, preset: ShaderPreset, frame_count: usize, param_setter: Option<&dyn Fn(&RuntimeParameters)>, frame_options: Option<CommonFrameOptions>, ) -> Result<RgbaImage>

Render a shader onto an image buffer, applying the provided shader.

The test should render in linear colour space for proper comparison against backends.

For testing purposes, it is often that a single image will be reused with multiple shader presets, so the actual image that a shader will be applied to will often be part of the test harness object.

Provided Methods§

source

fn render(&mut self, path: &Path, frame_count: usize) -> Result<RgbaImage>

Render a shader onto an image buffer, applying the provided shader.

The test should render in linear colour space for proper comparison against backends.

For testing purposes, it is often that a single image will be reused with multiple shader presets, so the actual image that a shader will be applied to will often be part of the test harness object.

source

fn render_with_preset( &mut self, preset: ShaderPreset, frame_count: usize, ) -> Result<RgbaImage>

Render a shader onto an image buffer, applying the provided shader.

The test should render in linear colour space for proper comparison against backends.

For testing purposes, it is often that a single image will be reused with multiple shader presets, so the actual image that a shader will be applied to will often be part of the test harness object.

Implementors§