pub enum ProgramCreationInput<'a> {
SourceCode {
vertex_shader: &'a str,
tessellation_control_shader: Option<&'a str>,
tessellation_evaluation_shader: Option<&'a str>,
geometry_shader: Option<&'a str>,
fragment_shader: &'a str,
transform_feedback_varyings: Option<(Vec<String>, TransformFeedbackMode)>,
outputs_srgb: bool,
uses_point_size: bool,
},
Binary {
data: Binary,
outputs_srgb: bool,
uses_point_size: bool,
},
SpirV(SpirvProgram<'a>),
}Expand description
Input when creating a program.
Variants§
SourceCode
Use GLSL source code.
Fields
§
tessellation_control_shader: Option<&'a str>Source code of the optional tessellation control shader.
§
tessellation_evaluation_shader: Option<&'a str>Source code of the optional tessellation evaluation shader.
§
transform_feedback_varyings: Option<(Vec<String>, TransformFeedbackMode)>The list of variables and mode to use for transform feedback.
The information specified here will be passed to the OpenGL linker. If you pass
None, then you won’t be able to use transform feedback.
Binary
Use a precompiled binary.
SpirV(SpirvProgram<'a>)
Use a SPIR-V binary.
Trait Implementations§
Source§impl<'a> From<Binary> for ProgramCreationInput<'a>
impl<'a> From<Binary> for ProgramCreationInput<'a>
Source§fn from(binary: Binary) -> ProgramCreationInput<'a>
fn from(binary: Binary) -> ProgramCreationInput<'a>
Converts to this type from the input type.
Source§impl<'a> From<SourceCode<'a>> for ProgramCreationInput<'a>
impl<'a> From<SourceCode<'a>> for ProgramCreationInput<'a>
Source§fn from(code: SourceCode<'a>) -> ProgramCreationInput<'a>
fn from(code: SourceCode<'a>) -> ProgramCreationInput<'a>
Converts to this type from the input type.
Auto Trait Implementations§
impl<'a> Freeze for ProgramCreationInput<'a>
impl<'a> RefUnwindSafe for ProgramCreationInput<'a>
impl<'a> Send for ProgramCreationInput<'a>
impl<'a> Sync for ProgramCreationInput<'a>
impl<'a> Unpin for ProgramCreationInput<'a>
impl<'a> UnwindSafe for ProgramCreationInput<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more