A scientific visualization style volume raycaster written using WebGL2 and Javascript. The renderer uses an arcball camera which supports mouse or touch input, and dynamically adjusts the sampling rate to maintain a smooth framerate, even on mobile devices. The volumes are downloaded via XMLHttpRequest from Dropbox when selected. Try it out online! I've also written a blog post about how this renderer is implemented.
Uses webgl-util for some WebGL utilities and glMatrix for matrix/vector operations.
Check out my WebGPU Volume Raycaster and Path Tracer for WebGPU-based examples.