Struct moon_engine::shader::Shader
source · [−]pub struct Shader {
pub name: &'static str,
/* private fields */
}
Expand description
Fields
name: &'static str
A name to refer to the shader with, and for debugging purposes.
Implementations
sourceimpl Shader
impl Shader
sourcepub fn new(gl: &GL) -> Self
pub fn new(gl: &GL) -> Self
Create a new Shader Program with default Vertex and Fragment shaders.
sourcepub fn new_with_vertex(
gl: &GL,
vertex_shader: WebGlShader,
name: Option<&'static str>
) -> Self
pub fn new_with_vertex(
gl: &GL,
vertex_shader: WebGlShader,
name: Option<&'static str>
) -> Self
Create a new Shader with default Fragment Shader and a custom Vertex Shader.
sourcepub fn create_fragment(gl: &GL, source: &str) -> Result<WebGlShader, String>
pub fn create_fragment(gl: &GL, source: &str) -> Result<WebGlShader, String>
Create a fragment WebGlShader
.
sourcepub fn create_vertex(gl: &GL, source: &str) -> Result<WebGlShader, String>
pub fn create_vertex(gl: &GL, source: &str) -> Result<WebGlShader, String>
Create a vertex WebGlShader
.
sourcepub fn create_with_type(
gl: &GL,
shader_type: ShaderType,
source: &str
) -> Result<WebGlShader, String>
pub fn create_with_type(
gl: &GL,
shader_type: ShaderType,
source: &str
) -> Result<WebGlShader, String>
Create a new WebGlShader
with a given ShaderType
.
sourcepub fn program_with_vertex_and_fragment(
gl: &GL,
vertex_shader: &WebGlShader,
fragment_shader: &WebGlShader
) -> Result<WebGlProgram, String>
pub fn program_with_vertex_and_fragment(
gl: &GL,
vertex_shader: &WebGlShader,
fragment_shader: &WebGlShader
) -> Result<WebGlProgram, String>
Create a new WebGlProgram
with the given vertex and fragment shaders
.
sourcepub fn get_uniform_location(
&self,
gl: &GL,
name: &str
) -> Option<WebGlUniformLocation>
pub fn get_uniform_location(
&self,
gl: &GL,
name: &str
) -> Option<WebGlUniformLocation>
Get the location of a uniform on the Shader
.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Shader
impl !Send for Shader
impl !Sync for Shader
impl Unpin for Shader
impl UnwindSafe for Shader
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
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 more
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).
fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.