"Yes, but how many polygons?" An artist blog entry with interesting numbers

Discussion in 'Console Technology' started by Farid, Sep 1, 2007.

  1. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,452
    Location:
    Budapest, Hungary
    Pixar has originally developed Catmull-Clark in order to get the best of both worlds from B-patch surfaces and polygons. They get the arbitrary mesh construction and the ability to treat the subdivided surface as patches and use their pre-existing approaches with it.
    The key thing here is that PRMan dices up everything into micropolygons for shading and rendering. So they don't have to deal with tesselation because they already have something better.

    There are other ways to render C-C subdivs, for example the pretty much #2 renderer Mental Ray has various tesselation options that can take view-dependency into account. It's not as memory and speed efficient as micropolygons, though.

    Browsing through the recent Nvidia and AMD presentations has given me the same impression that you got, by the way - their approach is based on what's easier and more efficient to implement. They work with triangles and they need a continous tesselation method... so they have their reasons. Also, PRMan doesn't have to care about stuff like switching between resolutions because they sample the hell out of any pixel so they never get any popping. But in real-time engines this is still a luxury.

    But the content creator side doesn't want to walk down this path of adding a new approach and having to re-develop and re-learn a lot of tools and tech and such. We'll see if anyone's willing to jump the gun but I really doubt it. We'll get the occasional sponsored game with support, just as with Truform and the rest, and then the rest will keep on waiting for Catmull-Clark stuff. Maybe Larrabee will help, I recall perhaps Tim Sweeney talking about such stuff at an Intel presentation?...
     
  2. Dr. Nick

    Regular

    Joined:
    Jul 30, 2005
    Messages:
    676
    Likes Received:
    1
    Without tesselation being part of DirectX they were never going to be used in a PC game. The same thing happened with N-patches. I was hoping that the 360 would push it's use into PC games but it looks the other way around now. DirectX 11 games may help push more 360 games into using the tesselator.

    Edit:Sorry I didn't see Laa Yosh's post.
     
    #562 Dr. Nick, Sep 15, 2009
    Last edited by a moderator: Sep 15, 2009
  3. Arwin

    Arwin Now Officially a Top 10 Poster
    Moderator Legend

    Joined:
    May 17, 2006
    Messages:
    17,672
    Likes Received:
    1,192
    Location:
    Maastricht, The Netherlands
    Well, maybe it's still possible to use the Catmull-Clark parameters to feed the tesselation routines in some form or other. We'll see what happens, but considering the pay-off it has on modern hardware, I think that we'll start to see things moving pretty soon regardless.
     
  4. Dr. Nick

    Regular

    Joined:
    Jul 30, 2005
    Messages:
    676
    Likes Received:
    1
    I think the closest Microsoft has gotten to it is a presentation on approximating Catmull-Clark but that was years ago and I'm guessing it is not a good enough solution.
     
  5. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,452
    Location:
    Budapest, Hungary
    There were some links to presentations on this topic recently, when I get home I'll try to dig them up...
     
  6. liolio

    liolio Aquoiboniste
    Legend

    Joined:
    Jun 28, 2005
    Messages:
    5,723
    Likes Received:
    193
    Location:
    Stateless
    Wasn't it a Rein presentation about the end of the GPU road map?
    EDIT more specifically this
     
  7. joker454

    Veteran

    Joined:
    Dec 28, 2006
    Messages:
    3,819
    Likes Received:
    139
    Location:
    So. Cal.
    Generally speaking, you do not want to do spu tesselation on PS3 because there is no way to bypass the vertex shading step. That step is one of the big bottlenecks in the machine, so even if you have written the worlds greatest spu tesselator you won't be able to use it, because all those massively increased vert count meshes still have to make their way through rsx's vertex stage. If there was a way to bypass the vert shader process, and say spu tesselate meshes and send them straight to the pixel shader for shading then I would agree that it would be beneficial. But you can't. That's why most of the spu work on PS3 regarding verts has been aimed at removing them, not adding more.

    Likewise, when I was experimenting with tesselation on PS3 I ultimately went with a de-tesselator, the idea being to remove vert load in a smooth fashion as meshes move away. That showed good performance gains since it could be done on all shadow passes and render passes.
     
  8. Dr. Nick

    Regular

    Joined:
    Jul 30, 2005
    Messages:
    676
    Likes Received:
    1
    That actually sounds kind of cool. Was there smooth level of detail or was there a bit of pop in?
     
  9. COPS N RAPPERS

    Regular

    Joined:
    Nov 2, 2008
    Messages:
    957
    Likes Received:
    32
    whoa, now that's a interesting idea, a lot games would need that if they're to achieve 60 fps.

    game developers these days are having problems making games run at a solid 30 fps a lone, (i mean take a look at Infamous, that game would have benefited from a de-tesselator, for smooth performance in it's huge environments)
     
  10. joker454

    Veteran

    Joined:
    Dec 28, 2006
    Messages:
    3,819
    Likes Received:
    139
    Location:
    So. Cal.
    It was configurable from "I can't see pop", to "oh my god I can't stand the pop", and everything in between. It was just an aggressiveness scale that could be set on a per mesh basis.
     
  11. liolio

    liolio Aquoiboniste
    Legend

    Joined:
    Jun 28, 2005
    Messages:
    5,723
    Likes Received:
    193
    Location:
    Stateless
    Thanks for the insights.
    De-tesselator... That sounds like a pretty neat idea. I'm waiting to see this in effect :)

    By the way it sounds like Groo/Charlie Demerjian made some investigations about the tesselator in the 360 and the one in last ATI card. The news is here
    I hope he is right and that tesselator will be finaly put to good use. The option being available for both PC and 360 may be we can hope the content tools to evolve to support this tech.
     
  12. COPS N RAPPERS

    Regular

    Joined:
    Nov 2, 2008
    Messages:
    957
    Likes Received:
    32
    nice find,

    god i hope that we start seeing this from here on out, starting with this new alien vs predator game.:yelling:
     
  13. Nesh

    Nesh Double Agent
    Legend

    Joined:
    Oct 2, 2005
    Messages:
    11,108
    Likes Received:
    1,683
    Based on what I read do we conclude that Tessalation on the PS3 is a no go because of performance hit?

    Also to Joker, can you explain a bit more what the "de-tesselator" does? Is the aim supposed to produce similar results to tesselation? Is it supposed to remove vertices to objects moving away and add them to objects near the camera to smooth out the surfaces (to objects near the camera)? In other words reduce vert load to some objects to give room to others and smooth em out? If not can this be done?
     
  14. liolio

    liolio Aquoiboniste
    Legend

    Joined:
    Jun 28, 2005
    Messages:
    5,723
    Likes Received:
    193
    Location:
    Stateless
    I think his goal is prevent brutal change of the level of detail of a character/object. As a nice effect it saves memory :) I guess you only have to keep in RAM what would be otherwise the highest LOD for a mesh, everything else is generated on the fly. I don't think it adds details, it cuts them smoothly without memory overhead.
    From my understanding it's different than tesselation as tesselation can go both ways.
     
  15. ultragpu

    Legend Veteran

    Joined:
    Apr 21, 2004
    Messages:
    5,297
    Likes Received:
    1,558
    Location:
    Australia
    So with the performance saved by the De tessellator, wouldn't that leave room for further polygon increase one way or another? I wonder if the result would resemble the one with tessellation implemented?
     
  16. Nesh

    Nesh Double Agent
    Legend

    Joined:
    Oct 2, 2005
    Messages:
    11,108
    Likes Received:
    1,683
    Yeah thats what I wondered too
     
  17. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    40,295
    Likes Received:
    10,591
    Location:
    Under my bridge
    Yes. That'd actually be a smart move for other platforms too. The iedal would be to make the hardware work smarter, not harder. We already have more than enough vertex power to render one vertex for every pixel, so in an indeal scene, we ought to be able to elliminate jaggies completely! If you can put vertices where they're need and remove them where they're not, you'd have a better model-handling system. Of course this would be loads easier with unified shaders shifting jobs dynamically.
     
  18. Arwin

    Arwin Now Officially a Top 10 Poster
    Moderator Legend

    Joined:
    May 17, 2006
    Messages:
    17,672
    Likes Received:
    1,192
    Location:
    Maastricht, The Netherlands
    Heh, we think alike -
    http://forum.beyond3d.com/showpost.php?p=1335885&postcount=8
     
  19. joker454

    Veteran

    Joined:
    Dec 28, 2006
    Messages:
    3,819
    Likes Received:
    139
    Location:
    So. Cal.
    Well, one clarification there. If the vert load isn't increased then it's no problem. So on stuff like terrain it's still good because you can distribute the vert load better without increasing vert count, and terrain doesn't move so the load always remains predictable. But in cases where overall vert load is increased, then it does become a performance problem because of the way the gpu hardware is setup.


    The basic goal was to smooth out lod pop and improve the overall vertex look in an automatic manner, without messing with the artists existing work flow. Because the de-tesselator dynamically removes verts, it means the overall scene has slightly less verts than before, and that saved vert count can be spent by the artists to improve important stuff, like to make heads rounder, etc.

    The result is 'similar' to tesselation in that some stuff does look better up close because the art guys had more verts to spend, and lod pop is reduced. But it's not as effective as true tesselation. With tesselation, the art guys make a nice model and the hardware makes it much nicer. With de-tesselation, the art guys make a slightly nicer model than they would have previously, and the software will degrade it with distance. So at it's best, the tesselator wins.

    The big advantage though is that the de-tesselator doesn't affect anyone. Art guys work the same as always and the tool chain doesn't change, so no one really notices that anything has changed on the art side. There's no learning curve basically.


    Yup, it mostly cuts detail (albeit, smoothly), although some detail is added because the overall scene vert budget goes down so the artists can add some more faces here and there. Definitely not as much as a tesselator would. It can save memory if you ditch lod's entirely and let the de-tesselator do it's thing, but realistically you probably still want to have two lod's, one best one and one crappy one.


    The savings do allow the poly budget to be increased a bit which is nice, but definitely not to the extent of a proper tesselator. Realistically, a tesselator is the way to go, it will give better results. The de-tesselator was just an intermediary step that has some immediate benefits, most notably being not messing with artist work flow while at the same time improving the scene.
     
  20. Acert93

    Acert93 Artist formerly known as Acert93
    Legend

    Joined:
    Dec 9, 2004
    Messages:
    7,782
    Likes Received:
    162
    Location:
    Seattle
    While a nice idea in general, per the aliasing I don't think it would completely remove jaggies of straight objects (fences, buildings, gun barrels, swords, etc) seen at diagonal angles, espeically with high contrast backgrounds. Isn't the theory behind sampling that you are averaging around the pixel edges to smooth the the transition (especially objects that may only occupy 3/4th of a pixel or whatnot). Not sure how vertex-per-pixel solves the issue, but I may misunderstand the problem.
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...