Unreal 3.0 and Dynamic Radiosity Lighting

Status
Not open for further replies.
Sigma said:
Jesus. I don't get it. In the flashlight thread it was explained why the grates didn't cast shadows. The grates are simulated geometry with a texture with an alpha channel. Of course that any geometry based shadow solution can't project shadows of geometric detail faked in a texture. Build the grates out of triangles and it will cast a shadow...

I know *why*, that doesn't change the fact that there are apparently two ways of generating geometry: through meshes and through opacitymaps.
And since the stencil-shadow method is mesh-based, it does not work with opacitymaps. *boom* there goes your unified model.

It is unified because moving and non moving objects are treated equal and every light created "just works" (including shadows. Scali you read: geometric based shadows).

Ah yes... and what are those non-geometric shadows doing in this unified system then? Are they just nonsense?
Here's a hint for you: they don't work on moving objects either, most notably when you deform the mesh.
 
Chalnoth said:
No, not really. Most engines have a fundamentally different lighting model for world geometry than for moving objects. This is the key difference with Doom 3. There is no difference between world geometry and moving objects.

That's my point. You could treat all world geometry as moving objects in any engine.

This allows for much greater potential in animation of the world, as as far as the rendering is concerned, there will be little to no performance hit (or visual difference) from animating objects that usually aren't animated in the game.

On the other hand, it also limits the complexity and size of the world considerably. Even Carmack himself admitted that there is not much room for any other type of game than Doom3 with the engine.
So perhaps there are good reasons for other engines to not take the Doom3 engine's path.

By getting rid of preprocessing, Doom 3 opens the door for much more motion in game worlds.

Yes, but at what cost?
And it doesn't really have a lot to do with being unified or not anyway. Even if you had to preprocess data for all objects, it would still be unified.
Doom3 still uses preprocessed data by the way, such as the aforementioned lightmaps for grates and fans and such.

Conclusion: Doom3 didn't get rid of preprocessing. The amount of preprocessing has been reduced from earlier generation of games, but it's not gone yet, and there still are limits to doing this. Doom3 managed to get away with it, other games could not. It's impossible to make a game like FarCry on the Doom3 engine.
As for all Carmacks buzzword-talk: I don't give a rat's behind.
He's just trying to sell his not-so-flashy game. It's too little, too late. Had it come out 2 years ago, or so... It'd be fantastic... but by now we're all seen it long before and coded it ourselves, and became aware of the limitations and got bored with it, and moved on.
 
If you used other engines, and decided to treat your static geometry as dynamic, it would either look horrible, or perform slowly.

Quake 1 is a pretty good example of this. Both the projection and shading of models had interesting hacks.

If you treated Far Cry's terrain as dynamic, it wouldn't even light properly. FC's lights (including the flashlight) don't cross the indoor/outdoor divides.
 
Cat said:
If you used other engines, and decided to treat your static geometry as dynamic, it would either look horrible, or perform slowly.

Likewise if you used the Doom3 engine for other games.

If you treated Far Cry's terrain as dynamic, it wouldn't even light properly. FC's lights (including the flashlight) don't cross the indoor/outdoor divides.

As I said before, the Doom3 engine can't handle a game like FarCry at all, so obviously the FarCry engine has to work differently.
 
Scali said:
That's my point. You could treat all world geometry as moving objects in any engine.
No, you can't do that realistically. Most engines out there use lots of preprocessing to make the world look halfway decent. What you're asking here is to get rid of lightmaps in games like the UT series. If you did this, well, the levels would look like crap.

On the other hand, it also limits the complexity and size of the world considerably. Even Carmack himself admitted that there is not much room for any other type of game than Doom3 with the engine.
So perhaps there are good reasons for other engines to not take the Doom3 engine's path.
When did he say that? Because it's just blatantly wrong. It sounds to me like you quite misunderstood him. It does limit things, of course, but it's not like Doom 3's way of doing these things is the only way.
 
Chalnoth said:
No, you can't do that realistically. Most engines out there use lots of preprocessing to make the world look halfway decent. What you're asking here is to get rid of lightmaps in games like the UT series. If you did this, well, the levels would look like crap.

Exactly. A game like UT cannot run on the Doom3 engine.

When did he say that? Because it's just blatantly wrong. It sounds to me like you quite misunderstood him. It does limit things, of course, but it's not like Doom 3's way of doing these things is the only way.

He said it in some interview, I don't recall which one exactly... Probably the QuakeCon stuff. And no I didn't misunderstand him.
As you say yourself, a type of world like in UT would not work if you remove all static lighting and rely only on pointlights placed in the world.
The Doom3 engine is for one purpose only: small dark rooms, with pointlights with small radii only. Move away from that scenario and it all falls apart.
 
You can have large point lights, just don't make them overlap much. You can always add projected textures to the lights if you want more of UT's look.

I prefer the seamless lighting transition of Doom to the cartoonish lighting of UT. I think it looks pretty special, but I suppose it's all subjective.
 
Scali said:
Cat said:
Doesn't the argument just become, "and vice versa?"

That's been my point the whole time. Doom3 is nothing special.

I wouldn't formulate it quite that way. Doom 3 surely is something special. It has some specialities that are unique to its engine.
But it's not the only engine with such specialities.
 
Snyder said:
I wouldn't formulate it quite that way. Doom 3 surely is something special. It has some specialities that are unique to its engine.
But it's not the only engine with such specialities.

