(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=43616711

Samuelm2 发布了 Nvidia SVRaster 的 WebGL 实现,这是一种基于体素的光线场渲染技术,可作为高斯散射(Gaussian Splatting)的替代方案。该项目已在 GitHub 和 vid2scene.com/voxel 上发布,允许用户在浏览器中渲染 SVRaster 体素场景。Samuelm2 指出,与高斯散射相比,SVRaster 具有独特的优势和劣势。目前,在配备 3080 显卡的笔记本电脑上,2K 分辨率下的性能约为 60 FPS,在 iPhone 13 Pro Max 上约为 10-15 FPS,仍有进一步优化的空间。代码采用 MIT 许可证,鼓励探索和贡献。Samuelm2 还讨论了使用 AI 辅助开发的经验,发现它在编写样板代码方面非常有效,但在复杂的图形调试方面帮助不大。另一位用户询问 SVRaster 是否可以用于蒙皮动画,Samuelm2 回复说它目前主要限于静态几何体。


原文
Hacker News new | past | comments | ask | show | jobs | submit login
Gaussian Splatting Alternative: WebGL Implementation of Nvidia's SVRaster (github.com/samuelm2)
7 points by samuelm2 1 hour ago | hide | past | favorite | 4 comments










Bit of a related shower thought here.. but solutions that require NVidias high end hardware are always going to be the solutions NVidia promotes right?

If hypothetically someone figured out some magical algorithm to do ray tracing at RTX levels of performance on a CPU, it would severely hurt them right? (Hurt them in terms of GPU market, probably a non issue now AI most of their market.)



Hi all! Several weeks ago, Nvidia released a voxel-based radiance field rendering technique called SVRaster. I thought it was an interesting alternative to Gaussian Splatting, so I wanted to experiment with it and learn more about it.

I've been working on a WebGL viewer to render the SVRaster Voxel scenes from the web, since the paper only comes with a CUDA-based renderer. I decided to publish the code under the MIT license. Here's the repository: https://github.com/samuelm2/svraster-webgl/

I think SVRaster Voxel rendering has an interesting set of benefits and drawbacks compared to Gaussian Splatting, and I think it is worth more people exploring.

I'm also hosting it on vid2scene.com/voxel so you can try it out without having to clone the repository. (Note: the voxel PLY file it downloads is about 50MB so you'll probably have to be on good WiFi).

Right now, there's still a lot more optimizations that would make it faster. I only made the lowest-hanging fruit optimizations. I get about 60FPS on my Laptop 3080 GPU at 2k resolution, and about 10-15 FPS on my iPhone 13 Pro Max.

On the github readme, there's more details about how to create your own voxel scenes that are compatible with this viewer. Since the original SVRaster code doesn't export ply, theres an extra step to convert those voxel scenes to the ply format that's readable by the WebGL viewer.

If there's enough interest, I'm also considering doing a BabylonJS version of this

Also, this project was made with heavy use of AI assistance ("vibe coded"). I wanted to see how it would go for something graphics related. My brief thoughts: it is super good for the boilerplate (defining/binding buffers, uniforms, etc). I was able to get simple voxel rendering within minutes / hours. But when it comes to solving the harder graphics bugs, the benefits are a lot lower. There were multiple times where it would go in the complete wrong direction and I would have to rewrite portions manually. But overall, I think it is definitely a net positive for smaller projects like this one. In a more complex graphics engine / production environment, the benefits might be less clear for now. I'm interested in what others think.



Great work! They'd love to see this over in https://old.reddit.com/r/GaussianSplatting/ :)

In your observation, is this technique restricted to static geometry? Or, is there a clear path to rendering a skinned animated character using SVRaster?



Right now, its pretty restricted to relatively static geometry. You can do simple transforms like scaling, rotating, etc to groups of voxels, so maybe down the line you'd be able to animated them!






Join us for AI Startup School this June 16-17 in San Francisco!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact



Search:
联系我们 contact @ memedata.com