what do we really know about rage's lighting and shadowing?

inlimbo

Newcomer
i came across this post in the console rage megathread just now and it's disconcerting:

Or maybe not, knowing that this engine actually does very little beyond drawing textured polygons as all the lighting and shadows are pre-calculated and stored in the megatexture. Characters take up less than 20% of the screen, dynamic lights on the environment are probably just hacks, there's nothing comparable to what most other engines are doing nowadays like deferred rendering, complex shadowing, HDR rendering and so on.

Basically, the game looks good because they've painted everything to look good. It's a facade, a cheat, but a very clever one that's executed well, too. So there's absolutely no reason to doubt native 720p and 60fps so far.

but do we really know that or is that the general assumption? i assume outdoor time of day lighting is precalculated, but i'd like to think a lot of it is not. so what do we know?
 
Last edited by a moderator:
We know that all static lighting is baked in to the textures and this includes correct shadows and GI.
Only dynamic lights are calculated run time, but if the engine is forward, deferred or something else is not known.
 
but there's lighting correct shadow receiving, shadow casting and self shadowing for any dynamic entities in the world, correct?
 
Last edited by a moderator:
but there's lighting correct shadow receiving, shadow casting and self shadowing for any dynamic entities in the world, correct?

well sort of(from what we have seen so far). Only a handfull of objects cast real-time shadows (and feature self-shadiwing): Characters, cars (no self-shadowing on these from what I can see) and some moving object (fan/ventilation blades). It's pretty basic stuff. Rage is all about the art direction...
 
and for that reason i'm not complaining. i just figured carmack was pushing lighting further than i'd imagined, but i guess that's not feasible given rage's sheer size and quality, at least at 60hz.

still, though it would likely send people over the edge, it would've cool to see them sacrifice texture res and geometry for the sake of true unified lighting and shadowing in a game with this scope
 
and for that reason i'm not complaining. i just figured carmack was pushing lighting further than i'd imagined, but i guess that's not feasible given rage's sheer size and quality, at least at 60hz.

still, though it would likely send people over the edge, it would've cool to see them sacrifice texture res and geometry for the sake of true unified lighting and shadowing in a game with this scope
It will be interesting what they will do with Doom3 as the previous part had fully dynamic lights.
Virtual texturing brings some very interesting possibilities for frame independant lighting and shadowing which is something that I really hope to see in Doom3.
 
In the videos/screenshots I've seen the dynamic objects cast a shadow onto the shadowed parts of the static geo and don't really match the static shadows on the lit parts of the static geo. It's something you used to see a lot of last-gen and earlier this gen, but not as much anymore (the newer UE3 games handle it correctly, for instance). Not sure if they do this because they bake the lighting into the diffuse map, or because they just wanted objects to look grounded in the shadowed parts of the levels.
 
i kind of blithely imagine doom 4 as semi open like rage, if only on a smaller scale; something that indicates id hasn't lost sight of what doom can be. then i remember 30hz and twice the fidelity of rage and wonder if they'll go for that. i have absolutely no problems with 30 fps in an action game, but that doesn't seem like id's philosophy, so i guess we'll probably get something more like survival horror again
 
I think it's still possible to store precalculated lighting info with a shadow term, which can be combined with dynamic shadows and lights in the final lighting calculations. UE3 can use multiple tech implementations for shadow terms, at least at the time of Gears 1 this was the case - it didn't care if it came from a shadow buffer, a volumetric shadow or anything else, it just used the value as an input.

But I kinda doubt that Rage could do that. Most games have lightmaps using less than 10% of the texel density of the other channels (color, normal) so they can afford to pack more data; but Rage would probably require yet another full 128k resolution layer for that and it's just not worth the effort. They can simply use other tricks like a multiply operation to paint the shadowed areas darker on the level geometry; as others already said, it's a very old technique by now.

Whether they will use this for Doom 4 as well is an interesting question - if there aren't any big open areas, they can go with something like a 64k megatexture and use many more layers on the level geometry, and at 30fps they can probably afford dynamic lighting calculations too.
On the other hand they can calculate and store GI lighting at the color texture's density, so at a very very high fidelity, and it would be a waste to throw away this feature. So maybe they'll stick with it and leave dynamic lighting out of the game.

Keep in mind that id is a very different studio now, compared to even the one that made Doom 3. They've more than doubled their staff and a lot of the guys from that team have left (Ken Scott) or even been fired (Adrian Carmack). Just as Rage is quite unlike any other id game before, Doom 4 might end up defying expectations as well, after all the black corridors of the previous game have been widely criticized (although I'd like to reiterate here that D3 is id's greatest financial success)
 
now that you bring up ue3, do you have a guess as to what's going on in bioshock infinite? it looks mostly dynamic with a pretty decent approximation of real-time global illumination, if that is the case. is enlighten still integrated with ue3?

edit: i guess taking a second glance there's a lot that's dynamic, but enough that's not. it's a pretty good illusion though, from what i can tell
 
Last edited by a moderator:
But I kinda doubt that Rage could do that. Most games have lightmaps using less than 10% of the texel density of the other channels (color, normal) so they can afford to pack more data; but Rage would probably require yet another full 128k resolution layer for that and it's just not worth the effort.

What makes you think so?

My understanding (possibly very wrong) of how it works is that they can adaptively distribute real pixel resolution anywhere in the virtual 128k, per-layer - e.g. a piece of ground where the character walks on, but can never be shadowed by the precalculated shadowcasters because it's in the middle of a huge flat area, can have 128 pixels/meter for diffuse and only 1 pixel/meter for whatever precalculated lighting thing they might or might not be using.

(This idea of unevenly distributed pixel density comes from Carmack's comments on the PS3 advantage with Blu-ray that "some backwards part of the world will be lower-res on Xbox")
 
Decoupled diffuse/lightmaps would require two sets of UV coordinates and two entire full screen passes to generate the megatexture lookup, am I not right about that?

It's one thing to have uneven UV coords for the single texture channel and a completely different thing to have two sets of UV coords...
 
No, decoupled resolution with the same mapping. The same piece of the megatexture with the same shape is covering the geometry, but for diffuse we have e.g. 512x512 texels, for the lightmap the mip tree is cut off at 64x64 texels.
 
Back
Top