• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Sparse Voxel [strike]Octree[/strike] Cone Global Illum possible on the PS4 after all

FranXico

Member
Great graphics technology shown off on PS4.

On the behalf of W!CKED:

Some more information on PS4 tech:

Right now there is the GDC Europe in Cologne and Sony did a presantation on PS4's custom SCE feature set.

Do you remember the original UE4 PC demo that had Sparse Voxel Octree Global Illumination and the PS4 version didn't?

Sony's braniacs managed to do Sparse Voxel Cone Tracing for lighting without having to create the CPU heavy Octrees. They combine the Sparse Voxel stuff with the GCN Sparse Texture stuff and can do amazing lighting on PS4 without having to brute force it like on PC.

I'm afraid I can only offer you a German source:

http://www.pcgameshardware.de/PlayStation-4-Konsolen-220102/Specials/PS4-Inside-1084325/

some slides
GQ60CyZ.jpg

CVaPHSd.jpg

ix5CJXy.jpg

Axxtgrx.jpg

Another slide
8vyObmK.jpg

This is a YouTube upload of the Dark Sorcerer tech demo:
 

ElTorro

I wanted to dominate the living room. Then I took an ESRAM in the knee.
Interesting. Sadly the article doesn't got into much detail. Has something to do with not having to compute/update the entire octree by storing the lighting information in the textures and exploit partially resident textures. Hope we'll get a recording of the entire presentation soon.
 

schuey7

Member
If it utilises the "GCN Sparse Texture stuff" then this is something that should also be possible on the xbox one gpu although whether it will run well is anyones guess.
 
Didn't an engineer at capcom also say he was looking into doing it this way?

Yeah I think it was part of the tech demonstration for Deep Down, but IIRC it or tessellation wouldn't be feasible. I'll try to find the article.

EDIT:
"Shimizu-san tried to implement the indirect lightning technology named Sparse Voxel Octree Based Real-Time Global Illumination (SVO-GI) for the flames of the dragon, however the process was rather heavy on the resources, so he decided to take advantage of simpler Voxel Cone Tracing for the Deep Down demo."

http://game.watch.impress.co.jp/docs/series/3dcg/20130731_609422.html
 

Horp

Member
The title of this thread is wrong. If you actually read the article and watched the slides you would have noted that it isn't Sparse Voxel Octree GI, it is Sparse Voxel GI.
The presentation fragments in the article is far from complete, but the implementation they showed is a much simplified version compared to the technique invented by Crassin. They use Partially Resident Textures instead of Octrees, which removes tons of the benefits by the original SVOGI. No longer is the GI resolution variable, which means even more bleeding problems and no performance benefits when geometry consists of big open areas. They also have just shown a basic tech demo (where the low static resolution is apparent), so we haven't seen it running in a game, thus it might still not be possible from a performance standpoint in an actual game.

Also, since the concept is based on PRTs this will be fully feasible the next generation AMD and NVidia cards, which will support this technique.
 

Horp

Member
That's very unlikely for near future since Sony claims that the custom feature set of PS4 is above DX11.2 level.

Not until Kepler for Nvidia, so yes not for a while. Since this technique will have even more of the major problem with SVOGI (bleeding) I doubt it will be used much. Maybe like Cryteks Screen Space Reflections, there will be situation use.
 

squidyj

Member
If you modeled lights as emissive objects in space couldn't you have them add their emissions into the voxel structure and then use cone-casting to gather their direct light thereby gaining correct shadowing on all of those lights for the cost of adding them into the structure? You could select a few important lights to render out into the voxel structure as well so some lights would contribute to bounce lighting while all lights would be shadowed with variable penumbra even appropriate to unique shapes. I can't imagine it would make the job of casting cones any harder.


Also I didn't see any mention of the technique in the sorcerer demo, am I missing something?
 

charsace

Member
OP your post is deceiving. I thought they were using octree node structure on the GPU they aren't. So this isn't the same thing that Epic was doing. I'll save the paper and read it at a later date.

