pub struct ShaderExecutor { /* private fields */ }Expand description
Executes shader programs on pixel data using software rasterisation.
Implementations§
Source§impl ShaderExecutor
impl ShaderExecutor
Sourcepub fn set_uniform(&mut self, slot: usize, value: UniformValue)
pub fn set_uniform(&mut self, slot: usize, value: UniformValue)
Set a uniform value for the next execution.
Sourcepub fn set_register(&mut self, reg: u8, value: i32)
pub fn set_register(&mut self, reg: u8, value: i32)
Set an input register value.
Sourcepub fn get_register(&self, reg: u8) -> i32
pub fn get_register(&self, reg: u8) -> i32
Read a register value.
Sourcepub fn execute(&mut self, program: &ShaderProgram)
pub fn execute(&mut self, program: &ShaderProgram)
Execute a shader program.
Registers should be pre-loaded with input values. After execution, output registers contain the results.
Sourcepub fn execute_fragment(&mut self, program: &ShaderProgram) -> u32
pub fn execute_fragment(&mut self, program: &ShaderProgram) -> u32
Execute a fragment shader for a single pixel, returning ARGB8888.
Input: registers 0-3 are R, G, B, A in 16.16 fixed-point (0..255 range).