Show HN: Volume rendering 3D data in Three.js and GLSL

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • volume-rendering

    🌊 The code for my volume rendering implementation in Three.js and GLSL.

  • Viewers

    OHIF zero-footprint DICOM viewer and oncology specific Lesion Tracker, plus shared extension packages

  • My app does not support DICOM files as input. Just Uint8 256x256x256 raw files that are scaled 1x1x1. Maybe if I had the chance to work on it full-time I'd have the time to add those features, but it's just a side project for now.

    Have you looked into Slicer3D[0] which is a multi-platform desktop app or Open Health Image Foundations dicom viewer[1] which is web-based? Perhaps one of these will help.

    [0] https://www.slicer.org/

    [1] https://github.com/OHIF/Viewers

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • webgpu_inspector

    Inspection debugger for WebGPU

  • Author of the WebGL volume rendering tutorial [0] you mentioned in the readme here, great work!

    Working in WebGL/JS is nice since you can deploy it everywhere, but it can be really hard for graphics programming as you've found because there are very few tools for doing real GPU/graphics debugging for WebGL. The only one I know of is [1], and I've had limited success with it.

    WebGPU is a great next step, it provides a modern GPU API (so if you want to learn Metal, DX12, Vulkan, they're more familiar), and modern GPU functionality like storage buffers and compute shaders, not to mention lower overhead and better performance. The WebGPU inspector [2] also looks to provide a GPU profiler/debugger for web that aims to be on par with native options. I just tried it out on a small project I have and it looks really useful. Another benefit of WebGPU is that it maps more clearly to Metal/DX12/Vulkan, so you can use native tools to profile it through Chrome [3].

    I think it would be worth learning C++ and a native graphics API, you'll get access to the much more powerful graphics debugging & profiling features provided by native tools (PIX, RenderDoc, Nvidia Nsight, Xcode, etc.) and functionality beyond what even WebGPU exposes.

    Personally, I have come "full circle": I started with C++ and OpenGL, then DX12/Vulkan/Metal, then started doing more WebGL/WebGPU and JS/TS to "run everywhere", and now I'm back writing C++ but using WebGL/WebGPU and compiling to WebAssembly to still everywhere (and native for tools).

    With WebGPU, you could program in C++ (or Rust) and compile to both native (for access to debuggers and tools), and Wasm (for wide deployment on the web). This is one of the aspects of WebGPU that is most exciting to me. There's a great tutorial on developing WebGPU w/ C++ [4], and a one on using it from JS/TS [5].

    [0] https://www.willusher.io/webgl/2019/01/13/volume-rendering-w...

    [1] https://spector.babylonjs.com/

    [2] https://github.com/brendan-duncan/webgpu_inspector

    [3] https://toji.dev/webgpu-profiling/pix

    [4] https://eliemichel.github.io/LearnWebGPU/

    [5] https://webgpufundamentals.org/

  • Spector.js

    Explore and Troubleshoot your WebGL scenes with ease.

  • Author of the WebGL volume rendering tutorial [0] you mentioned in the readme here, great work!

    Working in WebGL/JS is nice since you can deploy it everywhere, but it can be really hard for graphics programming as you've found because there are very few tools for doing real GPU/graphics debugging for WebGL. The only one I know of is [1], and I've had limited success with it.

    WebGPU is a great next step, it provides a modern GPU API (so if you want to learn Metal, DX12, Vulkan, they're more familiar), and modern GPU functionality like storage buffers and compute shaders, not to mention lower overhead and better performance. The WebGPU inspector [2] also looks to provide a GPU profiler/debugger for web that aims to be on par with native options. I just tried it out on a small project I have and it looks really useful. Another benefit of WebGPU is that it maps more clearly to Metal/DX12/Vulkan, so you can use native tools to profile it through Chrome [3].

    I think it would be worth learning C++ and a native graphics API, you'll get access to the much more powerful graphics debugging & profiling features provided by native tools (PIX, RenderDoc, Nvidia Nsight, Xcode, etc.) and functionality beyond what even WebGPU exposes.

    Personally, I have come "full circle": I started with C++ and OpenGL, then DX12/Vulkan/Metal, then started doing more WebGL/WebGPU and JS/TS to "run everywhere", and now I'm back writing C++ but using WebGL/WebGPU and compiling to WebAssembly to still everywhere (and native for tools).

    With WebGPU, you could program in C++ (or Rust) and compile to both native (for access to debuggers and tools), and Wasm (for wide deployment on the web). This is one of the aspects of WebGPU that is most exciting to me. There's a great tutorial on developing WebGPU w/ C++ [4], and a one on using it from JS/TS [5].

    [0] https://www.willusher.io/webgl/2019/01/13/volume-rendering-w...

    [1] https://spector.babylonjs.com/

    [2] https://github.com/brendan-duncan/webgpu_inspector

    [3] https://toji.dev/webgpu-profiling/pix

    [4] https://eliemichel.github.io/LearnWebGPU/

    [5] https://webgpufundamentals.org/

  • qvrc

    another GLSL volume raycaster

  • Brings back fun memories, wrote something similar in college with qt and opengl: https://github.com/fargiolas/qvrc. It had a super buggy but somewhat working live transfer function editor, blinn phong and toon shading. Really nice project for GLSL learning.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Use Fancy Text(Blotter.js) with Reactjs

    2 projects | dev.to | 1 Mar 2021
  • Gamedev.js Jam 2024 start and theme announcement!

    4 projects | dev.to | 13 Apr 2024
  • A free and open-source Civilization you can play in a browser

    1 project | news.ycombinator.com | 11 Apr 2024
  • Release Radar • March 2024 Edition

    14 projects | dev.to | 7 Apr 2024
  • Deep Learning in JavaScript

    11 projects | news.ycombinator.com | 28 Mar 2024