Back to Molly Rocket Molly Rocket
Molly Rocket games and everything even tangentially related
 

  FAQFAQ  SearchSearch  UsergroupsUsergroups 
Log inLog in  RegisterRegister
 

Carmack: Sparse Voxel Octree
Goto page 1, 2, 3, 4, 5, 6, 7  Next
 
Post new topic Reply to topic    Molly Rocket Forum Index -> Sparse Virtual Texturing
View previous topic :: View next topic  
Author Message
Won



Joined: 21 Sep 2005
Posts: 506
Location: New York

PostPosted: Sat Mar 15, 2008 3:07 am    Post subject: Carmack: Sparse Voxel Octree Reply with quote

Thatcher sent me this at work:

http://pcper.com/article.php?aid=532

Unfortunately, it is in interview format, and not very technical. The gist is that Carmack wants megatextures to manage geometry, too (for static things like landscapes, at least). He mentions something about not having to worry about packing and borders, and 3D being more efficient than 2D, neither of which I understand without some important details. Anyway, maybe y'all know something more, or are capable of some deeper speculation.

No doubt, it will be abbreviated to "voxtree" at some point. Like, just now.
Back to top
View user's profile Visit poster's website
Dave Moore



Joined: 23 Jan 2006
Posts: 125

PostPosted: Sat Mar 15, 2008 5:36 am    Post subject: Reply with quote

Quote:
I think that ray tracing in the classical sense, of analytically intersecting rays with conventionally defined geometry, whether they be triangle meshes or higher order primitives, I’m not really bullish on that taking over for primary rendering tasks which is essentially what Intel is pushing.

Tom-splosion in 5 ... 4 ... 3 ...
Back to top
View user's profile
TomF



Joined: 18 Feb 2007
Posts: 107
Location: Seattle

PostPosted: Sat Mar 15, 2008 6:09 am    Post subject: Reply with quote

Who is this fucking Carmack idiot, and why are they listening to anything Intel says?
Back to top
View user's profile Visit poster's website
casey
Site Admin


Joined: 18 Dec 2004
Posts: 1768
Location: Seattle

PostPosted: Sat Mar 15, 2008 6:11 am    Post subject: Re: Carmack: Sparse Voxel Octree Reply with quote

Won wrote:
Anyway, maybe y'all know something more, or are capable of some deeper speculation.

I do remember Carmack talking about a voxel representation rendering prototype that he had done during one of his "retreats", which was when he would like disappear for a few weeks and work on code where no one could bother him Smile

However I honestly don't remember any of the details. It was a really long time ago, like more than five years ago. But in the article he seemed to suggest he was digging up an old idea, so I'm guessing it's the same thing.

Anyway the gist of it was just that as you get to higher levels of detail, actual 3D geometry is obviously a bad way to store your data, and we've already moved away from that to some degree with displacement maps, which are a way of compressing 3D data by using a sparse 3D mesh to give structure to 2D data.

So I think his voxel thing is trying to get a bit further than that, and allow compression of more complex data than a 2D-mesh-plus-displacement-map, but with the same general goal in mind. So when he says "ray cast" into it, I think it might be better to read that as "traverse".

- Casey
Back to top
View user's profile Send e-mail Visit poster's website
sean



Joined: 01 Feb 2005
Posts: 1392
Location: Kirkland WA

PostPosted: Sat Mar 15, 2008 2:22 pm    Post subject: Reply with quote

My considered opinion, after 5-10 years of fucking with this sort of thing in software, is that voxels are a total lose compared to texture-mapped triangles.

The screen display is 2D. Texture-mapped triangles are 2D. That means there is a really nice analytic correspondence between them that lets you do things like texture filtering.

Voxels are 3d, but the screen display is still 2D. If you do anything like splatting, you're fucked. If you treat each voxel as a little cube, it's now got a well-defined 2D shape and behavior, but it's still pretty painful to do anything analytic about the fact that your sample covers a little square on the screen (to a first approximation). You don't have the topological connectivity to adjacent voxels corresponding in a straightforward way to the screen; indeed, it's a mess just to think about three faces of the voxel facing the same sample. You can certainly do the math and get that right, but I'm not sure you've got a win over just have a quad or so covering the same area.

I'll be happy to be proved wrong, but I think you're just fucked. Voxels worked in Quake only because it was software rendered so it was already point-sampled textures anyway.
Back to top
View user's profile Visit poster's website
Won



Joined: 21 Sep 2005
Posts: 506
Location: New York

PostPosted: Sat Mar 15, 2008 4:19 pm    Post subject: Reply with quote

Yeah, Carmack's statements on Intel don't really jive with my understanding of what Intel's actual goals are for Larrabee.

Another texture-filtering thing that came to mind re: voxels is that you can't actually do straightforward mip-mapping with them; it is view-dependent due to occlusion. Maybe you can solve this by somehow representing intermediate nodes with geometry, but that sounds like it is inviting a shitshow.

Wait, what do voxels have to do with Quake?
Back to top
View user's profile Visit poster's website
casey
Site Admin


Joined: 18 Dec 2004
Posts: 1768
Location: Seattle

PostPosted: Sat Mar 15, 2008 4:36 pm    Post subject: Reply with quote

Quote:
Wait, what do voxels have to do with Quake?

I think Quake was the renderer era when Carmack originally did the experiment, if memory serves.

- Casey
Back to top
View user's profile Send e-mail Visit poster's website
casey
Site Admin


Joined: 18 Dec 2004
Posts: 1768
Location: Seattle

