Unreal 3.0 and Dynamic Radiosity Lighting

Status
Not open for further replies.
According to Carmack and most experts here, Doom 3 was the first widespread engine to provide support for a hardware accelerated globalized lighting model, tuned, in particular, to exploit dynamnic point and spot lights on materials with discrete specular components. What made it distinct from most previous engines was its robust, consistent, procedural, and per-pixel implementation. It used a limited half-vector derivative of the phong shading equation with cubemaps for normalization.

Carmack himself mentioned that D3's per-pixel specular algorithm could be extended further by replacing embeded texture specular components with math or some sort of power function and by using a full light vector for normalization. It has not been mentioned, though, where the lighting equation will go from here.

That being said:
How should we expect Sweeney and his team to extend D3's approach for unified lighting, shadows aside?
For reasonable framerates on next gen hardware, would it be possible for UE3 to generalize the diffuse component of the lighting equation enough to account for indirect lighting, perphaps through radiosity light mapping or some other technique? If so, would the lighting model still be considered a type of phong shading? Would such a model approach the requirement for global illumination?

Aside: Folks like DigitalWanderer and the likes should not fear, I'm no Humus myself, just a curious enthusiast like Dave and the Rev.
 
Radiosity lighting is ridiculously expensive. I don't think it'll ever be used in realtime, and I don't think the older techniques of combining static pre-computed radiosity with other forms of dynamic lighting computed in-game will become the norm again. This sort of model just doesn't lend itself well to realtime games, and so what we should expect are (almost always) realtime-only techniques.

So, to that end, we may be able to expect limited forms of indirect lighting to start to be used in games over the next few years. This really is a nontrivial problem, but there are ways. One way, for instance, works well on static scenes but with dynamic lights, and that's spherical harmonic lighting. With this form of lighting you get all the beauty of precomputed lighting, but can actually move the lights around.

But I don't think the problem of indirect lighting is simple enough that it can easily be solved by modifying the diffuse component.
 
The first game using UE3 is slated for 2006, there's no way the hardware is gonna be powerful enough to compute indirect lighting term in real time globally by then. UE3's technology is explained fairly well here(I remember there's a thread about it, try searching). Generally it still uses conventional rendering method, plus some fancy techniques such as parallax mapping, soft shadowing, subsurface scattering maybe, etc. It looks pretty good, but it's not as advanced as you may think.

- just my 0.02
 
I'd just like to point out that the UE3 tech video's narrator mentions how the double cubemap approach to softshadows in UE3 would "simulate real-time radiosity" (paraphrasing) by interpolating between both cubemaps depending on the distance between occluder and receiving surface.

Would that remark be construed as... how should I put it without offending anyone, an oversimplification?
 
Hmm, I guess I missed the portion about indirect lighting during Tim's UE 3.0 presentation.

Anyways, it won't hurt to discuss the direction of UE 3.0's approach to indirect lighting in relation to that of offline renderers like renderman and other possible real-time solutions, unless someone could point me to a very similar thread (which I can't find). All contributions are appreciated.

I found this tidbit on the unreal technology website, on the means by which UE 3.0 tackles lighting:
Ultra high quality and high performance pre-computed shadow masks allow offline processing of static light interactions, while retaining fully dynamic specular lighting and reflections.
 
Chalnoth said:
Radiosity lighting is ridiculously expensive. I don't think it'll ever be used in realtime, and I don't think the older techniques of combining static pre-computed radiosity with other forms of dynamic lighting computed in-game will become the norm again. This sort of model just doesn't lend itself well to realtime games, and so what we should expect are (almost always) realtime-only techniques.
I think Radiosity will be used in real-time. We only need a few more genrations of hardware. It's nothing compared to how expensive noiseless path-tracing is.
 
pat777 said:
I think Radiosity will be used in real-time. We only need a few more genrations of hardware. It's nothing compared to how expensive noiseless path-tracing is.
We'll need a huge leap in processor technology before that occurs. Specifically, it won't happen on silicon-based processors, which just won't get as much more powerful than today's processors than they would need to be to do radiosity in realtime.

Anyway, from what I've read on these boards, it seems that radiosity may not be the most efficient way to get a good global lighting approximation. So regardless, I just don't think that the radiosity algorithm itself will be used in realtime, because I think other approximations of global lighting will be better suited for realtime work.
 
I laughed out loud when I read that "I don't think it'll ever be used in realtime" claim since I've already seen good-looking real time Monte Carlo radiosity based solutions on couple of year old PCs :D But, time for me to go back to lurking mode again.

Nothing else to say, carry on. ;)
 
Hmm do these algorithms apply Monte Carlo to the visibility portion I'm guessing? If you did that with sometime of smart heruristics I could imagine it would work fairly well.
 
According to Carmack and most experts here, Doom 3 was the first widespread engine to provide support for a hardware accelerated globalized lighting model, tuned, in particular, to exploit dynamnic point and spot lights on materials with discrete specular components. What made it distinct from most previous engines was its robust, consistent, procedural, and per-pixel implementation. It used a limited half-vector derivative of the phong shading equation with cubemaps for normalization.

Strictly speaking, the 3DMark03 engine was the first widespread engine to offer all that, I suppose.
 
But not game.

I think Chronicles of Riddick may actually have been the first game to do this, but I can't be certain.
 
Hrm, for some strange reason I had this wierd idea that it was out for the PC. Nevermind....it's X-Box only.
 
Cryect said:
Hmm do these algorithms apply Monte Carlo to the visibility portion I'm guessing? If you did that with sometime of smart heruristics I could imagine it would work fairly well.

Yep. It was mostly a proof-of-concept, but worked pretty well.
 
Chalnoth said:
Hrm, for some strange reason I had this wierd idea that it was out for the PC. Nevermind....it's X-Box only.
I read a while back that there's a PC version in the works, but I'm not sure if there's any truth in that. As far as other games with fancy lighting models go, does the DeusEx2/Thief3 hack-job do all that?
 
Thief 3 has the shadowing, but I don't think it has the bump mapping. The demo I downloaded had a completely different look and feel, to me. Haven't yet played Deus Ex 2.
 
Luminescent said:
According to Carmack and most experts here, Doom 3 was the first widespread engine to provide support for a hardware accelerated globalized lighting model

I wouldnt call that a globalized lighting model, it is a unified lighting model.

As for UE-3 it seems it is just the good old mix of offline radiosity and online local lighting models (soft shadows not withstanding). Or in other words the return to a non unified lighting model.
 
I wouldn't call Doom3 unified, since it makes use of projected softshadows (like the ceiling fans in the Alpha labs), stencil shadows, projected lightsources (like the flashlight), and pointlights (most dynamic lights).
And as mentioned before, there are objects that don't shadow at all.

It is 'partly unified', but still has some special cases. The same goes for UE3.0.
 
Status
Not open for further replies.
Back
Top