question about crysis features/technology

her34

Senior member
Dec 4, 2004
581
1
81
in those crysis demo videos among other features these were mentioned:

1) real time ambient maps
2) dynamic soft shadows

would someone explain what these exactly mean?

in doom3 you could make a ceiling light start swinging around and corresponding shadows were created. in crysis they show that light floating across a staircase. is that more advanced then what doom3 was doing?

or when they show the shadow of the palm tree shrinking, was that never done before?
 

Nightmare225

Golden Member
May 20, 2006
1,661
0
0
It's been done, sure, but never as efficiently and in combination with so many other advanced engine features before. ;)
 

AnotherGuy

Senior member
Dec 9, 2003
678
0
71
Crysis will be at least like 5 times more advanced engine then the doom3.... even Farcry i think beats the hell of doom3 in graphics.... my opinion at least
 

brandonb

Diamond Member
Oct 17, 2006
3,731
2
0
As I've tinkered around with DirectX and graphics development, I can try to answer, however, what I mention not be exactly what Crysis/CryEngine is doing. I will try to explain it in a user-friendly manner rather than computer science technobabble.

1) Ambient lighting is thought of light that surrounds the entire world. For example. A light source such as the sun creates ambient light. It's a more generic light that covers everything in the entire scene (ground, particles, mountains in the distance, etc) evenly, depending on which way the polygon is facing indicates how much ambient light reflects off the surface (which causes shadows on the side of a mountain away from the sun) However, since Crysis is an internal and external engine, ambient light can't be used in the same sense, as ambient light from the sun would reflect off a floor inside a building, and that would cause it to be artificially lit even though there is a ceiling preventing it... Then what about windows? :) Can ambient light shine through that and light up the floor?

"maps" is generally a word to describe a cube texture. So instead of applying this in real time, and ray tracing each pixel, the ambient light is probably calculated once (or at a certain interval) and saved to a cube texture that surrounds the object in a cube like manner (like a sky box) and is more rigid "blocky" to save processing time... Shadow maps are the shadows found in games like Battlefield 1942. Where the shadows are calculated to a texture, and therefore when the shadow is drawn, it gets really blocky, but the performance is fast, but you lose image quality... So I'm sure the ambient light is calculated/used in the same manner as a shadow map but in the opposite manner, instead of darkening the area because of an object in the way, it lightens the area because of no object is in the way.

The "ball of light" that is seen in their demo might not be an individual light source that has a short range (which can be culled if you are outside of a room easily, to speed up the rendering of the lighting system) but rather a more global light... I think they have to do this because the structures are destructable. So one minute the sun might not be able to reach inside of the room and might not get hit by ambient light, but if a tank demolishes the wall, the sun might be able to poke in and ambient light applies.

In other words, they have to create real time ambient maps because they have destructable surfaces.

2) Dynamic soft shadows. This is used to smooth the edges of shadows to make it feel more natural. Like I mentioned, when you are using ambient maps/shadow maps, the image quality is reduced and things like shadows get really blocky due the "maps"...

Dynamic soft shadows basically means they take that map, and in a pixel shader, smooth out the edges using some blur technique as they are rendering. That way instead of ray tracing and using a ton of GPU/CPU speed, they can reduce quality using maps, but then take the crappy result, and blur the edges to create a more realistic result. You may be thinking "How does that make sense?"... To explain that in a way that makes sense, imagine you load up a picture in photoshop and enlarge the picture 4x the size. Now each pixel in the picture is 4x4 pixels on your monitor and everything is really blocky. Just like the ambient/shadow maps. Now you apply a filter and blur the edges. Now things will look a bit better, even though the original image was very pixellated to begin with.

I'm sure they are doing that same thing with ambient maps as well...
 

jdoggg12

Platinum Member
Aug 20, 2005
2,685
11
81
Originally posted by: brandonb
As I've tinkered around with DirectX and graphics development, I can try to answer, however, what I mention not be exactly what Crysis/CryEngine is doing. I will try to explain it in a user-friendly manner rather than computer science technobabble.

