[][src]Struct awsm::webgl::WebGlRenderer

pub struct WebGlRenderer<T: WebGlCommon> {
    pub gl: T,
    pub canvas: HtmlCanvasElement,
    // some fields omitted
}

Fields

gl: Tcanvas: HtmlCanvasElement

Methods

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn get_attribute_location_value(&self, name: &str) -> Result<u32, Error>[src]

pub fn activate_attribute_loc(&self, target_loc: u32, opts: &AttributeOptions)[src]

pub fn activate_attribute(
    &self,
    target_name: &str,
    opts: &AttributeOptions
) -> Result<(), Error>
[src]

pub fn activate_buffer_for_attribute(
    &self,
    buffer_id: Id,
    buffer_target: BufferTarget,
    attribute_name: &str,
    opts: &AttributeOptions
) -> Result<(), Error>
[src]

pub fn upload_buffer_to_attribute<B: BufferDataImpl>(
    &self,
    id: Id,
    data: B,
    attribute_name: &str,
    opts: &AttributeOptions
) -> Result<(), Error>
[src]

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn new(gl: T) -> Result<Self, Error>[src]

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn create_buffer(&mut self) -> Result<Id, Error>[src]

pub fn bind_buffer(
    &self,
    buffer_id: Id,
    target: BufferTarget
) -> Result<(), Error>
[src]

pub fn release_buffer(&self, target: BufferTarget)[src]

pub fn upload_buffer<B: BufferDataImpl>(
    &self,
    id: Id,
    data: B
) -> Result<(), Error>
[src]

pub fn upload_buffer_sub<B: BufferSubDataImpl>(
    &self,
    id: Id,
    dest_byte_offset: u32,
    data: B
) -> Result<(), Error>
[src]

impl WebGlRenderer<WebGl2RenderingContext>[src]

pub fn bind_buffer_base(
    &self,
    buffer_id: Id,
    index: u32,
    target: BufferTarget
) -> Result<(), Error>
[src]

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn clear(&self, bits: &[ClearBufferMask])[src]

pub fn draw_arrays(&self, mode: BeginMode, first: u32, count: u32)[src]

pub fn draw_elements(
    &self,
    mode: BeginMode,
    count: u32,
    data_type: DataType,
    offset: u32
)
[src]

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn register_extension(&mut self, name: &str) -> Result<&Object, Error>[src]

impl WebGlRenderer<WebGlRenderingContext>[src]

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn set_depth_func(&mut self, func: CmpFunction)[src]

pub fn set_blend_color(&mut self, r: f32, g: f32, b: f32, a: f32)[src]

pub fn set_blend_func(&mut self, sfactor: BlendFactor, dfactor: BlendFactor)[src]

pub fn set_blend_func_separate(
    &mut self,
    src_rgb: BlendFactor,
    dest_rgb: BlendFactor,
    src_alpha: BlendFactor,
    dest_alpha: BlendFactor
)
[src]

pub fn set_blend_equation(&mut self, mode: BlendEquation)[src]

pub fn set_blend_equation_separate(
    &mut self,
    rgb_mode: BlendEquation,
    alpha_mode: BlendEquation
)
[src]

impl WebGlRenderer<WebGlRenderingContext>[src]

pub fn vertex_attrib_divisor(&self, loc: u32, divisor: u32) -> Result<(), Error>[src]

pub fn draw_arrays_instanced(
    &self,
    mode: BeginMode,
    first: u32,
    count: u32,
    primcount: u32
) -> Result<(), Error>
[src]

pub fn draw_elements_instanced(
    &self,
    mode: BeginMode,
    count: u32,
    data_type: DataType,
    offset: u32,
    primcount: u32
) -> Result<(), Error>
[src]

impl WebGlRenderer<WebGl2RenderingContext>[src]

pub fn vertex_attrib_divisor(&self, loc: u32, divisor: u32) -> Result<(), Error>[src]

pub fn draw_arrays_instanced(
    &self,
    mode: BeginMode,
    first: u32,
    count: u32,
    primcount: u32
) -> Result<(), Error>
[src]

pub fn draw_elements_instanced(
    &self,
    mode: BeginMode,
    count: u32,
    data_type: DataType,
    offset: u32,
    primcount: u32
) -> Result<(), Error>
[src]

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn set_depth_mask(&mut self, flag: bool)[src]