What I meant to say is that it is not the 'ultimate' engine. Sure, it uses less lightmaps than Quake 1, and it uses more detailed lighting than Quake 1... But it's still an engine full of special cases, precalced things, and limitations.
If you want my idea of unified, I guess the average raytracer is a nice example. You can feed any object, and any light type, and it will just light and shadow properly. Even with opacity maps. Spotlights can simply be done by modeling a spotlight... namely a pointlight with a hemisphere surrounding it. Ofcourse you could do that in Doom3 aswell, but obviously the cost of the shadowvolume created this way, is not acceptable. Hence we drop the uniform model and precalc a hack, as usual.
As far as non-pointlight sources, Doom3 cannot handle those at all. All lightsources are considered pointlights as far as the stencilshadows are concerned. And calculating anything other than pointlights directly in a shader is troublesome aswell.
 
Scali said:
Exactly. A game like UT cannot run on the Doom3 engine.

Neither does Tetris... :? What is your point? Is it because UT lacks normal and bump maps meaning it is impossible to do bump mapping, thus it cannot run in Doom?
I think I understand: it is like trying to run a Linux binary on Windows. It doesn't so it's Windows fault... :oops: Oh well...

Scali said:
The Doom3 engine is for one purpose only: small dark rooms, with pointlights with small radii only. Move away from that scenario and it all falls apart.

Or not.... The Mars areas are quite big and there is only one huge light on them. The shadow volume is not good for outdoors, but small dark rooms with little point lights? :LOL:

I haven't laughed like this since the flashlight thread... :LOL:
 
Scali said:
Chalnoth said:
No, you can't do that realistically. Most engines out there use lots of preprocessing to make the world look halfway decent. What you're asking here is to get rid of lightmaps in games like the UT series. If you did this, well, the levels would look like crap.
Exactly. A game like UT cannot run on the Doom3 engine.
I don't think so, not at all. You'd obviously need to rework the levels to mesh with the new performance characteristics of the Doom 3 engine, but it could certainly work. You may want to also make some modifications to the shadow technology to optimize for performance to mesh with the different gameplay, but again, I see no reason for it not to work. Hell, it looks like UE3 is taking many of the characteristics of the Doom 3 engine with it, so I really don't know what you're blabbing on about.
 
Scali said:
If you want my idea of unified, I guess the average raytracer is a nice example. You can feed any object, and any light type, and it will just light and shadow properly. Even with opacity maps. Spotlights can simply be done by modeling a spotlight... namely a pointlight with a hemisphere surrounding it. Ofcourse you could do that in Doom3 aswell, but obviously the cost of the shadowvolume created this way, is not acceptable. Hence we drop the uniform model and precalc a hack, as usual.
As far as non-pointlight sources, Doom3 cannot handle those at all. All lightsources are considered pointlights as far as the stencilshadows are concerned. And calculating anything other than pointlights directly in a shader is troublesome aswell.

:oops: It is the other way around!!! :?

Most lights in Doom3 are spotlights!!!! And specialy because of shadows, simply to the fact that a spotlight frustum is very small compared to a pointlight frustum, thus the optimizations for the shadows are huge.

Check the shaders, most lights require a spotlight map for the lightning, except of course point lights....

In fact, the only pointlight I noticed playing Doom3 is the light from the Imp!
 
Cat said:
Directional lights are supported.

They are special cases of pointlights. As are spotlights, obviously. Just pointlights with a cone-shaped range.
I meant significantly different lights, like different shapes of light. Not points, but spheres, cylindrical shapes, boxes etc.
 
Sigma said:
Neither does Tetris... :? What is your point? Is it because UT lacks normal and bump maps meaning it is impossible to do bump mapping, thus it cannot run in Doom?
I think I understand: it is like trying to run a Linux binary on Windows. It doesn't so it's Windows fault... :oops: Oh well...

No, UT doesn't work, obviously because it has larger outdoor areas, and requires some kind of ambient light. Doing it with lights like Doom3 would require too many lights or ranges that are too large, so you'd waste a lot of fillrate, especially on shadows.

Or not.... The Mars areas are quite big and there is only one huge light on them. The shadow volume is not good for outdoors, but small dark rooms with little point lights? :LOL:

If you think the Mars areas are big, you obviously have never played any real outdoor games. The Mars areas are barely larger than the average room, and are sealed off from all sides, and the roof is replaced with a skydome.

I haven't laughed like this since the flashlight thread... :LOL:

I find your ignorance quite amusing indeed.
 
Scali said:
and are sealed off from all sides, and the roof is replaced with a skydome.
What engine has open spaces that are not sealed off from all sides and doesn't use a skybox?
 
Chalnoth said:
I don't think so, not at all. You'd obviously need to rework the levels to mesh with the new performance characteristics of the Doom 3 engine, but it could certainly work. You may want to also make some modifications to the shadow technology to optimize for performance to mesh with the different gameplay, but again, I see no reason for it not to work.

As you say, you need to modify it to make it perform well. Get it?
As soon as you modify the engine, it is no longer the Doom3 engine.
Sure you can modify any engine to make it run any other game, but that's not the point. The point is that if you try to render game A with the technology of game B, it will not work well, in most cases.
To get back on topic: Doom3 itself is a very special case, and its engine may have a 'unified' model, if you want to believe that, but it is completely useless for anything but Doom3. You can't go and cast shadows on every tree, plant and rock in a jungle level of FarCry, for example.

Hell, it looks like UE3 is taking many of the characteristics of the Doom 3 engine with it, so I really don't know what you're blabbing on about.

I wasn't talking about UE3 at all, actually. Bit silly anyway, since it is far from done, and we don't know every detail about it yet. We don't know yet what games it is going to run or not run.
 
Status
Not open for further replies.
Back
Top