[−][src]Struct luminance::shader::ProgramBuilder
A Program
builder.
This type allows to create shader programs without having to worry too much about the highly generic API.
Implementations
impl<'a, C, Sem, Out, Uni> ProgramBuilder<'a, C, Sem, Out, Uni> where
C: GraphicsContext,
C::Backend: Shader,
Sem: Semantics,
[src]
C: GraphicsContext,
C::Backend: Shader,
Sem: Semantics,
pub fn new(ctx: &'a mut C) -> Self
[src]
Create a new ProgramBuilder
from a GraphicsContext
.
pub fn from_stages_env<'b, T, G, E>(
&mut self,
vertex: &'b Stage<C::Backend>,
tess: T,
geometry: G,
fragment: &'b Stage<C::Backend>,
env: &mut E
) -> Result<BuiltProgram<C::Backend, Sem, Out, Uni>, ProgramError> where
Uni: UniformInterface<C::Backend, E>,
T: Into<Option<TessellationStages<'b, Stage<C::Backend>>>>,
G: Into<Option<&'b Stage<C::Backend>>>,
[src]
&mut self,
vertex: &'b Stage<C::Backend>,
tess: T,
geometry: G,
fragment: &'b Stage<C::Backend>,
env: &mut E
) -> Result<BuiltProgram<C::Backend, Sem, Out, Uni>, ProgramError> where
Uni: UniformInterface<C::Backend, E>,
T: Into<Option<TessellationStages<'b, Stage<C::Backend>>>>,
G: Into<Option<&'b Stage<C::Backend>>>,
Create a Program
by linking Stage
s and accessing a mutable environment variable.
Parametricity
T
is anOption
containing aTessellationStages
withStage
inside.G
is anOption
containing aStage
inside (geometry shader).E
is the mutable environment variable.
Notes
Feel free to look at the documentation of GraphicsContext::new_shader_program
for
a simpler interface.
pub fn from_stages<'b, T, G>(
&mut self,
vertex: &'b Stage<C::Backend>,
tess: T,
geometry: G,
fragment: &'b Stage<C::Backend>
) -> Result<BuiltProgram<C::Backend, Sem, Out, Uni>, ProgramError> where
Uni: UniformInterface<C::Backend>,
T: Into<Option<TessellationStages<'b, Stage<C::Backend>>>>,
G: Into<Option<&'b Stage<C::Backend>>>,
[src]
&mut self,
vertex: &'b Stage<C::Backend>,
tess: T,
geometry: G,
fragment: &'b Stage<C::Backend>
) -> Result<BuiltProgram<C::Backend, Sem, Out, Uni>, ProgramError> where
Uni: UniformInterface<C::Backend>,
T: Into<Option<TessellationStages<'b, Stage<C::Backend>>>>,
G: Into<Option<&'b Stage<C::Backend>>>,
Create a Program
by linking Stage
s.
Parametricity
T
is anOption
containing aTessellationStages
withStage
inside.G
is anOption
containing aStage
inside (geometry shader).
Notes
Feel free to look at the documentation of GraphicsContext::new_shader_program
for
a simpler interface.
pub fn from_strings_env<'b, T, G, E>(
&mut self,
vertex: &'b str,
tess: T,
geometry: G,
fragment: &'b str,
env: &mut E
) -> Result<BuiltProgram<C::Backend, Sem, Out, Uni>, ProgramError> where
Uni: UniformInterface<C::Backend, E>,
T: Into<Option<TessellationStages<'b, str>>>,
G: Into<Option<&'b str>>,
[src]
&mut self,
vertex: &'b str,
tess: T,
geometry: G,
fragment: &'b str,
env: &mut E
) -> Result<BuiltProgram<C::Backend, Sem, Out, Uni>, ProgramError> where
Uni: UniformInterface<C::Backend, E>,
T: Into<Option<TessellationStages<'b, str>>>,
G: Into<Option<&'b str>>,
Create a Program
by linking &str
s and accessing a mutable environment variable.
Parametricity
C
is the graphics context.T
is anOption
containing aTessellationStages
with&str
inside.G
is anOption
containing aStage
inside (geometry shader).E
is the mutable environment variable.
Notes
Feel free to look at the documentation of GraphicsContext::new_shader_program
for
a simpler interface.
pub fn from_strings<'b, T, G>(
&mut self,
vertex: &'b str,
tess: T,
geometry: G,
fragment: &'b str
) -> Result<BuiltProgram<C::Backend, Sem, Out, Uni>, ProgramError> where
Uni: UniformInterface<C::Backend>,
T: Into<Option<TessellationStages<'b, str>>>,
G: Into<Option<&'b str>>,
[src]
&mut self,
vertex: &'b str,
tess: T,
geometry: G,
fragment: &'b str
) -> Result<BuiltProgram<C::Backend, Sem, Out, Uni>, ProgramError> where
Uni: UniformInterface<C::Backend>,
T: Into<Option<TessellationStages<'b, str>>>,
G: Into<Option<&'b str>>,
Create a Program
by linking &str
s.
Parametricity
C
is the graphics context.T
is anOption
containing aTessellationStages
with&str
inside.G
is anOption
containing aStage
inside (geometry shader).
Notes
Feel free to look at the documentation of GraphicsContext::new_shader_program
for
a simpler interface.
Auto Trait Implementations
impl<'a, C, Sem, Out, Uni> RefUnwindSafe for ProgramBuilder<'a, C, Sem, Out, Uni> where
C: RefUnwindSafe,
Out: RefUnwindSafe,
Sem: RefUnwindSafe,
Uni: RefUnwindSafe,
C: RefUnwindSafe,
Out: RefUnwindSafe,
Sem: RefUnwindSafe,
Uni: RefUnwindSafe,
impl<'a, C, Sem, Out, Uni> Send for ProgramBuilder<'a, C, Sem, Out, Uni> where
C: Send,
Out: Send,
Sem: Send,
Uni: Send,
C: Send,
Out: Send,
Sem: Send,
Uni: Send,
impl<'a, C, Sem, Out, Uni> Sync for ProgramBuilder<'a, C, Sem, Out, Uni> where
C: Sync,
Out: Sync,
Sem: Sync,
Uni: Sync,
C: Sync,
Out: Sync,
Sem: Sync,
Uni: Sync,
impl<'a, C, Sem, Out, Uni> Unpin for ProgramBuilder<'a, C, Sem, Out, Uni> where
Out: Unpin,
Sem: Unpin,
Uni: Unpin,
Out: Unpin,
Sem: Unpin,
Uni: Unpin,
impl<'a, C, Sem, Out, Uni> !UnwindSafe for ProgramBuilder<'a, C, Sem, Out, Uni>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,