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,
},
}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.
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SetParameter for T
impl<T> SetParameter for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.