Unreal Engine 3 shadowing?

Razor1 said:
There are no static lights. So even if a light is "static" not moving, its still concidered dynamic. Very similiar to the Doom 3 engine.
That's not what he said in the interview:
There is no static global illumination pass generating lightmaps, because those techniques don't scale well to per-pixel shadowed diffuse and specular lighting.
...which doesn't mean that they don't consider the special case of an unmoving lightsource and unmoving geometry. What it does mean is that this case is most likely an optimization of the dynamic shadow map/shadow volume techniques used elsewhere, to reduce the amount of per-pixel processing that must be done to get the same effect.
 
All lighting is supported 100% dynamically

This is the same with the Cry engine unless they are turned off with a flag.

This is very possible to do a light only effects objects within its radius, the dot product of a light souce can be switched on and off depending on which lights you want to effect the per pixel attenuation. Usually only one light will effect an object at any given time unless a technique is used. Even with sm 3.0 or 2.0b hardware more then one light still effects frame rates its less then pre 2.0b hardware but there still is a hit.

PRT has nothing to do with the per pixel attentuation, its very well suited for static scenes, and static lights or static scenes and dynamic lights. Like the dragon with the semi transparent wings, if you look at the LPRT demo with the bat in the Dx SDK, that looks really same to me.

Why would you want Lightmaps when you can have PRT do it all for you with unlimited dynamic lights and pretty much no overhead?

Lightmaps really make a difference in the Unreal engines up till now I just can't see the level designers throwing that away, PRT is a great replacement for that. So far there has been no other replacements for it either.
 
I wonder if Rev could get some more info on this, since Tim seems to answer his inquiries quite a bit?

EDIT: This I got in an email from Tim may be useful, but unfortunately I don't know if he was talking about it with regard to UE3 or just general implimentation...

Tim to Intel via email said:
Would dynamic, soft-shadow buffers be possible (from an actual functionality standpoint) to be cast from everything onto everything? <<

That's possible, but to get good results (and avoid aliasing) you need *extremely* high-resolution shadow maps, such as 2048x2048 or higher. And the performance impact of rendering shadow buffers for all objects in the scene for every light (as opposed to only dynamic lights or dynamic objects) is fairly high. This seems like it will be a viable technique in the future, perhaps when GPU's are 4X-10X faster and state-change overhead is further reduced.
 
Razor1 said:
PRT has nothing to do with the per pixel attentuation, its very well suited for static scenes, and static lights or static scenes and dynamic lights. Like the dragon with the semi transparent wings, if you look at the LPRT demo with the bat in the Dx SDK, that looks really same to me.
PRT may give good-looking results for static scenes with static lights, but it's really made for static scenes with dynamic lights, and thus will do quite a bit more calculation per-pixel than you need.

PRT has the added drawback of not allowing the level designer to see how lighting changes affect the level instantly.

Given what we know about previous iterations of the Unreal engine, and statements made on UE3, I'd say the probability of seeing PRT in UE3 is somewhere in the range of 0.001%.
 
From Tim himself, got this email yesterday...

Tim Sweeney to Intel via E-Mail said:
The completely general case of static and dynamic objects casting and receiving shadows from other static and dynamic objects is fully supported. But moving lights always cast stencil shadows from static geometry. We don't use shadow buffer soft-shadowing in that case; though it would be easy to do that. We already support cube map shadow buffers, but the performance and scalability of that technique for large-scale full scene shadowing is pretty questionable. Static soft shadowing precomputation is supported as an optimization and always behaves correctly interacts properly with other dynamic objects and dynamic lights in the scene (unlike, for example, Unreal Engine 2's entirely static shadowing.)

It's not PRT, but in fact as Chalnoth said, is more like an optimization of the shadow-buffer technique.
 
Back
Top