Xenos hardware tesselator

Discussion in 'Console Technology' started by Graham, Nov 23, 2006.

  1. nonamer

    Banned

    Joined:
    May 25, 2002
    Messages:
    564
    Likes Received:
    7
    Believe it or not, pre-render CGI can reach upwards of 256xAA.
     
  2. StefanS

    StefanS meandering Velosoph
    Veteran

    Joined:
    Apr 20, 2002
    Messages:
    3,608
    Likes Received:
    75
    Location:
    Vienna
    the digital cinematographers currently use 4k progressive.

    [​IMG]

    http://en.wikipedia.org/wiki/Digital_cinematography
     
  3. pipo

    Veteran

    Joined:
    Jun 8, 2005
    Messages:
    2,628
    Likes Received:
    30
    :shock:

    It's a good thing we don't have those huge screens then...
     
  4. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    44,106
    Likes Received:
    16,898
    Location:
    Under my bridge
    I imagine that this'll be something of a holy grail. Higher resolutions have no benefit in the screen sizes these 1080p sets get to. 8xAA would elliminate much of the jaggyness. You could probably stop at 1080p 8xMSAA and put all efforts into shading etc., rather than upping the resolution and AA to little obvious effect (if any noticeable effect).
     
  5. Graham

    Graham Hello :-)
    Veteran Subscriber

    Joined:
    Sep 10, 2005
    Messages:
    1,480
    Likes Received:
    210
    Location:
    Bend, Oregon
    Well technically is there anything stopping you doing 1920x1080 with 4xaa on xenos right now? Sure it'll be 7 tiles though :) 4 tiles for 2xaa. Not having to store the front buffers in main memory is nice.

    I'm quite interested in the tesselator from a differed rendering point of view. Ie throw gobs and gobs of geometry at the scene quickly (no complex shading) then do all your lighting and crazy work afterwards.

    Can you mix tiling and MRT? (not that I'd use MRT in this case though - just a technical question).

    I imagine it would be quite hard not wasting geometry accross tile lines when using the tesselator. You wouldn't be able to clip the geometry in software, as that would muck up the tesselation (I guess). Unless you clip the geometry exactly the same on both sides, but I'd expect you'd still see a line...

    1280 * 720 * 4 samples * 8 bytes = 29491200 / 1024 / 1024 = 28.25, so fits in 3 tiles.

    I also wonder if we will see many games render at, say, 1400x935 and then scale down to 1280x720, so supersampling instead of multisampling, but still in one tile.
     
    #65 Graham, Nov 29, 2006
    Last edited by a moderator: Nov 29, 2006
  6. Jawed

    Legend

    Joined:
    Oct 2, 2004
    Messages:
    11,716
    Likes Received:
    2,137
    Location:
    London
    Yes.

    Jawed
     
  7. Fran

    Fran Dev
    Newcomer

    Joined:
    Jun 20, 2006
    Messages:
    131
    Likes Received:
    49
    Location:
    Frankfurt, Germany
    You can do very fast instancing of particles for example.

    Yes, you can do adaptive tesselation with memexport and then feed the tesselator. It's pretty flexible.

    It's very hard to compare at this stage. I would expect that current DX10 GPUs are not optimised for a large fan out from the geometry shader (when you basically produce more primitives than the primitives coming in), which is exactly where you want to use the hardware tesselator. But I can also expect that the mere raw power of a DX10 GPU can more than make up for it.

    No need to thank me :)
     
    Acert93 likes this.
  8. Jawed

    Legend

    Joined:
    Oct 2, 2004
    Messages:
    11,716
    Likes Received:
    2,137
    Location:
    London
  9. TheAlSpark

    TheAlSpark Moderator
    Moderator Legend

    Joined:
    Feb 29, 2004
    Messages:
    22,146
    Likes Received:
    8,533
    Location:
    ಠ_ಠ
    Well actually, at least one dev (MotoGP3) has gone with 1280x1024. With the formula from the Xenos article that'll give you... ;)

    Question is... Is scaling from a 5:4 pixel to a 16:9 pixel better or worse than scaling a 4:3 pixel to 16:9? Keep in mind that the former needs only vertical scaling and the latter requires scaling on two dimensions... (assuming 720p output)
     
    #69 TheAlSpark, Nov 29, 2006
    Last edited by a moderator: Nov 29, 2006
  10. Cal

    Cal
    Newcomer

    Joined:
    Oct 7, 2006
    Messages:
    58
    Likes Received:
    12
    Location:
    Shanghai
    Ugh, why every thread about 360 strayed to predicted tiling, and then someone directly connected deferred shadowing with deferred shading to mess up things further, even these two are totally irrelevant. :D

    Back to the topic, I haven't test the N-Patch performance on my 360 kit. But one thing I can ensure you is that displacement map via tessellation + vertex texture is far better than those relief/occlusion/parallax/horizon/whatever mapping, quality wise. Those micro-surface raytracing techs will just give you a full screen of jaggies. On performance side, thinking about how many possible passes a mesh have to be rendered: a pre-zpass, a shadow pass, an actual rendering pass, some potential additional passes for things like subsurface scattering. In each of them you have to use tessellator to ensure the correct result. If the engine does not take care things like avoiding to produce too many vertices, matching shadow pass's tessellation exactly with rendering pass's to get correct self-shadow, then you're screwed. So I think using tessellator is a big risk on performance.
     
  11. Cal

    Cal
    Newcomer

    Joined:
    Oct 7, 2006
    Messages:
    58
    Likes Received:
    12
    Location:
    Shanghai
    What kind of post processing are you referring to? The tiles in EDRAM are resolved back to the system memory after rendering and the post processing can be done with the whole framebuffer (in system memory) as a fullscreen texture (no tiling during the post-processing rendering).
     
  12. blakjedi

    Veteran

    Joined:
    Nov 20, 2004
    Messages:
    2,985
    Likes Received:
    88
    Location:
    20001
    Thanks Cal. That is exactly what I thought.
     
  13. Gubbi

    Veteran

    Joined:
    Feb 8, 2002
    Messages:
    3,661
    Likes Received:
    1,114
    Depending of definition, human acuity is limited to ½ or 1 arc minute of angular resolution. That means that you won't even detect jaggies if you're sitting 3-5 meters from a 42" 1080 panel.

    What is very easily detectable however is moire and other lack of filtering artifacts.

    Of course doing a 8x super sampling of the picture would resolves much of that :)

    But effort is probably better spent on improving filtering (AF and in-shader filtering)

    Cheers
     
  14. TheAlSpark

    TheAlSpark Moderator
    Moderator Legend

    Joined:
    Feb 29, 2004
    Messages:
    22,146
    Likes Received:
    8,533
    Location:
    ಠ_ಠ
    I don't suppose one of you 360 devs could run an AF testing program ala the one used to compare the G80 to previous GPUs... :) Just curious as to how good it is with angles.
     
  15. Mintmaster

    Veteran

    Joined:
    Mar 31, 2002
    Messages:
    3,897
    Likes Received:
    87
    I can't imagine that looking better than 2xMSAA, because the diagonal sample placement helps a lot. It would be a lot more expensive too.
     
    Acert93 likes this.
  16. Mintmaster

    Veteran

    Joined:
    Mar 31, 2002
    Messages:
    3,897
    Likes Received:
    87
    On NEC's 45nm EDRAM process (2009 is their plan), 64MB of EDRAM is only 45mm2. That's only going to be maybe 10% of the total silicon in a console. If we can get 100 GPix/s alphablending, that's good enough reason for me. "Execution logic" can only do so much in certain tasks.

    Regarding the holy grail, I'd say 4xAA is plenty for a console at 1080p, and 32bpp is plenty for HDR, so that's why I used 64MB.
     
  17. Graham

    Graham Hello :-)
    Veteran Subscriber

    Joined:
    Sep 10, 2005
    Messages:
    1,480
    Likes Received:
    210
    Location:
    Bend, Oregon
    Ohh I realise the performance would suck :) no question there, I'm just thinking aloud, wondering how it would compare to using 2xaa upscaled (ala PGR3).

    Cal, The depth pass, I have a vague memory of reading that the depth fill only pass was required (or at least strongly recommended) when using tiling.. Is this correct? Help out what tile geometry gets binned iirc

    When I speak of deferred rendering I am meaning deferred shading/lighting etc. In case you were talking about my post. If a depth pass isn't required, I believe it would be possible to do deferred rendering in a single 'geometry pass' without using MRT. It wouldn't be 100% accurate, but who cares if it isn't accurate but still looks good (which I have yet to discover :razz:).
     
  18. 3dcgi

    Veteran Subscriber

    Joined:
    Feb 7, 2002
    Messages:
    2,493
    Likes Received:
    474
    This is off topic of the tessellator, but I looked this up and the caveat was this might be slow because you might perform the same memexport twice, but the docs didn't say it can't be done.
     
  19. Fran

    Fran Dev
    Newcomer

    Joined:
    Jun 20, 2006
    Messages:
    131
    Likes Received:
    49
    Location:
    Frankfurt, Germany
    D3D will fire an assert if you try.
     
  20. Lazy8s

    Veteran

    Joined:
    Oct 3, 2002
    Messages:
    3,100
    Likes Received:
    19
    The cost of a wide external bus or die area for embedded DRAM are not the only resources to trade against to solve the bandwidth issue. The rendering pipeline could afford some deepening to offer a more optimal approach.
     
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...