I'm trying to get multisampling working with rust / webgl2 / web_sys
Basically, I'm using most of the code from here (I just want to draw some basic lines) https://rustwasm.github.io/wasm-bindgen/examples/webgl.html
let document = web_sys::window().unwrap().document().unwrap();
let canvas = document.get_element_by_id("canvas").unwrap();
let canvas: web_sys::HtmlCanvasElement =
canvas.dyn_into::<web_sys::HtmlCanvasElement>().unwrap();
let options = canvas.get_context("webgl2").unwrap().unwrap();
let context = options.dyn_into::<WebGl2RenderingContext>().unwrap();
let program = link_program(&context, ..., ...).unwrap();
context.use_program(Some(&program));
let position_attribute_location = context.get_attrib_location(&program, "position");
let buffer = context
.create_buffer()
.ok_or("Failed to create buffer")
.unwrap();
context.bind_buffer(WebGl2RenderingContext::ARRAY_BUFFER, Some(&buffer));
I had hoped that there might be a functionality like this (I had seen something similar in various opengl examples)
context.enable(WebGl2RenderingContext::MULTISAMPLING);
...
context.clear_color(0.0, 0.0, 0.0, 1.0);
context.clear(WebGl2RenderingContext::COLOR_BUFFER_BIT); context.draw_arrays(WebGl2RenderingContext::LINES, 0, vert_count);
Reading https://registry.khronos.org/webgl/specs/latest/2.0/ as well as https://github.com/rustwasm/wasm-bindgen/blob/main/crates/web-sys/src/features/gen_WebGl2RenderingContext.rs#L2059 I found out that there definitely should be a functionality to do this but unfortunately I cannot figure out how. Also, I couldn't find any examples on the web on how to accomplish this with rust.