1) Ambient lighting is thought of light that surrounds the entire world. For example. A light source such as the sun creates ambient light. It's a more generic light that covers everything in the entire scene (ground, particles, mountains in the distance, etc) evenly, depending on which way the polygon is facing indicates how much ambient light reflects off the surface (which causes shadows on the side of a mountain away from the sun) However, since Crysis is an internal and external engine, ambient light can't be used in the same sense, as ambient light from the sun would reflect off a floor inside a building, and that would cause it to be artificially lit even though there is a ceiling preventing it... Then what about windows? :) Can ambient light shine through that and light up the floor?

"maps" is generally a word to describe a cube texture. So instead of applying this in real time, and ray tracing each pixel, the ambient light is probably calculated once (or at a certain interval) and saved to a cube texture that surrounds the object in a cube like manner (like a sky box) and is more rigid "blocky" to save processing time... Shadow maps are the shadows found in games like Battlefield 1942. Where the shadows are calculated to a texture, and therefore when the shadow is drawn, it gets really blocky, but the performance is fast, but you lose image quality... So I'm sure the ambient light is calculated/used in the same manner as a shadow map but in the opposite manner, instead of darkening the area because of an object in the way, it lightens the area because of no object is in the way.

The "ball of light" that is seen in their demo might not be an individual light source that has a short range (which can be culled if you are outside of a room easily, to speed up the rendering of the lighting system) but rather a more global light... I think they have to do this because the structures are destructable. So one minute the sun might not be able to reach inside of the room and might not get hit by ambient light, but if a tank demolishes the wall, the sun might be able to poke in and ambient light applies.

In other words, they have to create real time ambient maps because they have destructable surfaces.

2) Dynamic soft shadows. This is used to smooth the edges of shadows to make it feel more natural. Like I mentioned, when you are using ambient maps/shadow maps, the image quality is reduced and things like shadows get really blocky due the "maps"...

Dynamic soft shadows basically means they take that map, and in a pixel shader, smooth out the edges using some blur technique as they are rendering. That way instead of ray tracing and using a ton of GPU/CPU speed, they can reduce quality using maps, but then take the crappy result, and blur the edges to create a more realistic result. You may be thinking "How does that make sense?"... To explain that in a way that makes sense, imagine you load up a picture in photoshop and enlarge the picture 4x the size. Now each pixel in the picture is 4x4 pixels on your monitor and everything is really blocky. Just like the ambient/shadow maps. Now you apply a filter and blur the edges. Now things will look a bit better, even though the original image was very pixellated to begin with.

I'm sure they are doing that same thing with ambient maps as well...

Mr. brandonb, what you've just said is one of the most insanely idiotic things I have ever heard. At no point in your rambling, incoherent response were you even close to anything that could be considered a rational thought. Everyone in this room is now dumber for having listened to it. I award you no points, and may God have mercy on your soul.


:laugh:

j/k

Good post/explanation. :thumbsup:
 

her34

Senior member
Dec 4, 2004
581
1
81
Originally posted by: brandonb
"maps" is generally a word to describe a cube texture. So instead of applying this in real time, and ray tracing each pixel, the ambient light is probably calculated once (or at a certain interval) and saved to a cube texture that surrounds the object in a cube like manner (like a sky box) and is more rigid "blocky" to save processing time...

would the ambient map/cube look like this:

Text



did doom3 have ambient lighting?
 

m21s

Senior member
Dec 6, 2004
775
0
71
Originally posted by: jdoggg12

Mr. brandonb, what you've just said is one of the most insanely idiotic things I have ever heard. At no point in your rambling, incoherent response were you even close to anything that could be considered a rational thought. Everyone in this room is now dumber for having listened to it. I award you no points, and may God have mercy on your soul.


:laugh:

j/k

Good post/explanation. :thumbsup:


+1 for the Billy Madison quote :)