pub struct WebGlRenderer<T: WebGlCommon> {
    pub gl: T,
    pub canvas: HtmlCanvasElement,
    pub version: WebGlVersion,
    pub hardcoded_attribute_locations: FxHashMap<String, AttributeLocation>,
    pub hardcoded_ubo_locations: FxHashMap<String, BufferLocation>,
    /* private fields */
}

Fields§

§gl: T§canvas: HtmlCanvasElement§version: WebGlVersion§hardcoded_attribute_locations: FxHashMap<String, AttributeLocation>§hardcoded_ubo_locations: FxHashMap<String, BufferLocation>

Implementations§

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

pub fn cache_attribute_name( &mut self, program_id: Id, name: &str ) -> Result<(u32, bool), Error>

source

pub fn get_attribute_location_name( &mut self, name: &str ) -> Result<AttributeLocation, Error>

source

pub fn activate_attribute_loc( &self, target_loc: AttributeLocation, opts: &AttributeOptions )

source

pub fn activate_attribute_name( &mut self, target_name: &str, opts: &AttributeOptions ) -> Result<(), Error>

source

pub fn activate_buffer_for_attribute_name( &mut self, buffer_id: Id, buffer_target: BufferTarget, attribute_name: &str, opts: &AttributeOptions ) -> Result<(), Error>

source

pub fn activate_buffer_for_attribute_loc( &self, buffer_id: Id, buffer_target: BufferTarget, attribute_loc: AttributeLocation, opts: &AttributeOptions ) -> Result<(), Error>

source

pub fn upload_buffer_to_attribute_name<B: BufferDataImpl>( &mut self, id: Id, data: B, attribute_name: &str, opts: &AttributeOptions ) -> Result<(), Error>

source

pub fn upload_buffer_to_attribute_loc<B: BufferDataImpl>( &self, id: Id, data: B, attribute_loc: AttributeLocation, opts: &AttributeOptions ) -> Result<(), Error>

source§

impl<T: WebGlCommon + 'static> WebGlRenderer<T>

source

pub fn as_any_mut(&mut self) -> &mut dyn Any

source

pub fn as_any(&self) -> &dyn Any

source

pub fn as_webgl1(&mut self) -> Result<&mut WebGl1Renderer, Error>

source

pub fn as_webgl2(&mut self) -> Result<&mut WebGl2Renderer, Error>

source

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

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

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

source

pub fn delete_buffer(&self, buffer_id: Id) -> Result<(), Error>

source

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

source

pub fn release_buffer(&self, target: BufferTarget)

source

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

source

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

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

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

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

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

source

pub fn scissor(&self, x: i32, y: i32, width: u32, height: u32)

source

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

source

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

source§

impl WebGlRenderer<WebGlRenderingContext>

source

pub fn draw_buffers(&self, target_buffers: &[DrawBuffer]) -> Result<(), Error>

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

pub fn draw_buffers(&self, target_buffers: &[DrawBuffer]) -> Result<(), Error>

source

pub fn clear_draw_buffer_vf32_values( &self, buffer: Buffer, draw_buffer_index: usize, values: &[f32] )

source

pub fn reset_color_draw_buffer_vf32(&self, draw_buffer_index: usize)

source

pub fn clear_draw_buffer_vi32_values( &self, buffer: Buffer, draw_buffer_index: usize, values: &[i32] )

source

pub fn reset_color_draw_buffer_vi32(&self, draw_buffer_index: usize)

source

pub fn clear_draw_buffer_vu32_values( &self, buffer: Buffer, draw_buffer_index: usize, values: &[u32] )

source

pub fn reset_color_draw_buffer_vu32(&self, draw_buffer_index: usize)

source

pub fn clear_draw_buffer_fi( &self, buffer: Buffer, draw_buffer_index: usize, depth: f32, stencil: i32 )

source

pub fn clear_draw_buffer_depth_stencil_values(&self, depth: f32, stencil: i32)

source

