Trait bevy_retrograde::core::luminance::backend::shader::Shader [−]
pub unsafe trait Shader { type StageRepr; type ProgramRepr; type UniformBuilderRepr; unsafe fn new_stage(
&mut self,
ty: StageType,
src: &str
) -> Result<Self::StageRepr, StageError>; unsafe fn new_program(
&mut self,
vertex: &Self::StageRepr,
tess: Option<TessellationStages<'_, Self::StageRepr>>,
geometry: Option<&Self::StageRepr>,
fragment: &Self::StageRepr
) -> Result<Self::ProgramRepr, ProgramError>; unsafe fn apply_semantics<Sem>(
program: &mut Self::ProgramRepr
) -> Result<Vec<VertexAttribWarning, Global>, ProgramError>
where
Sem: Semantics; unsafe fn new_uniform_builder(
program: &mut Self::ProgramRepr
) -> Result<Self::UniformBuilderRepr, ProgramError>; unsafe fn ask_uniform<T>(
uniform_builder: &mut Self::UniformBuilderRepr,
name: &str
) -> Result<Uniform<T>, UniformWarning>
where
T: Uniformable<Self>; unsafe fn unbound<T>(
uniform_builder: &mut Self::UniformBuilderRepr
) -> Uniform<T>
where
T: Uniformable<Self>; }
Associated Types
Required methods
unsafe fn new_program(
&mut self,
vertex: &Self::StageRepr,
tess: Option<TessellationStages<'_, Self::StageRepr>>,
geometry: Option<&Self::StageRepr>,
fragment: &Self::StageRepr
) -> Result<Self::ProgramRepr, ProgramError>
unsafe fn apply_semantics<Sem>(
program: &mut Self::ProgramRepr
) -> Result<Vec<VertexAttribWarning, Global>, ProgramError> where
Sem: Semantics,
unsafe fn new_uniform_builder(
program: &mut Self::ProgramRepr
) -> Result<Self::UniformBuilderRepr, ProgramError>
unsafe fn ask_uniform<T>(
uniform_builder: &mut Self::UniformBuilderRepr,
name: &str
) -> Result<Uniform<T>, UniformWarning> where
T: Uniformable<Self>,
unsafe fn unbound<T>(
uniform_builder: &mut Self::UniformBuilderRepr
) -> Uniform<T> where
T: Uniformable<Self>,
Implementations on Foreign Types
impl Shader for Glow
impl Shader for Glow
type StageRepr = Stage
type ProgramRepr = Program
type UniformBuilderRepr = UniformBuilder
pub unsafe fn new_stage(
&mut self,
ty: StageType,
src: &str
) -> Result<<Glow as Shader>::StageRepr, StageError>
pub unsafe fn new_program(
&mut self,
vertex: &<Glow as Shader>::StageRepr,
tess: Option<TessellationStages<'_, <Glow as Shader>::StageRepr>>,
geometry: Option<&<Glow as Shader>::StageRepr>,
fragment: &<Glow as Shader>::StageRepr
) -> Result<<Glow as Shader>::ProgramRepr, ProgramError>
pub unsafe fn apply_semantics<Sem>(
program: &mut <Glow as Shader>::ProgramRepr
) -> Result<Vec<VertexAttribWarning, Global>, ProgramError> where
Sem: Semantics,
pub unsafe fn new_uniform_builder(
program: &mut <Glow as Shader>::ProgramRepr
) -> Result<<Glow as Shader>::UniformBuilderRepr, ProgramError>
pub unsafe fn ask_uniform<T>(
uniform_builder: &mut <Glow as Shader>::UniformBuilderRepr,
name: &str
) -> Result<Uniform<T>, UniformWarning> where
T: Uniformable<Glow>,
pub unsafe fn unbound<T>(
&mut <Glow as Shader>::UniformBuilderRepr
) -> Uniform<T> where
T: Uniformable<Glow>,