aeva,
@aeva@mastodon.gamedev.place avatar

random brain wandering:

Suppose you have a cellular space like a grid or a quad tree or such. Each cell intersecting a shape (say, a triangle) records relative surface feature (say, a plane) that might be useful for recovering or extrapolating a nearest point on surface. Maybe a cell stores an authoritative surface feature, or maybe it can have several, doesn't really matter for this post.

Then, empty neighbors use that data to generate their own (non-overlapping) relative surface features.

aeva,
@aeva@mastodon.gamedev.place avatar

Repeat that process until all cells are populated with information that says where the nearest thing is.

Anyways, I don't know if it's useful, and I don't have an immediate problem I'm trying to solve with it, but I'm curious to learn more about it and the idea feels too obvious to be novel so question for you smart people:

  1. what is this called
morten_skaaning,
@morten_skaaning@mastodon.gamedev.place avatar

@aeva is it for a single mesh or many? Can the mesh be a triangle soup or need it be closed watertight?

aeva,
@aeva@mastodon.gamedev.place avatar

@morten_skaaning I was thinking using it for CSG. I think watertightness might not matter, but I haven't thought it through.

gkrnours,
@gkrnours@mastodon.gamedev.place avatar

@aeva that sounds useful for 3D mesh reconstruction for 3D printing. You probably know the printer resolution in advance so you know grid denser than some threshold won't help

aeva,
@aeva@mastodon.gamedev.place avatar

@gkrnours yup. it could potentially make levelset adjustments trivial

demofox,
@demofox@mastodon.gamedev.place avatar

@aeva it sounds pretty similar to the jump flood algorithm (JFA), which is a way of generating a voronoi diagram, and then an SDF.

aeva,
@aeva@mastodon.gamedev.place avatar

@demofox that's more or less how I got to it. I was thinking about what information is lost by sparse distance fields and my mind wandered a bit.

demofox,
@demofox@mastodon.gamedev.place avatar

@aeva makes sense!

demofox,
@demofox@mastodon.gamedev.place avatar
demofox,
@demofox@mastodon.gamedev.place avatar

@aeva there's also something called the parallel banding algorithm (pba) which I've heard is superior to jfa but I haven't dug into the details

topher_batty,
@topher_batty@mastodon.acm.org avatar

@demofox @aeva also more or less describes the mesh to SDF construction algorithm in my Github (shamelessly stolen from my PhD supervisor, I just added the cmdline interface)

aeva,
@aeva@mastodon.gamedev.place avatar

@topher_batty @demofox is that intermediary state called something

demofox,
@demofox@mastodon.gamedev.place avatar

@aeva @topher_batty this might not be what you are asking, but if you have information about what "thing" is closest to each point, I'd call it a voronoi diagram.
So long as there is a finite / discrete number of things, like if you were just storing an integer.

aeva,
@aeva@mastodon.gamedev.place avatar

@demofox @topher_batty that makes sense! so essentially each pixel holds information about the closest voronoi edge, and the edge can be something like a surface crossing or some other thing

demofox,
@demofox@mastodon.gamedev.place avatar

@aeva @topher_batty yeah totally :)

aeva,
@aeva@mastodon.gamedev.place avatar

if nobody knows I'm gonna be a monster and call it a Surfel Dissemination Field

natevw,
@natevw@toot.cafe avatar

@aeva are you and @zens talking about at all the same thing? https://merveilles.town/@zens/112352175025354588

as a non-3d graphics I'm interpreting both as kind of, pixels with sparkling metadata? 🙈

aeva,
@aeva@mastodon.gamedev.place avatar

@natevw @zens sorta. What I have in mind is every point in space encodes some information about the nearest surface, which among other things might be useful for CSG, physics queries, and various geometric transforms, whereas she's talking about screen space geometry hints that might make the final image resolution independent. They're both methods for avoiding quantization though, so I see the connection you're drawing.

aeva,
@aeva@mastodon.gamedev.place avatar

this is the closest thing I've found so far, but it's not quite the same thing https://prideout.net/coordinate-fields

efi,
@efi@chitter.xyz avatar

@aeva is this like... how far away the minecraft torch is so we know the light in the block???

aeva,
@aeva@mastodon.gamedev.place avatar

@efi imagine every empty cell in minecraft contained a bisecting plane parallel to the closest surface, as well as a distance value. a world where the air is made of broken glass and razor blades

aeva,
@aeva@mastodon.gamedev.place avatar

@efi "w-why?" I'm glad you asked! It looks cool in my head.

efi,
@efi@chitter.xyz avatar

@aeva neat, you could define the plane by its normal to the closest surface and then it's a vector field
it would kinda look a bit like gravity vectors, but discarding the mass and actual distance

aeva,
@aeva@mastodon.gamedev.place avatar

@efi yup. could be expressed as a normal and a distance value

efi,
@efi@chitter.xyz avatar

@aeva I can imagine this being useful as some kind of proxy for global illumination, but im too 3AM brained for this

aeva,
@aeva@mastodon.gamedev.place avatar

@efi that's a reasonable potential use for it

vethanis,
@vethanis@mastodon.gamedev.place avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • slotface
  • kavyap
  • thenastyranch
  • everett
  • tacticalgear
  • rosin
  • Durango
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • InstantRegret
  • Youngstown
  • khanakhh
  • ethstaker
  • JUstTest
  • ngwrru68w68
  • cisconetworking
  • modclub
  • tester
  • osvaldo12
  • cubers
  • GTA5RPClips
  • normalnudes
  • Leos
  • provamag3
  • anitta
  • megavids
  • lostlight
  • All magazines