pub fn reset_depth_stencil_draw_buffer(&self)

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

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

source§

impl WebGlRenderer<WebGlRenderingContext>

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

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

source

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

source

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

source

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

source

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

source

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

source§

impl WebGlRenderer<WebGlRenderingContext>

source

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

source

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

source

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

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

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

source

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

source

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

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

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

source

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

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

pub fn create_query(&self) -> Result<WebGlQuery, Error>

source

pub fn begin_query(&self, kind: GlQueryKind, query: &WebGlQuery)

source

pub fn end_query(&self, kind: GlQueryKind)

source

pub fn delete_query(&self, query: WebGlQuery)

source

pub fn current_query(&self, kind: GlQueryKind) -> Option<WebGlQuery>

source

pub fn query_available(&self, query: &WebGlQuery) -> Result<bool, Error>

source

pub fn query_result(&self, query: &WebGlQuery) -> Result<u32, Error>

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

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

source

pub fn compile_shader( &mut self, source: &str, source_type: ShaderType ) -> Result<Id, Error>

source§

impl WebGlRenderer<WebGlRenderingContext>

source

pub fn compile_program(&mut self, shaders: &[Id]) -> Result<Id, Error>

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

pub fn compile_program(&mut self, shaders: &[Id]) -> Result<Id, Error>

source§

impl<G: WebGlCommon> WebGlRenderer<G>

source

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

source

pub fn delete_texture(&mut self, id: Id) -> Result<(), Error>

source

pub fn release_texture_target(&mut self, bind_target: TextureTarget)

source

pub fn get_texture_sampler_names( &self, program_id: Id ) -> Result<Vec<String>, Error>

source

pub fn cache_sampler_index_name( &mut self, program_id: Id, name: &str ) -> Result<u32, Error>

source

pub fn get_sampler_index_name(&mut self, name: &str) -> Result<u32, Error>

source

pub fn get_texture(&self, texture_id: Id) -> Result<&WebGlTexture, Error>

source

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

source

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

source

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

source

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>

source

pub fn activate_texture_sampler_name( &mut self, texture_id: Id, sampler_name: &str ) -> Result<(), Error>

source

pub fn activate_texture_sampler_index( &mut self, texture_id: Id, sampler_loc: WebGlUniformLocation, sampler_index: u32 ) -> Result<(), Error>

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

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

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

pub fn get_uniform_buffer_offsets( &self, program_id: Id ) -> Result<Vec<(String, UniformIndex, BlockOffset)>, Error>

source

pub fn get_uniform_buffer_offset( &self, program_id: Id, uniform_index: u32 ) -> Result<u32, Error>

source

pub fn cache_uniform_buffer_location( &mut self, program_id: Id, name: &str ) -> Result<(BufferLocation, bool), Error>

source

pub fn cache_uniform_buffer_block_index( &mut self, program_id: Id, name: &str ) -> Result<(BlockIndex, bool), Error>

source

pub fn cache_uniform_buffer_block_field_offset_name( &mut self, program_id: Id, block_name: &str, field_name: &str, field_offset: FieldOffset ) -> Result<(BlockOffset, bool), Error>

source

pub fn get_uniform_buffer_location_name( &mut self, program_id: Id, name: &str ) -> Result<BufferLocation, Error>

source

pub fn get_uniform_buffer_block_index_name( &mut self, program_id: Id, name: &str ) -> Result<BlockIndex, Error>

source

pub fn get_uniform_buffer_block_field_offset_name( &mut self, program_id: Id, block_name: &str, field_name: &str ) -> Result<BlockOffset, Error>

source

pub fn get_uniform_buffer_block_field_offset( &mut self, program_id: Id, block_name: &str, field_offset: FieldOffset ) -> Result<BlockOffset, Error>

source

pub fn init_uniform_buffer_name( &mut self, program_id: Id, name: &str ) -> Result<(), Error>

source

pub fn init_uniform_buffer_loc( &mut self, program_id: Id, block_index: BlockIndex, location: BufferLocation ) -> Result<(), Error>

