Enum glium::program::ProgramCreationInput
source · 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
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.
Use GLSL source code.
Binary
Fields
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> 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