Show HN: Real-Time 3D Gaussian Splatting in WebGL

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
  • gaussian-splatting

    Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"

  • Really cool, I am also working on a port of gaussian-splatting [0] but to WebGPU.

    Like all the other implementations I have seen so far, this also makes the same mistake when projecting the ellipsoids in a perspective: First you calculate the covariance in 3D and then project that to 2D [1]. This approach only works with parallel / orthographic projections and applying it to perspectives leads to incorrect results. That is because perspective projections have two additional effects:

    - Parallax movements (that is the view plane moves parallel to the ellipsoids) change the shape of the projected ellipse. E.g. a sphere only appears circular when in center of the view, once it moves to the edges it becomes stretched into an ellipse. This effect is manually counter balanced by this matrix I believe [2].

    - Rotating an ellipse can change the position it appears at, or in other words creates additional translation. This effect is zero if the ellipse has one of its three axes pointing straight at the view (parallel to the normal of the view plane). But, if it is rotated 45°, then the tip of the ellipse that is closer to the view plane becomes larger through the perspective while the other end becomes smaller. Put together, this slightly shifts the center of the appearance away from the projected center of the ellipsoid.

    - Conic sections can not only result in ellipses but also parabola and hyperbola. This however is an edge case that only happens when the ellipsoid intersects with the view plane and can probably be ignored as one would clip away such ellipsoids anyway.

    The last two effects are not accounted for in these calculations in any of the implementations I have seen so far. What would be correct to do instead? Do not calculate the 3D covariance. Instead calculate the bounding cone around the ellipsoid which has its vertex at the camera position (perspective origin). Then intersect that with the view plane and the resulting conic section is guaranteed to be the correct contour of the perspective projection of the ellipsoid.

    [0]: https://github.com/graphdeco-inria/gaussian-splatting

  • splat

    WebGL 3D Gaussian Splat Viewer (by antimatter15)

  • 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
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

  • Show HN: Gaussian Splat renderer in VR with Unity

    2 projects | news.ycombinator.com | 24 Jan 2024
  • Bad accuracy after model training, Can someone help me ?

    1 project | /r/GaussianSplatting | 7 Dec 2023
  • The initial work to get the gaussian-splatting training code working on AMD/ROCm has been done

    1 project | /r/GaussianSplatting | 19 Oct 2023
  • Future Tech SD VR, 3D modeling, Movies, and Video Game Creation (Paper / Videos included)

    1 project | /r/StableDiffusion | 10 Oct 2023
  • Any work on Style transfer using Stable Diffusion based on image-mask pairs similar to Pix2Pix

    1 project | /r/StableDiffusion | 29 Aug 2023