source

pub fn activate_uniform_buffer_loc(&mut self, id: Id, location: BufferLocation)

source

pub fn activate_uniform_buffer_name( &mut self, id: Id, name: &str ) -> Result<(), Error>

source

pub fn upload_uniform_buffer<B: BufferDataImpl>( &mut self, id: Id, buffer_data: B ) -> Result<(), Error>

upload buffer data

source

pub fn upload_sub_uniform_buffer<B: BufferSubDataImpl>( &mut self, block_offset: BlockOffset, id: Id, buffer_data: B ) -> Result<(), Error>

upload buffer data from sub slice

source

pub fn upload_uniform_buffer_f32( &mut self, id: Id, values: &[f32], buffer_usage: BufferUsage ) -> Result<(), Error>

convenience function

source

pub fn upload_uniform_buffer_u8_loc( &mut self, id: Id, values: &[u8], buffer_usage: BufferUsage ) -> Result<(), Error>

convenience function

source

pub fn upload_sub_uniform_buffer_f32( &mut self, block_offset: BlockOffset, id: Id, values: &[f32] ) -> Result<(), Error>

source

pub fn upload_sub_uniform_buffer_u8( &mut self, block_offset: BlockOffset, id: Id, values: &[u8] ) -> Result<(), Error>

source§

impl<G: WebGlCommon> WebGlRenderer<G>

source

pub fn cache_uniform_name( &mut self, program_id: Id, name: &str ) -> Result<(WebGlUniformLocation, bool), Error>

source

pub fn get_uniform_location_name( &mut self, name: &str ) -> Result<WebGlUniformLocation, Error>

source

