aeilkema opened this issue on Sep 05, 2009 ยท 142 posts
bagginsbill posted Sat, 05 September 2009 at 11:29 AM
The game also uses all kinds of tricks, exploiting known factors that are not going to change.
For example, the mountains in the background are always in the background. So you do not need to calculate atmospheric haze based on distance - it is baked in. The lighting on the mountains or buildings is also known and a constant, so it is baked in. They don't have to run a full GI calculation to find out what colors and brightness are the sky, clouds, ground, other buildings nearby. All of those things are hard-coded into the scenes they've created for each venue.
The lighting on the cars is also known with a few small variables thrown in that can be taken care of quickly. When the car is on the road, the ambient lighting from sky and ground is totally pre-calculated and set up as an IBL for the car. The occlusion shadows under the car do not have to be generalized - they can be pre-calculated in a few shadow maps which are interpolated, in case the car is flying off the ground.
Reflections of the scenery (mostly sky) are baked into a reflection map, which can be quickly looked up to generate nice reflections on the car surfaces without using ray-tracing. I haven't seen the game up close, but they can also handle some car-to-car reflection using some neat tricks that are far less general than dealing with a V4 crawling over the car.
There's tons of stuff like that. If you added up all the stuff rendered off-line and baked into just one venue, you're probably talking about a render time of 1000 hours.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)