pub fn set_clear_color(&mut self, r: f32, g: f32, b: f32, a: f32)[src]

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn activate_program(&mut self, program_id: Id) -> Result<(), Error>[src]

impl WebGlRenderer<WebGlRenderingContext>[src]

pub fn compile_program(
    &mut self,
    vertex: &str,
    fragment: &str
) -> Result<Id, Error>
[src]

impl WebGlRenderer<WebGl2RenderingContext>[src]

pub fn compile_program(
    &mut self,
    vertex: &str,
    fragment: &str
) -> Result<Id, Error>
[src]

impl<G: WebGlCommon> WebGlRenderer<G>[src]

pub fn create_texture(&mut self) -> Result<Id, Error>[src]

pub fn assign_simple_texture(
    &mut self,
    texture_id: Id,
    bind_target: TextureTarget,
    opts: &SimpleTextureOptions,
    src: &WebGlTextureSource
) -> Result<(), Error>
[src]

pub fn assign_simple_texture_mips(
    &mut self,
    texture_id: Id,
    bind_target: TextureTarget,
    opts: &SimpleTextureOptions,
    srcs: &[&WebGlTextureSource]
) -> Result<(), Error>
[src]

pub fn assign_texture(
    &mut self,
    texture_id: Id,
    bind_target: TextureTarget,
    opts: &TextureOptions,
    set_parameters: Option<impl Fn(&G)>,
    src: &WebGlTextureSource
) -> Result<(), Error>
[src]

pub fn assign_texture_mips(
    &mut self,
    texture_id: Id,
    bind_target: TextureTarget,
    opts: &TextureOptions,
    set_parameters: Option<impl Fn(&G)>,
    srcs: &[&WebGlTextureSource]
) -> Result<(), Error>
[src]

pub fn activate_texture_for_sampler(
    &mut self,
    texture_id: Id,
    sampler_name: &str
) -> Result<(), Error>
[src]

pub fn activate_texture_for_sampler_index(
    &mut self,
    texture_id: Id,
    sampler_index: u32
) -> Result<(), Error>
[src]

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn toggle(&mut self, toggle: GlToggle, flag: bool)[src]

impl WebGlRenderer<WebGl2RenderingContext>[src]

pub fn get_uniform_buffer_loc(&self, name: &str) -> Result<u32, Error>[src]

pub fn get_uniform_block_offset(
    &self,
    uniform_name: &str,
    block_name: &str
) -> Result<u32, Error>
[src]

pub fn register_global_uniform_buffer(&mut self, name: &str)[src]

pub fn get_global_uniform_buffer_loc(&self, name: &str) -> Option<u32>[src]

pub fn activate_uniform_buffer(&self, id: Id, name: &str) -> Result<(), Error>[src]

pub fn upload_buffer_to_uniform_buffer<B: BufferDataImpl>(
    &self,
    name: &str,
    id: Id,
    buffer_data: B
) -> Result<(), Error>
[src]

upload buffer data and set to uniform buffer

pub fn upload_buffer_sub_to_uniform_buffer<B: BufferSubDataImpl>(
    &self,
    uniform_name: &str,
    block_name: &str,
    id: Id,
    buffer_data: B
) -> Result<(), Error>
[src]

upload buffer data from sub slice and set to uniform buffer

pub fn upload_buffer_to_uniform_buffer_f32(
    &self,
    name: &str,
    id: Id,
    values: &[f32],
    buffer_usage: BufferUsage
) -> Result<(), Error>
[src]

convenience function

pub fn upload_buffer_to_uniform_buffer_u8(
    &self,
    name: &str,
    id: Id,
    values: &[u8],
    buffer_usage: BufferUsage
) -> Result<(), Error>
[src]

convenience function

pub fn upload_buffer_sub_to_uniform_buffer_f32(
    &self,
    uniform_name: &str,
    block_name: &str,
    id: Id,
    values: &[f32]
) -> Result<(), Error>
[src]

pub fn upload_buffer_sub_to_uniform_buffer_u8(
    &self,
    uniform_name: &str,
    block_name: &str,
    id: Id,
    values: &[u8]
) -> Result<(), Error>
[src]

impl<G: WebGlCommon> WebGlRenderer<G>[src]

pub fn get_uniform_location_value(
    &self,
    name: &str
) -> Result<WebGlUniformLocation, Error>
[src]