PostPosted: Sat Mar 15, 2008 4:43 pm    Post subject: Reply with quote

sean wrote:
My considered opinion, after 5-10 years of fucking with this sort of thing in software, is that voxels are a total lose compared to texture-mapped triangles.

I don't know that he really means voxels though, which is what I was trying to say to Won. As you know, Carmack is not exactly a stickler for terminology.

Like, I could totally see him envisioning something like this but still calling it voxels for some reason.

- Casey
Back to top
View user's profile Send e-mail Visit poster's website
Won



Joined: 21 Sep 2005
Posts: 506
Location: New York

PostPosted: Sat Mar 15, 2008 5:06 pm    Post subject: Reply with quote

Oh I see, I didn't really know what to make of your "Carmackian raycast == octree traversal" comment at first. So you think he means sparse geometry images? Well, that gives you dense, implicit connectivity if you're dealing with a surface, but I don't think that extends cleanly to 3-D. But, if you are speaking by analogy, then I suppose it is possible. Maybe he's just talking about hardware-accelerated traversal and his definition of voxel is just different/misleading/wrong, like some atom of geometry?
Back to top
View user's profile Visit poster's website
sean



Joined: 01 Feb 2005
Posts: 1392
Location: Kirkland WA

PostPosted: Sat Mar 15, 2008 8:19 pm    Post subject: Reply with quote

Won wrote:
Wait, what do voxels have to do with Quake?


Distant objects in Quake were rendered as a pseudo point-cloud (render the vertices as points, recurse within triangles if the vertices aren't close enough to each other in screen space).

You can think of this as really sloppy triangle rendering, or you can think of it as a kind of voxel rendering.

casey wrote:
I don't know that he really means voxels though, which is what I was trying to say to Won. As you know, Carmack is not exactly a stickler for terminology.


True to the latter, but everything he said was totally consistent with actually meaning voxels. "Totally unique geometry at the texel level", "less memory since you don't need to store coordinates", "bit operations", etc.

Quote:
Like, I could totally see him envisioning something like this but still calling it voxels for some reason.


As I recall somewhere in that article he explicitly rejected tessellation+displacement-mapping. It seems like geometry images are really still just tesselation + displacement-mapping. Much more extreme displacement-mapping, since the displacemnts are "arbitrary", but you're not really saving any storage for the spatial coordinates, just the texture coordinates.
Back to top
View user's profile Visit poster's website
billyzelsnack



Joined: 05 Jul 2005
Posts: 14

PostPosted: Thu Mar 20, 2008 2:12 pm    Post subject: Reply with quote

We were talking about this at work the other day and a coworker dug up this paper..

http://www.cs.utah.edu/~knolla/octiso-rt06.pdf

Maybe combo it with this..

http://research.microsoft.com/~hoppe/perfecthash.pdf

haha.

Whatever Carmack plans on doing I'm sure his decision process will be heavily weighted towards maximum compression.
Back to top
View user's profile
Won



Joined: 21 Sep 2005
Posts: 506
Location: New York

PostPosted: Thu Mar 20, 2008 3:30 pm    Post subject: Reply with quote

All graphics research lead to Ingo Wald and Hughes Hoppe, apparently.

The perfect hash stuff is cool, but I would imagine preprocessing is anathema to dynamic resource management.

I wonder how good hashing is for interactive purposes. Dealing with collisions can lead to some bad worst-case behavior (or poor space utilization or both), and doing any sort of chaining on the GPU seems rather distasteful.
Back to top
View user's profile Visit poster's website
sean



Joined: 01 Feb 2005
Posts: 1392
Location: Kirkland WA

PostPosted: Thu Mar 20, 2008 4:12 pm    Post subject: Reply with quote

I think internal chaining/probing on the GPU is actually pretty reasonable on modern looping pixel shaders. If you have, say, a 90% chance of hitting on each probe, then it doesn't matter if some pixels take 3 or 4 probes; most still only take 1, and the massively parallel GPU should smooth things out pretty well.

That said, I don't see any use for it.
Back to top
View user's profile Visit poster's website
icastano



Joined: 01 Jul 2007
Posts: 32

PostPosted: Thu Mar 20, 2008 6:38 pm    Post subject: Reply with quote

billyzelsnack wrote:
We were talking about this at work the other day and a coworker dug up this paper..

http://www.cs.utah.edu/~knolla/octiso-rt06.pdf


It's interesting their observation about coherent traversals:

Quote:
We chose not to employ SIMD or packets. Given our focus on
large data, we would expect highly-variant scenes and at best modest
speedups from coherent techniques. Wald et al. [25] reported
little performance gains from coherent techniques on large data.


Given that current GPU architectures have larger SIMD widths than CPUs, I wonder how well this octree traversal would map to the GPU.
Back to top
View user's profile
icastano



Joined: 01 Jul 2007
Posts: 32

PostPosted: Thu Mar 20, 2008 10:28 pm    Post subject: Reply with quote

icastano wrote:
Given that current GPU architectures have larger SIMD widths than CPUs, I wonder how well this octree traversal would map to the GPU.

Oops, don't wonder anymore:

http://www.cs.utah.edu/~knolla/publications.html
Back to top
View user's profile
Display posts from previous:   
Post new topic Reply to topic    Molly Rocket Forum Index -> Sparse Virtual Texturing All times are GMT
Goto page 1, 2, 3, 4, 5, 6, 7  Next
Page 1 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Molly Rocket topic RSS feed 
Molly Rocket topic RSS feed 
Molly Rocket topic RSS feed, first posts only 


Powered by phpBB © 2001, 2005 phpBB Group