pub fn upload_uniform_fvec_loc<T: AsRef<[f32]>>( &self, loc: &WebGlUniformLocation, _type: UniformType, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_ivec_loc<T: AsRef<[i32]>>( &self, loc: &WebGlUniformLocation, _type: UniformType, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_mat_4_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_mat_3_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_mat_2_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_mat_transposed_4_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_mat_transposed_3_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_mat_transposed_2_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_fvec_4_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_fvec_3_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_fvec_2_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_fvec_1_loc<T: AsRef<[f32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_ivec_4_loc<T: AsRef<[i32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_ivec_3_loc<T: AsRef<[i32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_ivec_2_loc<T: AsRef<[i32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_ivec_1_loc<T: AsRef<[i32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_fvals_4_loc( &mut self, loc: &WebGlUniformLocation, data: (f32, f32, f32, f32) )

source

pub fn upload_uniform_fvals_4_name( &mut self, target_name: &str, data: (f32, f32, f32, f32) ) -> Result<(), Error>

source

pub fn upload_uniform_fvals_3_loc( &mut self, loc: &WebGlUniformLocation, data: (f32, f32, f32) )

source

pub fn upload_uniform_fvals_3_name( &mut self, target_name: &str, data: (f32, f32, f32) ) -> Result<(), Error>

source

pub fn upload_uniform_fvals_2_loc( &mut self, loc: &WebGlUniformLocation, data: (f32, f32) )

source

pub fn upload_uniform_fvals_2_name( &mut self, target_name: &str, data: (f32, f32) ) -> Result<(), Error>

source

pub fn upload_uniform_fval_loc(&mut self, loc: &WebGlUniformLocation, data: f32)

source

pub fn upload_uniform_fval_name( &mut self, target_name: &str, data: f32 ) -> Result<(), Error>

source

pub fn upload_uniform_ivals_4_loc( &mut self, loc: &WebGlUniformLocation, data: (i32, i32, i32, i32) )

source

pub fn upload_uniform_ivals_4_name( &mut self, target_name: &str, data: (i32, i32, i32, i32) ) -> Result<(), Error>

source

pub fn upload_uniform_ivals_3_loc( &mut self, loc: &WebGlUniformLocation, data: (i32, i32, i32) )

source

pub fn upload_uniform_ivals_3_name( &mut self, target_name: &str, data: (i32, i32, i32) ) -> Result<(), Error>

source

pub fn upload_uniform_ivals_2_loc( &mut self, loc: &WebGlUniformLocation, data: (i32, i32) )

source

pub fn upload_uniform_ivals_2_name( &mut self, target_name: &str, data: (i32, i32) ) -> Result<(), Error>

source

pub fn upload_uniform_ival_loc(&mut self, loc: &WebGlUniformLocation, data: i32)

source

pub fn upload_uniform_ival_name( &mut self, target_name: &str, data: i32 ) -> Result<(), Error>

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

pub fn get_uniform_index_name( &self, program_id: Id, name: &str ) -> Result<u32, Error>

source

pub fn upload_uniform_uvec_loc<T: AsRef<[u32]>>( &mut self, loc: &WebGlUniformLocation, _type: UniformType, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_uvec_4_loc<T: AsRef<[u32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_uvec_3_loc<T: AsRef<[u32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_uvec_2_loc<T: AsRef<[u32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_uvec_1_loc<T: AsRef<[u32]>>( &mut self, loc: &WebGlUniformLocation, data: &T ) -> Result<(), Error>

source

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

source

pub fn upload_uniform_uvals_4_loc( &mut self, loc: &WebGlUniformLocation, data: (u32, u32, u32, u32) )

source

pub fn upload_uniform_uvals_4_name( &mut self, target_name: &str, data: (u32, u32, u32, u32) ) -> Result<(), Error>

source

pub fn upload_uniform_uvals_3_loc( &mut self, loc: &WebGlUniformLocation, data: (u32, u32, u32) )

source

pub fn upload_uniform_uvals_3_name( &mut self, target_name: &str, data: (u32, u32, u32) ) -> Result<(), Error>

source

pub fn upload_uniform_uvals_2_loc( &mut self, loc: &WebGlUniformLocation, data: (u32, u32) )

source

pub fn upload_uniform_uvals_2_name( &mut self, target_name: &str, data: (u32, u32) ) -> Result<(), Error>

source

pub fn upload_uniform_uval_loc(&mut self, loc: &WebGlUniformLocation, data: u32)

source

pub fn upload_uniform_uval_name( &mut self, target_name: &str, data: u32 ) -> Result<(), Error>

source§

impl WebGlRenderer<WebGlRenderingContext>

source

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

source

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

source

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

source

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

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

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

source

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

source

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

source

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

source

pub fn delete_vertex_array(&self, vao_id: Id) -> Result<(), Error>

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

pub fn resize(&mut self, strategy: ResizeStrategy) -> bool

source

pub fn get_viewport(&self) -> (u32, u32, u32, u32)

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

pub fn create_framebuffer(&mut self) -> Result<Id, Error>

source

pub fn delete_framebuffer(&mut self, id: Id) -> Result<(), Error>

source

pub fn release_framebuffer(&self, target: FrameBufferTarget)

source

pub fn bind_framebuffer( &self, framebuffer_id: Id, target: FrameBufferTarget ) -> Result<(), Error>

source

pub fn assign_framebuffer_texture_2d( &mut self, framebuffer_id: Id, texture_id: Id, target: FrameBufferTarget, attachment: FrameBufferAttachment, texture_target: FrameBufferTextureTarget ) -> Result<(), Error>

source

pub fn assign_framebuffer_renderbuffer( &self, framebuffer_id: Id, renderbuffer_id: Id, target: FrameBufferTarget, attachment: FrameBufferAttachment ) -> Result<(), Error>

source

pub fn check_framebuffer_status( &self, target: FrameBufferTarget ) -> Result<(), Error>

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

pub fn blit_framebuffer( &self, src_x0: u32, src_y0: u32, src_x1: u32, src_y1: u32, dst_x0: u32, dst_y0: u32, dst_x1: u32, dst_y1: u32, mask: BufferMask, filter: BlitFilter )

source

pub fn framebuffer_texture_layer( &mut self, target: FrameBufferTarget, attachment: FrameBufferAttachment, texture_id: Id, mipmap_level: u32, layer: u32 ) -> Result<(), Error>

source

pub fn invalidate_framebuffer( &self, target: FrameBufferTarget, attachments: &[FrameBufferAttachment] ) -> Result<(), Error>

source

pub fn invalidate_sub_framebuffer( &self, target: FrameBufferTarget, attachments: &[FrameBufferAttachment], x: u32, y: u32, width: usize, height: usize ) -> Result<(), Error>

source

pub fn read_buffer(&self, src: ReadBuffer)

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

pub fn create_renderbuffer(&mut self) -> Result<Id, Error>

source

pub fn get_renderbuffer( &self, renderbuffer_id: Id ) -> Result<&WebGlRenderbuffer, Error>

source

pub fn delete_renderbuffer(&mut self, id: Id) -> Result<(), Error>

source

pub fn release_renderbuffer(&self)

source

pub fn bind_renderbuffer(&self, renderbuffer_id: Id) -> Result<(), Error>

source

pub fn assign_renderbuffer_storage( &self, renderbuffer_id: Id, format: RenderBufferFormat, width: u32, height: u32 ) -> Result<(), Error>

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

pub fn assign_renderbuffer_storage_multisample( &self, renderbuffer_id: Id, samples: u32, format: RenderBufferFormat, width: u32, height: u32 ) -> Result<(), Error>

source

pub fn assign_renderbuffer_storage_multisample_max( &self, renderbuffer_id: Id, format: RenderBufferFormat, width: u32, height: u32 ) -> Result<(), Error>

source§

impl<T: WebGlCommon> WebGlRenderer<T>

source

pub fn read_pixels_u8( &self, x: u32, y: u32, width: u32, height: u32, format: ReadPixelFormat, data_type: ReadPixelDataType, data: &mut [u8] ) -> Result<(), Error>

source

pub fn read_pixels_u8_typed( &self, x: u32, y: u32, width: u32, height: u32, format: ReadPixelFormat, data_type: ReadPixelDataType, data: &mut [u8] ) -> Result<(), Error>

source

pub fn read_pixels_u16( &self, x: u32, y: u32, width: u32, height: u32, format: ReadPixelFormat, data_type: ReadPixelDataType, data: &mut [u16] ) -> Result<(), Error>

source

pub fn read_pixels_f32( &self, x: u32, y: u32, width: u32, height: u32, format: ReadPixelFormat, data_type: ReadPixelDataType, data: &mut [f32] ) -> Result<(), Error>

source§

impl WebGlRenderer<WebGl2RenderingContext>

source

pub fn read_pixels_u8_offset( &self, x: u32, y: u32, width: u32, height: u32, format: ReadPixelFormat, data_type: ReadPixelDataType, offset: usize, data: &mut [u8] ) -> Result<(), Error>

source

pub fn read_pixels_u8_typed_offset( &self, x: u32, y: u32, width: u32, height: u32, format: ReadPixelFormat, data_type: ReadPixelDataType, offset: usize, data: &mut [u8] ) -> Result<(), Error>

source

pub fn read_pixels_u16_offset( &self, x: u32, y: u32, width: u32, height: u32, format: ReadPixelFormat, data_type: ReadPixelDataType, offset: usize, data: &mut [u16] ) -> Result<(), Error>

source

pub fn read_pixels_f32_offset( &self, x: u32, y: u32, width: u32, height: u32, format: ReadPixelFormat, data_type: ReadPixelDataType, offset: usize, data: &mut [f32] ) -> Result<(), Error>

Auto Trait Implementations§

§

impl<T> !Freeze for WebGlRenderer<T>

§

impl<T> !RefUnwindSafe for WebGlRenderer<T>

§

impl<T> !Send for WebGlRenderer<T>

§

impl<T> !Sync for WebGlRenderer<T>

§

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

§

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

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.