pub fn upload_uniform_fvec<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    _type: UniformType,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_ivec<T: AsRef<[i32]>>(
    &self,
    target_name: &str,
    _type: UniformType,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_mat_4<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_mat_3<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_mat_2<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_mat_transposed_4<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_mat_transposed_3<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_mat_transposed_2<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_fvec_4<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_fvec_3<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_fvec_2<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_fvec_1<T: AsRef<[f32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_ivec_4<T: AsRef<[i32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_ivec_3<T: AsRef<[i32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_ivec_2<T: AsRef<[i32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_ivec_1<T: AsRef<[i32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_fvals_4(
    &self,
    target_name: &str,
    data: (f32, f32, f32, f32)
) -> Result<(), Error>
[src]

pub fn upload_uniform_fvals_3(
    &self,
    target_name: &str,
    data: (f32, f32, f32)
) -> Result<(), Error>
[src]

pub fn upload_uniform_fvals_2(
    &self,
    target_name: &str,
    data: (f32, f32)
) -> Result<(), Error>
[src]

pub fn upload_uniform_fval(
    &self,
    target_name: &str,
    data: f32
) -> Result<(), Error>
[src]

pub fn upload_uniform_ivals_4(
    &self,
    target_name: &str,
    data: (i32, i32, i32, i32)
) -> Result<(), Error>
[src]

pub fn upload_uniform_ivals_3(
    &self,
    target_name: &str,
    data: (i32, i32, i32)
) -> Result<(), Error>
[src]

pub fn upload_uniform_ivals_2(
    &self,
    target_name: &str,
    data: (i32, i32)
) -> Result<(), Error>
[src]

pub fn upload_uniform_ival(
    &self,
    target_name: &str,
    data: i32
) -> Result<(), Error>
[src]

impl WebGlRenderer<WebGl2RenderingContext>[src]

pub fn upload_uniform_uvec<T: AsRef<[u32]>>(
    &self,
    target_name: &str,
    _type: UniformType,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_uvec_4<T: AsRef<[u32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_uvec_3<T: AsRef<[u32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_uvec_2<T: AsRef<[u32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_uvec_1<T: AsRef<[u32]>>(
    &self,
    target_name: &str,
    data: &T
) -> Result<(), Error>
[src]

pub fn upload_uniform_uvals_4(
    &self,
    target_name: &str,
    data: (u32, u32, u32, u32)
) -> Result<(), Error>
[src]

pub fn upload_uniform_uvals_3(
    &self,
    target_name: &str,
    data: (u32, u32, u32)
) -> Result<(), Error>
[src]

pub fn upload_uniform_uvals_2(
    &self,
    target_name: &str,
    data: (u32, u32)
) -> Result<(), Error>
[src]

pub fn upload_uniform_uval(
    &self,
    target_name: &str,
    data: u32
) -> Result<(), Error>
[src]

impl WebGlRenderer<WebGlRenderingContext>[src]

pub fn release_vertex_array(&self) -> Result<(), Error>[src]

pub fn activate_vertex_array(&self, vao_id: Id) -> Result<(), Error>[src]

pub fn assign_vertex_array(
    &self,
    vao_id: Id,
    element_buffer_id: Option<Id>,
    configs: &[VertexArray]
) -> Result<(), Error>
[src]

pub fn register_extension_vertex_array(
    &mut self
) -> Result<&OesVertexArrayObject, Error>
[src]

pub fn create_vertex_array(&mut self) -> Result<Id, Error>[src]

impl WebGlRenderer<WebGl2RenderingContext>[src]

pub fn release_vertex_array(&self) -> Result<(), Error>[src]

pub fn activate_vertex_array(&self, vao_id: Id) -> Result<(), Error>[src]

pub fn assign_vertex_array(
    &self,
    vao_id: Id,
    element_buffer_id: Option<Id>,
    configs: &[VertexArray]
) -> Result<(), Error>
[src]

pub fn create_vertex_array(&mut self) -> Result<Id, Error>[src]

impl<T: WebGlCommon> WebGlRenderer<T>[src]

pub fn resize(&mut self, width: u32, height: u32)[src]

pub fn current_size(&self) -> (u32, u32)[src]

Auto Trait Implementations

impl<T> !Sync for WebGlRenderer<T>

impl<T> Unpin for WebGlRenderer<T> where
    T: Unpin

impl<T> !Send for WebGlRenderer<T>

impl<T> UnwindSafe for WebGlRenderer<T> where
    T: UnwindSafe

impl<T> !RefUnwindSafe for WebGlRenderer<T>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]