pub trait RenderTest {
    // Required methods
    fn new(path: &Path) -> Result<Self>
       where Self: Sized;
    fn image_size(&self) -> Size<u32>;
    fn render_with_preset_and_params(
        &mut self,
        preset: ShaderPreset,
        frame_count: usize,
        output_size: Option<Size<u32>>,
        param_setter: Option<&dyn Fn(&RuntimeParameters)>,
        frame_options: Option<CommonFrameOptions>,
    ) -> Result<RgbaImage>;
    // Provided methods
    fn render(
        &mut self,
        path: &Path,
        flags: ShaderFeatures,
        frame_count: usize,
        output_size: Option<Size<u32>>,
    ) -> Result<RgbaImage> { ... }
    fn render_with_preset(
        &mut self,
        preset: ShaderPreset,
        frame_count: usize,
        output_size: Option<Size<u32>>,
    ) -> Result<RgbaImage> { ... }
}Expand description
Test harness to set up a device, render a triangle, and apply a shader
Required Methods§
Sourcefn new(path: &Path) -> Result<Self>where
    Self: Sized,
 
fn new(path: &Path) -> Result<Self>where
    Self: Sized,
Create a new instance of the test harness.
Sourcefn image_size(&self) -> Size<u32>
 
fn image_size(&self) -> Size<u32>
Get the size of the image loaded.
Sourcefn render_with_preset_and_params(
    &mut self,
    preset: ShaderPreset,
    frame_count: usize,
    output_size: Option<Size<u32>>,
    param_setter: Option<&dyn Fn(&RuntimeParameters)>,
    frame_options: Option<CommonFrameOptions>,
) -> Result<RgbaImage>
 
fn render_with_preset_and_params( &mut self, preset: ShaderPreset, frame_count: usize, output_size: Option<Size<u32>>, 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§
Sourcefn render(
    &mut self,
    path: &Path,
    flags: ShaderFeatures,
    frame_count: usize,
    output_size: Option<Size<u32>>,
) -> Result<RgbaImage>
 
fn render( &mut self, path: &Path, flags: ShaderFeatures, frame_count: usize, output_size: Option<Size<u32>>, ) -> 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.
Sourcefn render_with_preset(
    &mut self,
    preset: ShaderPreset,
    frame_count: usize,
    output_size: Option<Size<u32>>,
) -> Result<RgbaImage>
 
fn render_with_preset( &mut self, preset: ShaderPreset, frame_count: usize, output_size: Option<Size<u32>>, ) -> 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.