I'm messing around with Unity so this won't have any effect in it. :(

X1 can do this same technique.
 

FranXico

Member
OP your post is deceiving. I thought they were using octree node structure on the GPU they aren't. So this isn't the same thing that Epic was doing. I'll save the paper and read it at a later date.

I'm messing around with Unity so this won't have any effect in it. :(

Duly noted.

A better title would have been "viable alternative to octree". My apologies. Maybe a mod will rectify this.
 

charsace

Member
Duly noted.

A better title would have been "viable alternative to octree". My apologies. Maybe a mod will rectify this.
quadtree, octree, kd-tree can all be faster on a gpgpu, but it takes way more work to get that speed increase over the cpu and more careful parallel code. Most likely they will figure it out. Then again it can't be easy or there must be a negative to doing it with the current hardware because epic scrapped this lighting model all together.
 
OP your post is deceiving. I thought they were using octree node structure on the GPU they aren't. So this isn't the same thing that Epic was doing. I'll save the paper and read it at a later date.

I'm messing around with Unity so this won't have any effect in it. :(

X1 can do this same technique.

Everything the PS4 can do the X1 also can (as far as techniques). The difference will only be in game performance.

They are the same architecture after all.
 

astraycat

Member
The title of this thread is wrong. If you actually read the article and watched the slides you would have noted that it isn't Sparse Voxel Octree GI, it is Sparse Voxel GI.
The presentation fragments in the article is far from complete, but the implementation they showed is a much simplified version compared to the technique invented by Crassin. They use Partially Resident Textures instead of Octrees, which removes tons of the benefits by the original SVOGI. No longer is the GI resolution variable, which means even more bleeding problems and no performance benefits when geometry consists of big open areas. They also have just shown a basic tech demo (where the low static resolution is apparent), so we haven't seen it running in a game, thus it might still not be possible from a performance standpoint in an actual game.

Also, since the concept is based on PRTs this will be fully feasible the next generation AMD and NVidia cards, which will support this technique.

I don't think you understand SVOGI. At each level of the octree, the resolution is uniform, but sparse. There are simply areas of the octree missing (hopefully more and more areas) as you get deeper into the octree.

The demo implemented was at the same resolution as the demos Crassin posted at the highest resolution mip. Rather than being sparse due to an octree, it's sparse due to PRT. Lower mips are sparse in a similar fashion.

The only benefit really lost by losing the octree is empty space skipping, but other methods such as adaptive sampling using higher mips can be used to mitigate that.

Cone tracing is incredibly bandwidth intensive however. I wonder how well the XB1 would do on this sort of tech, since you certainly won't be able to fit even the sparse lighting volume into ESRAM.
 

KKRT00

Member
Havent any of You checked the cost of this technique? 45ms just for lighting, its not usable in current state and with current precision in real game.

Btw Crytek is using Voxels and cone tracing for Area Light shadowing currently.
 
The original source says 45ms (~22FPS) without optimizations!

According to Chris Ho, optimizations will be done in the future.

That would be quite the impressive thing to be done if it was optimised to even half of 45ms... all of that only for the indirect lighting component in a game seems like quite the long haul.

They are already using GPGPU for this, aren't they?

Of course.
 

nomis

Member
Epic didn't take SVOGI out of console UE4 because the PS4 couldn't handle it, they saw it as prohibitively performance intensive. That along with satisfaction at the quality of lightmaps they could use on the modern GPU in PS4/X1.
 

teiresias

Member
The technique is possible on XB1 obviously, but MS won't have time to get around to working on it until they get the TV Guide and minimizing an episode of Big Bang Theory with Kinect running at a decent frame rate.
 

Horp

Member
I don't think you understand SVOGI. At each level of the octree, the resolution is uniform, but sparse. There are simply areas of the octree missing (hopefully more and more areas) as you get deeper into the octree.

The demo implemented was at the same resolution as the demos Crassin posted at the highest resolution mip. Rather than being sparse due to an octree, it's sparse due to PRT. Lower mips are sparse in a similar fashion.

The only benefit really lost by losing the octree is empty space skipping, but other methods such as adaptive sampling using higher mips can be used to mitigate that.

Cone tracing is incredibly bandwidth intensive however. I wonder how well the XB1 would do on this sort of tech, since you certainly won't be able to fit even the sparse lighting volume into ESRAM.

That is not what I have gathered about SVOGI. The resolution for cone tracing depends on distance to the camera. And the major benefit with an octree is for quicker lookup, not empty space skipping. Also, the article on the german site is really incomplete. From what I can gather however, it is pretty much SVOGI without Octrees and using PRTs. This has some benefits, some drawbacks and is still not viable from a performance perspective.

They also said that x86 makes coding for the PS4 super easy because of the great tools and compiler. Much easier than PS2 or PS3.

I noticed that too. So we shouldn't see close to the differences between launch and 3rd-4th year releases as we saw on PS3. Good to know.
 

astraycat

Member
That is not what I have gathered about SVOGI. The resolution for cone tracing depends on distance to the camera. And the major benefit with an octree is for quicker lookup, not empty space skipping. Also, the article on the german site is really incomplete. From what I can gather however, it is pretty much SVOGI without Octrees and using PRTs. This has some benefits, some drawbacks and is still not viable from a performance perspective.

Resolution that you want to sample is dependent not on the distance from the camera but on the width of that point in the cone. Regardless, sampling at lower resolution is done in PRT through mipmaps. PRT has an added benefit over octree cone tracing here that PRT 3D textures have hardware support for quadrilinear interpolation. Doing this in an actree data structure would require sampling from from two bricks as well as the extra traversal cost.

Lookup in a 3D texture is also much faster than an octree. You just give it a texture location -- you'd have to traverse the tree in an octree.
 

ElTorro

I wanted to dominate the living room. Then I took an ESRAM in the knee.
That is not what I have gathered about SVOGI. The resolution for cone tracing depends on distance to the camera. And the major benefit with an octree is for quicker lookup, not empty space skipping.

From what I understood, the octree is used as a SIMD-friendly abstraction of the scene's geometry that is, after the initial computation, independent of the geometry's actual mesh complexity, but still adequately accurate to organize voxels in scene space. Subsequently, the structure needs only to be updated with delta information, hence avoiding penalties from scene complexity. I am not sure how PRT can take this task, but, as you said, without the actual presentation this is all guess work.
 

Horp

Member
Resolution that you want to sample is dependent not on the distance from the camera but on the width of that point in the cone. Regardless, sampling at lower resolution is done in PRT through mipmaps. PRT has an added benefit over octree cone tracing here that PRT 3D textures have hardware support for quadrilinear interpolation. Doing this in an actree data structure would require sampling from from two bricks as well as the extra traversal cost.

Lookup in a 3D texture is also much faster than an octree. You just give it a texture location -- you'd have to traverse the tree in an octree.

That is not how I remember it, but I can't find the real paper from SIGGRAPH now... seems to be taken down. The GI resolution in the SVOGI videos also appeared much higher than what I saw in this new video. Also, if PRT 3D textures have so much faster lookup, why is the implementation on the PS4 running so slowly? A GTX 480 ran the scene in 25-70 fps, while this runs on the PS4 at much less, from what I gathered. Doesn't make sense to me. But maybe you're right and PRT 3D tex is the solution for this, in that case we should look forward to next gen AMD/Nvidia cards, that has both PRT and tons of horse power too.

According to Mark Cerny we will: He expects that devs will fully utilize the PS4 in 2015 at the earliest.

He said the system is designed to be very easily accessible for small studios on day one, but it will also have enough hidden potential for AAA studios with big budgets.

Well, you can't really claim Mark Cerny isn't biased on the matter.. It just doesn't make sense that an architecture is both much easier to understand and work with, and at the same time will see the same kind of growth seen on the PS3. The reason for the games being so much better looking at the end of the PS3 lifecycle is exactly that; the PS3 had lots of power but distributed on many cores, some with capabilities and strengths that make them especially different to work with. We WILL see better looking games down the line, but as I said; it won't be close to the levels of difference seen on the PS3.
 
Top Bottom