Unreal Engine 4

Their dof bothered me because objects near the camera still have sharp silhouettes.
I was also disapointed because I really wanted to see someone atempt to use tessellation on a global scale, and thought maybe epic would be the ones to do it.
 
How hard would it be for them to release a tech demo that we could play around with? Honestly I have no idea, but I think it would be really cool if they did.
 
That's pretty neat that they trace voxels. It's probably also useful for other things to have a voxelized representation of the scene. I wonder how much time they spend per-frame voxelizing things.
 
Would their GI implementation be closer to what Ubisoft is doing with Far Cry 3 PC or is this steps above that as well?
 
Apparently this new GI technique also handles AO natively and is shockingly close to path tracing..only instead of tracing rays, it's tracing cones of various sizes depending on the needs and accuracy one desires. For specular the cones need to be narrow, for diffuse very wide.

It looks like Epic is actually ahead of Crytek now in their lighting method with their relatively accurate reflections, GI, and AO all in one algorithm!

http://blog.icare3d.org/2012/05/gtc-2012-talk-octree-based-sparse.html
 
Yea, the AO looks much more precise than all the screen-space methods out there. Finally a good looking real-time implementation.
 
Watching the presentation about the octree-based sparse voxelization for real time global illumination, when he reaches around 15:40 there's an odd "nvidia only" written with regards to the atomicadds and im no programmer, but i was under the impression that AMD/ATI is capable of such as well (isn't it a requisite for directx11 compliance?). And what do they mean by native?

Is there anything regarding AMD's 7xxx architecture that would pose a problem to this technique?

Edit: Apologies for my naivety regarding the questions/curiosity in the matter, but wanted to add that from a common consumer point of view, reading stuff like that casts doubt on short-med term regarding the features of current competitor products, even more so considering how popular unreal engine was, is and will be. So any light on the matter from knowledgeable people is very appreciated.
 
Last edited by a moderator:
Watching the presentation about the octree-based sparse voxelization for real time global illumination, when he reaches around 15:40 there's an odd "nvidia only" written with regards to the atomicadds and im no programmer, but i was under the impression that AMD/ATI is capable of such as well (isn't it a requisite for directx11 compliance?). And what do they mean by native?

They're probably thinking about float atomics, which only NV does currently. Interestingly, that's also outside of DX spec IIRC (not sure about 11.1), and exposed in GL/CL via extensions, so reliance on it is curious. Of course just doing atomic exchanges is doable, since you'd just cast the result to float even if you're doing it through int atomics, but the rest of the arithmetic is more hairy. You can work around lack of float atomics it by manual scatter gather and sync at kernel boundary (not the best solution, mind you), or try to remember how float math works and rely on bitwise ops to emulate it.
 
Would those workarounds lead to meaningfull performance impact to the point of unplayability? Can you or someone else try to guess-estimate(guessing appart from epic itself, pretty hard to do, anyway just in case it is, roughly) the performance hit with best case scenario/workaround if say NVidia was rendering a scene at 30fps relative to AMD?
 
Last edited by a moderator:
Epic probably implemented the algorithm differently. Especially since that presentation was very recent. It's probably pointless to guess and extrapolate that to UE4 performance.
 
Even with atomics, the quoted performance was 16 FPS @ 1920x1080 with a GTX 680. I'm guessing that is without any actual game code running as well. That isn't really viable for actual games today or even the near future. Maybe for the Maxwell generation though...
 
That's pretty neat that they trace voxels. It's probably also useful for other things to have a voxelized representation of the scene. I wonder how much time they spend per-frame voxelizing things.
I wouldn't be surprised if they use the information for particle collisions and such.
Shadow rendering might be nice as well, either direct tracing or rendering lot's of shadow maps in one pass.
 
Last edited by a moderator:
Latest Voxel stuff I saw when I was looking up voxels and SVO earlier this year was :
http://maverick.inria.fr/Membres/Cyril.Crassin/

Been thinking about using SVO in a game, but can't really figure out whether it would be a win (memory, perf or quality wise) with a rasterizer.
(Also assumed it was linked to Carmack's idea of "MegaGeometry"[probably means virtual geometry like virtual textures], but I found other ways to do the same with vertices.)
 
I was kind of expecting more discussion here. I mean, the voxel cone tracing algorithm is awesome. It's clever and efficient and now it's implemented in what's probably the most licensed game engine. Seems like a big deal to me.

Anyway, there are a few things here that haven't come up yet that I'm curious about people's impressions of:

1) Tessellation. Obviously the mountains scream it and the main character's spikiness looks obvious, but are these displacement maps on conventional meshes? Are they using any higher order surfaces in general? It doesn't look like it to me.

2) Textures. There isn't a mind-blowing amount of texture detail here so its hard to say if there's any virtualized texture tech being used - at least nothing beyond ue3.

3) AA. No jaggies visible to me in either video. Most likely MSAA but the shader aliasing looks solid as well. It's hard to say from a youtube video.

4) Light emitting particles. I've looked at this a few times and I can't really figure out if the particles are emitters in the GI solution. The room with the 'ice' particles does turn blue but it's hard to say if that's light from the sphere that's generating them or the particles themselves. The mass of them in the 'fire' element doesn't seem to be reflected in the lighting around the room to me.

5) How is that lava flow being handled? Looks like a pretty solid (not perfect but solid) fluid sim to me. Pretty cool if it's generalized and they can just drop a fluid in there like that.

That's about all I got.
 
Even with atomics, the quoted performance was 16 FPS @ 1920x1080 with a GTX 680. I'm guessing that is without any actual game code running as well. That isn't really viable for actual games today or even the near future. Maybe for the Maxwell generation though...

They seem to be already using it in UE4 and you can hear the speaker of the development walkthrough video refering to their voxelised global ilumination features. And the technique doesn't seem to rely on the cpu to any significant degree. All the heavy work is done on the gpu, the octree data is all kept in the gpu('s) memory (edit: actually he says global video memory, so i guess it can spill into system memory? Still don't see how the cpu/game code would be that relevant also keep in mind they'r running it on the editor with eventually allot of game code running&editing).

Now how did they achieve it at acceptable performance (guessing around 30fps)? Maybe by trading off precision/quality for performance. The other presentation on NVidia does mention when talking about the glossy reflections that lowering the resolution/precision/ammount of specular reflection cones gives performance increase. Perhaps that was one way they achieved it for UE4 elemental demo.
 
Last edited by a moderator:
Now how did they achieve it at acceptable performance (guessing around 30fps)? Maybe by trading off precision/quality for performance
Doesn't really matter, even 30 fps on a GTX680 isn't really usable (b/c most people don't have a 680+). I expect it will be some time before that level of performance is considered average, at least another node shrink.

And yes, game code will still slow it down.

It's nice; I just don't expect to see it really used in titles for a few years.
 
Back
Top