If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
![]() |
|
|
|
|
#1 |
|
Darlek ******
Join Date: Jun 2004
Posts: 9,486
|
|
|
|
|
|
|
#2 | |
|
Senior Member
Join Date: Feb 2002
Posts: 1,865
|
Quote:
|
|
|
|
|
|
|
#3 |
|
Mord's imaginary friend
Join Date: Jan 2004
Location: PT, EU
Posts: 3,506
|
Don't let the console fans hear you or they'll call you a lazy, over-the-hill, relic of the cold war.
As for the article. Carmack is, as is usual, very interesting but I do wish he'd be a little more precise on what kind of time-frame he is talking about (id Tech 5 still not out so I'm guessing at least 5 years out for id Tech 6). Also, he has previously said virtualised geometry was pushed out of id Tech 5 into id Tech 6 because there's not enough geometry density right now to use any real-time mesh decimation algos but if wants that for distance LoDs I'm not sure people would mind slight inaccuracies in models when they're 50 or 100 feet away from the player.
__________________
The optimist proclaims that we live in the best of all possible worlds, and the pessimist fears this is true. - James Branch Cabell |
|
|
|
|
|
#4 | |
|
Now Officially a Top 10 Poster
Join Date: May 2006
Location: Maastricht, The Netherlands
Posts: 12,879
|
Quote:
Everyone who is having this discussion still right now ... come on! He's just saying that to discourage developers from developing their own engine instead of purchasing the Rage6 engine (never mind the Unreal Engine). |
|
|
|
|
|
|
#5 | |
|
Senior Member
Join Date: Feb 2002
Posts: 1,865
|
Quote:
Getting good utilization out of multiprocessor systems, SMP UMA systems in particular, is non-trivial. That doesn't mean that monolithic single threaded cores is the way forward, I've been lamenting the lack of explicitly MP aware programming courses at our local universities for well over a decade. Just because Carmack is right in pointing out the difficulties with parallelising computational tasks, doesn't mean that it isn't the way forward anyway. It is, but expectations for the degree of core utilization in the general case shouldn't be too optimistic. |
|
|
|
|
|
|
#6 | ||
|
Mord's imaginary friend
Join Date: Jan 2004
Location: PT, EU
Posts: 3,506
|
Quote:
Quote:
id Tech 5, in particular, seems very thread-happy in it being a multi-platform engine using two primary threads for graphics and gameplay and then splitting off work on available cores to do effects physics, content streaming/(de)compression, etc. as well as the usual sound async thread. Quake Wars already follows this model with 2 major threads + the MegaTexture thread. So while he complains, he's still at the forefront doing the actual work.
__________________
The optimist proclaims that we live in the best of all possible worlds, and the pessimist fears this is true. - James Branch Cabell |
||
|
|
|
|
|
#7 |
|
Member
Join Date: Mar 2007
Location: Wroclaw, Poland
Posts: 578
|
The problem is not that it looks bad for distant objects (it doens't). The problem is you want near-smooth graduation of LODs to limit popup/flickering. Popup is anoying and destroys overall impressions. If you're aiming for realism and have lots of LOD popups, it just looks bad.
__________________
Shifty Geezer: I don't think the guy really understands the subject. PARANOiA: To be honest, Shifty, what you've described is 95% of Beyond3D - armchair experts spouting fact based on the low-level knowledge of a few. This posting is provided "AS IS" with no warranties, and confers no rights. |
|
|
|
|
|
#8 | |
|
Darlek ******
Join Date: Jun 2004
Posts: 9,486
|
Quote:
|
|
|
|
|
|
|
#9 |
|
Junior Member
Join Date: Jun 2007
Location: Seattle, WA
Posts: 11
|
I thought it was really interesting that he mentioned "refraction skeletons" as a way to do animated characters with raytracing, but he didn't talk much about it and he seems to have coined the term "refraction skeleton" just now as a Google search returns nothing else. Surely he didn't invent this whole concept just now; what do other people call it?
|
|
|
|
|
|
#10 |
|
Join Date: Jul 2002
Location: NC
Posts: 425
|
Not to mention it's usually faster to just render the full resolution geometry than to do all the LOD calculations, transitions and bus transfers unless you're doing only the simplest forms of LOD in which case the popping issues are usually too unsightly.
This is one of those areas of computer graphics where there have been tons and tons of research done on the subject over the years and it never really made sense from the beginning and will make even less sense as time goes on. All that research (and there's probably more on this subject than any other single subject) was, IMHO, almost a complete waste of time and resources. |
|
|
|
|
|
#11 | |
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
It's the same argument as texture filtering really... if you ignore it you need to be doing more super-sampling than you want to which is going to be more of a waste than just doing some proper LOD. Avoiding popping is just a function of doing your LOD on a fine enough scale. |
|
|
|
|
|
|
#12 |
|
Member
Join Date: Nov 2007
Location: Santa Clara, CA
Posts: 427
|
I'm not convinced that popup would be an issue with LOD in a raycasting method. I say raycasting instead of raytracing, because raycasting has allready been proven to work quite well on GPUs and perhaps Carmack is simply extending this with virtual 3D texturing... For one thing if you were raycasting and surface was defined as an iso-surface, wouldn't the geometry subtly morph between LOD levels?
|
|
|
|
|
|
#13 |
|
Now Officially a Top 10 Poster
Join Date: May 2006
Location: Maastricht, The Netherlands
Posts: 12,879
|
It's an inspiring article. I also agree that popup isn't necessarily going to be an issue. That's just a matter of being smarter with storage. I think his idea of using a tree is very interesting. I can immediately imagine how that would work. I could also imagine that you could build in semi-dynamic lighting and shadow maps fairly easily to scale exactly the same way, with only dynamically moving objects or lights modifying the existing values (not saying that is the most perfect way to do it, but it could be very scaleable). In this way, you would always have a matching level of geometry and lighting / shadow maps (actually that's not entirely the right word perhaps), no matter how deeply you dive into the details (well, up to how much detail you've provided at different levels of the tree of course).
|
|
|
|
|
|
#14 |
|
Join Date: Jul 2002
Location: NC
Posts: 425
|
I would like to think that long before that ever became a major concern we would've moved beyond a strictly triangle mesh format for our geometric data into something where the frequency of the data was dependent on the frequency of the sampling, in which case aliasing is handled automatically (as in, you only tessellate as far down as you need to based on proximity to the camera). i.e. something like what Carmack is proposing here, subdivision surfaces, nurbs, etc as once you're at the level of detail we're talking about here (triangles smaller than pixels) you're certainly not going to be modeling using triangle meshes and there are definitely going to be better ways to represent your geometry.
In case it wasn't clear, in my original post I was talking purely about the traditional triangle mesh level of detailing algorithms you see in the form of SLOD/DLOD/CLOD algorithms applied to characters and terrain in today's games, not all forms of detail management. |
|
|
|
|
|
#15 | |
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
|
|
|
|
|
|
|
#16 | |
|
Regular
|
Quote:
Jawed |
|
|
|
|
|
|
#17 | |
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
As an example, controlling the tesselation factor in any sort of screen-space-dependent way involves at the very least transform feedback and re-rendering. Furthermore once you've set it up to ensure sub-pixel triangles now you're running at least 4 programs per pixel whereas only 1 is really necessary. That's exactly what I'm trying to say: the pipeline itself is setup in a way that makes handling excessive or screen-space tesselation inefficient. I also agree that LOD is more of a problem than tesselation moving forward. Regardless of defining subdivision surface meshes at courser levels than usual, there's still too much detail/information there to allow getting both a nice-looking subdivided mesh up close and efficient rendering in the distance. |
|
|
|
|
|
|
#18 | |||
|
Regular
|
Quote:
http://graphics.stanford.edu/~yoel/n...eyes-gcafe.ppt To be fair, D3D10.1's provision of "per-sample shading" does sort of give the appearance of sub-pixel shading. Quote:
I should link to Jeremy's notes: http://graphics.stanford.edu/~yoel/notes/ since he's written quite a bit. Quote:
Jawed |
|||
|
|
|
|
|
#19 | |
|
Member
Join Date: Nov 2006
Posts: 128
|
Quote:
Edit: Looks like Jawed answered this; I didn't see that until after I posted. Last edited by armchair_architect; 15-Mar-2008 at 19:43. Reason: Posting race condition |
|
|
|
|
|
|
#20 |
|
Join Date: Jul 2002
Location: NC
Posts: 425
|
I'm curious how closely the tessellation spec of DX11 matches what was originally planned for DX10. That was one of the features I was pretty disappointed about being dropped (although I understand why). I had started working on a complete displaced subdivision surface renderer when I first saw the specs and later largely abandoned my efforts after seeing the differences between what was proposed and what was actually being implemented.
|
|
|
|
|
|
#21 |
|
Regular
|
These two papers from GDC08 seem to present some kind of hybrid of XB360, R6xx, DX9 and forward-looking tessellation concepts:
http://ati.amd.com/developer/gdc/200...tion_GDC08.pdf http://ati.amd.com/developer/gdc/200...Poly_World.pdf D3D11 introduces the control point shader stage, which from those presentations is a pre-processing stage ahead of tessellation. Dunno if these give a decent lookahead... Jawed |
|
|
|
|
|
#22 |
|
Join Date: Jul 2002
Location: NC
Posts: 425
|
There are also some Microsoft Presentations on the matter:
The Future of DirectX There's also a new one for GDC '08 but I don't think it's online yet. |
|
|
|
|
|
#23 |
|
Member
Join Date: Nov 2007
Location: Santa Clara, CA
Posts: 427
|
I still have my doubts that hardware tessellation is going to be such a great thing. It still doesn't solve the larger problem of longer view distances and open spaces. Sure you can increase detail (tessellate) when an object gets closer, but is this really that important now anyway (could do relief mapping or self shadowed parallax mapping for detail)? The real challenge is solving the reverse problem, ie how to handle objects getting smaller and smaller ... to the point of needing to combine objects into a single draw call, and manage un-tessellation (merging disjoint polygons) into something which isn't a fractional pixel in size...
|
|
|
|
|
|
#24 | |
|
Regular
|
Quote:
The impression I get is the underlying model is lower poly than you'd want to use if you were making the game without tessellation (even with NM+POM). So for distantly viewed characters/buildings/objects the gain comes from the underlying simplicity of the models rather than a magic algorithm that "un-tessellates". Jawed |
|
|
|
|
|
|
#25 | |
|
Member
Join Date: Nov 2007
Location: Santa Clara, CA
Posts: 427
|
Quote:
Don't get me wrong, I still think tessellation from displacement map textures is awesome. Something that well might have been useful with DX10 if the geometry shader wasn't such a non-optimal and slow pipeline stage. |
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|