Pascal SMP, foveated rendering? 16x2 or just 16 projections?

Freon

Veteran
Watching the Pascal demo/announcement, I was pretty impressed by simultaneous multi-projection. I think it's the most interesting and compelling feature Pascal offers by far, outside a simple jump in performance. Even though I do not multi-monitor game, as soon as they started talking about fixing the side projections it was pretty obvious why it was a big deal there, and then applied to VR to reduce oversampling it is a very clever solution.

After reading NV's white paper and looking over their discussion of how their SMP feature can be used to reduce the inherent oversampling when rendering with a lens distortion, it raises a few questions and possibilities.

Could this be used for foveated rendering? It seems it could induce undersampling selectively in parts of the frame buffer, and with simple careful placement of the projections could save significant render times on the pixels outside the center of the view. Imagine running 4K where only the center of the screen was really the 4K dot pitch, and the outside edges smoothly scaled to being effectively 1080p. Imagine this being something that could simply be tweaked, adjust the size of the center full res projection. Or even in fact to induce supersampling in the center but leave the outsides a bit more aliased, or in concert with MSAA.

Also, if NV claims up to 16 projections, times 2 for stereoscopic, why is their VR implementation demo only using [2,2]*2? Why 3x4 or 4x4? I thought a bit more and the immediate answer is that the left and right eyes do not actually have the same projections as the FOV for each eye is not identical (it's mirrored with each eye getting more FOV towards the outside). Perhaps I'm just misunderstanding. Makes me wonder why they have 16 projections then, seems like a silly number if 18 would allow them to bump it up to 3x3 for each eye. Makes me wonder if the VR case for SMP was something that was not an initial goal of the feature.
 
There are 16 viewports in the APIs. You can do 3x3 per eye, but then you can't do left and right eye in single pass.
There are also further limitations.
Isn't the dedicated Simultaneous Multi-Projection Units inside the polymorph engine specifically designed to do the left and right and also correction in a single pass?
Separate to the viewport limitation.
These units (I thought was additional H/W) was added to Polymorph Engine 4.
Thanks

Edit:
Does it also matter than OpenGl spec relates to 367.XX and higher, rather than the earliest used for Pascal (368.x)?
 
Last edited:
Will Obduction (created by studio behind Myst) be the 1st VR game to use Nvidia SMP tech?
It will be interesting to read more on how they implemented this with regards to OP and also as initial reports suggest it is providing up to 30% performance boost, while good is still lower than what Nvidia projected (for ideal implementation I suppose).

Cheers
 
Obduction E3 2016 Interview: Supports Ansel, SMP, HDR & More
Myst is one of the most successful games of all time, and now Cyan, the studio responsible for Myst, is applying the finishing touches to a spiritual successor called Obduction. Scheduled for a July 26th release, Obduction transports players into an all-new, real-time, first-person adventure filled with puzzles, exploration, and discovery, harking back to the themes and spirit of Cyan's previous titles.

For more on Ansel, HDR, Simultaneous Multi-Projection, and Virtual Reality, click on the highlighted words.


 
Last edited by a moderator:
Is foveated rendering something that can be used on a TV or PC display? Not by eye tracking but by detecting and reducing resolution in like darker areas of a scene?
 
SMP could be used for foveated rendering, but it wouldn't be all that effective. The problem is that your texels (for lack of a better term) will end up all stretched out, so they'll be much different densities in different directions. You can get a linear reduction in pixel count per DPI with SMP, whereas variable rate shading on Turing gives you a quadratic reduction since resolution is reduced in all directions. Also, there are further optimizations you can do with variable rate shading, such as having higher sample rates along edges and high contrast regions which let you drop the average sample rate down even further without reducing perceptual quality.

SMP works for changing the shape of your viewport to match the shape your eyes see after lens distortion. This way you don't waste so much time rendering pixels that will be mapped outside of the headset's display entirely after the image is stretched and warped to cancel out the lens distortion. Also, ordinary linear projection gives you higher angular resolution on the edges of the screen (think of looking at a monitor - the center will be closer to your eyes than the edges), which is the exact opposite of what we would like (your eyes are usually pointing toward the center). This effect gets asymptotically worse and worse as the field of view increases until at 180 degrees linear projection fails entirely, needing infinite resolution. To get a wider field of view than that, or practically speaking, a wider field of view than perhaps 120 degrees to look good, you must break the field of view down into multiple viewports, hence SMP.
 
Back
Top