aras,
@aras@mastodon.gamedev.place avatar

3D object representation landscape 1/2: meshes, voxels, signed distance fields

voxel
signed distance field

aras,
@aras@mastodon.gamedev.place avatar

3D object representation landscape 2/2: point clouds, NeRFs, gaussian splats

neural radiance field
gaussian splats

bitinn,
@bitinn@mastodon.gamedev.place avatar

@aras how about Matt Keeter’s paper? I never fully understood its difference from standard SDF.

https://www.mattkeeter.com/research/mpr-ornl-2021.pdf

bitinn,
@bitinn@mastodon.gamedev.place avatar

deleted_by_author

  • Loading...
  • mjk,
    @mjk@hachyderm.io avatar

    @bitinn @aras

    (I promise I don't bite 🙂)

    The representation is not particularly weird – it's a big blob of math operations (ADD, SUB, DIV, etc) with x, y, z as inputs and a pseudo-distance* as an output.

    It's closest to NERFS, but with heterogeneous math instead of a NN (and different inputs/outputs)

    Like @aras said, the interesting part in the paper is rendering them efficiently on the GPU!

    *the output must be >0 outside, <0 inside, and C0 continuous, but has no Lipshitz constraints

    bitinn,
    @bitinn@mastodon.gamedev.place avatar

    @mjk @aras Thx for the explainer (I might have to digest a bit on some of these terms), just want to finally say I learned a lot from your older post on contouring when I was prototyping runtime meshing of large terrains.

    ignaloidas,
    @ignaloidas@not.acu.lt avatar

    @bitinn @aras
    SDF - a bunch of numbers in an array encoding euclidean distance from the surface
    Implicit surfaces - a function that gives a number quantifying whether it's inside or outside the surface.

    porglezomp,
    @porglezomp@mastodon.social avatar

    @ignaloidas @aras @bitinn an SDF doesn’t have to be stored, plenty are also functions. They’re implicit surface representations where the field represents the signed distance from the surface rather than arbitrary positive/negative. This lets you accelerate the surface finding nicely.

    porglezomp,
    @porglezomp@mastodon.social avatar

    @ignaloidas @aras @bitinn I think just “An SDF is a particular, nicely behaved sort of implicit surface” is the way to characterize the distinction.

    rms80,

    @aras nailed it

    aras, (edited )
    @aras@mastodon.gamedev.place avatar

    …as you call see, I know nothing about NeRFs.

    And this is nowhere near being exhaustive.

    TomF,
    @TomF@mastodon.gamedev.place avatar

    @aras Good news! Nobody else knows how they work either.

    c0de517e,
    @c0de517e@mastodon.gamedev.place avatar

    @aras technically though nerfs etc do not represent a scene, ie geometry, but well... radiance. Like lightfields etc.

    aras,
    @aras@mastodon.gamedev.place avatar

    @c0de517e pffft, details!

    Sythelux,

    @aras I didn't know that signed distance fields are an actual render technique. I thought they are more for the ground work. I probably have to read into them then.

    demofox,
    @demofox@mastodon.gamedev.place avatar

    @Sythelux @aras oh yeah totally. In 2d you can use them to make vector graphics art if using a function, or nearly vector graphics type art if using an sdf in a texture.
    In 3d you can ray march an SDF to find the solid surface and can use them for ad hoc raytracing or more sophisticated path tracing. Lots of neat techniques you can do with them too that give ambient occlusion, subsurface scattering, and more!

    demofox,
    @demofox@mastodon.gamedev.place avatar

    @Sythelux @aras the cactus in this path tracer (https://www.shadertoy.com/view/tdXBW8) is an SDF for example.

    Sythelux,

    @demofox @aras I always thought of SDF as a purely raytracing topic for Light hitting meshes. I never thougt to use it for rendering objects direftly but it mskes sense.

    aras,
    @aras@mastodon.gamedev.place avatar

    @Sythelux @demofox Unbound (https://www.unbound.io/), Womp (https://womp.com/), Adobe Project Neo (https://www.adobe.com/max/2023/sessions/project-neo-gs6-3.html) are all products built pretty much entirely on SDFs as surface/object representation. So are pretty much all 4 kilobyte demoscene demos in last decade. https://www.pouet.net/toplist.php?type=4k&platform=68&limit=20&days=2000

    datamonkey,

    @aras @Sythelux @demofox In terms of shipped games using SDFs for rendering, there's Solar Ash (https://store.steampowered.com/app/1867530/Solar_Ash/) which uses them for rendering the blue-green clouds that are much of the game's terrain. I implemented those; heavily inspired by the techniques used by Claybook (https://store.steampowered.com/app/661920/Claybook/) which has a play area that's entirely SDF.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • DreamBathrooms
  • magazineikmin
  • ethstaker
  • InstantRegret
  • tacticalgear
  • rosin
  • love
  • Youngstown
  • slotface
  • ngwrru68w68
  • kavyap
  • cubers
  • thenastyranch
  • mdbf
  • provamag3
  • modclub
  • GTA5RPClips
  • normalnudes
  • khanakhh
  • everett
  • cisconetworking
  • osvaldo12
  • anitta
  • Leos
  • Durango
  • tester
  • megavids
  • JUstTest
  • All magazines