redcube
Spector.js
redcube | Spector.js | |
---|---|---|
4 | 5 | |
95 | 1,242 | |
- | 1.2% | |
3.2 | 6.4 | |
about 2 years ago | 8 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
redcube
Spector.js
-
Show HN: Volume rendering 3D data in Three.js and GLSL
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/
- What's your go to platform for developing with WebGPU?
-
3D website
For debugging, spector.js helps sometimes.
-
How can we know what version of WebGL is running on our browser?
If you want to know what the browser supports, webglreport.com will tell you. If you want to know what a specific page is using, https://spector.babylonjs.com/ can probably tell you. Alternatively, you can go into dev tools, select the canvas in the inspector, and run $0.getContext('webgl2') to see if it's webgl2 or not.
-
How to Inject Javascript to a Site From Chrome Extension
I'm actually not sure. Here is the implementation. The extension can capture single frames of WebGL animations, I think it's something to do with getting the timing of that frame (finding its start and end).
What are some alternatives?
ossos - Webbased Character Animation System
polygonjs - node-based WebGL design tool
pdx-tools - View maps, graphs, and tables of your save and compete in a casual, evergreen leaderboard of EU4 achievement speed runs. Upload and share your save with the world.
TimeChart - An chart library specialized for large-scale time-series data, built on WebGL.
lightdm-webkit-theme-osmos - Osmos - lightdm greeter theme based on GLSL.
threeify - A Typescript 3D library loosely based on three.js
typesl - Typescript to GLSL transpiler
streets-gl - 🗺 OpenStreetMap 3D renderer powered by WebGL2
dgel - A WebGPU engine.
mach-gpu-dawn - Google's Dawn WebGPU implementation, cross-compiled with Zig into a single static library
webgl-rock-pillars - WebGL Floating Islands demo