{"repo":"Donitzo/three.js-volume-renderer","free":true,"listed":false,"github":"https://github.com/Donitzo/three.js-volume-renderer","clone":"git clone https://github.com/Donitzo/three.js-volume-renderer.git","description":"A highly customizable real-time volume renderer for three.js","language":"JavaScript","stars":17,"topics":["3d-visualization","data-visualization","glsl","raymarching","realtime-rendering","shader","smoke","smoke-simulation","three-js","threejs"],"license":"MIT","category":"analytics","readme_excerpt":"three.js Volume Renderer Try the demo on GitHub pages: https://donitzo.github.io/three.js-volume-renderer A lightweight volume renderer for three.js that uses raymarching to render procedurally defined or data-driven 3D volumes in real time. Description The volume renderer is implemented as a single VolumeRenderer class that extends THREE.Mesh with a raymarching fragment shader. You can either provide your own 3D volumetric data or supply a custom function in GLSL to create complex procedural shapes or surfaces. The renderer works as a fullscreen postprocessing effect which renders on top of existing geometry. The volume renderer features: - Shader features can be toggled at compile-time using #define directives, keeping it lightweight and versatile for different use cases, e.g. for in-game smoke, MRI scans, and other volumetric data. - Normal estimation for lighting. - Depth testing. - Clip planes. - Color palettes with transparent cutoff range. - Extinction coefficients for translucency. - Rendering of static or animated 3D volume data atlas texture. This could for example be an MRI or smoke. - Sampling from THREE.Mesh surfaces as volumetric shapes via VolumeSamplers.js . What is Raymarching? Raymarching is a rendering technique where, for each pixel, we cast a ray into a scene and advance it in small steps (imagine a cone of WxH rays shooting out from the camera). At each step along the ray, we sample volume data (e.g. density, extinction coefficient, distance function) an","default_branch":null,"files":null,"tree":[],"storefront":"/r/Donitzo","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Donitzo/three.js-volume-renderer/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}