An extremely fast pixel framebuffer using webgl via ThreeJS
Why is this fast?
Rendering literally just takes a Float32Array subview of wasm's memory and pushes it to the GPU via webgl to be rendered by an uber minimal shader for particles.
see the demo here
```html
```
see the demo here
toml
[dependencies]
hyperpixel = "0.1"
web_timer = "0.1" # for interacting with timing functions in browser
web_random = "0.0" # for generating random numbers efficiently
```rust
use hyperpixel::;
use web_timer::;
use web_random::*;
pub fn main() -> () {
let timer = Timer::default();
let mut random = Random::default();
let framebuffer = HyperPixel::new("#screen");
let (width,height) = framebuffer.dimensions();
let mut pixels = vec![0.0; width * height * 3];
timer.requestanimationloop(Box::new(move |_delta| {
for i in 0..pixels.len() {
pixels[i] = random.gen::
This project is licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in hyperpixel
by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.