The Failure of Soft Shadows and Parallax Mapping

Soft Shadows

We've seen how soft shadows can be used effectively in games like The Chronicles of Riddick, and Monolith has decided to add this as an option in FEAR. Used correctly, soft shadows greatly enhance lighting in a game by giving shadows cast by objects different levels of darkness making them more realistic. This process can take up a lot of processing power however, and that's no exception for FEAR.

Basically, soft shadows are an effect that show how shadows tend to fade at the edges or cast overlapping lines on walls or objects depending on different factors such as light angle and distance. If you've ever made a shadow-puppet, you can see this clearly, as multiple outlines of your hand shadow overlap on the wall with varying degrees of darkness (depending on the light source). And if you were to move your hand closer or farther away from the light, you can see how the soft shadows change dynamically.

The idea is to capture this effect in a game environment, but as any programmer would know, translating this to a game engine can be a very complex undertaking. Not only that, but as we mentioned before, calculating multiple shadows in real time can quickly become a major leech of processing power. With FEAR, we've seen how big of a performance hit that we had when we enabled soft shadows, but you may wonder, "does the effect at least look good?"

The short answer is "no". The way that FEAR incorporates soft shadows ends up looking unrealistic; more stratified and strange than soft. It simply looks as though the game draws multiple shadows at the edges of objects and offsets them up, down, left and right very slightly at different degrees of darkness regardless of the light source. This wouldn't be so bad if the multiple shadows were not readily noticeable as such. It also would have been nice if the "blur factor" were more dynamic; in other words, moving the shadows closer together or farther apart given where the object (say an enemy soldier) is in relation to the light sources and shadowed surfaces.

This is difficult to understand until you see it happening in the game, but you can get a better idea of it by looking at a few pictures. We took some screen shots of a scene with and without soft shadows enabled with both NVIDIA and ATI cards. Please ignore the slight lighting and position differences of these screens.

Seeing the pictures gives you a little better idea of how the soft shadow option looks in FEAR. Since it's not impressive and it gives the game a major performance hit, we don't see any reason to enable it. It might look good with AA enabled, but unfortunately as of right now, both soft shadows and AA can't be enabled at the same time. They might allow this in some later patch, but as we've shown by our performance tests, the cost to performance would be almost too great to think about.

Parallax Mapping

While the detailed textures, excellent lighting, well done static and dynamic shadows (in spite of the soft shadow issue), large intricate particle systems, and various beautiful effects of FEAR come together to form an immersive and fluid graphical experience, there are a few caveats. To their credit, Monolith was very aggressive with the features that they included and are on the leading edge of technology. The use of a deep parallax mapping algorithm to represent damage is a very cool idea, but the implementation used in FEAR doesn't include key features such as self-occlusion and self-shadowing. When passing a wall with a chunk blown out, the hole will swim around, flatten out, and eventually look like unidentifiable goo stuck to the wall as the angle gets very steep.

The parallax mapping used looks great from angles where the entire interior of a hole can be seen. The problem occurs at viewing angles where a near edge would need to block the view of part of (or the entire) interior of the indention. Rather than occluding anything, parts of the texture that should become invisible are still shown (albeit distorted). This completely destroys the illusion of depth at steep angles by making the texture kind of swim until it totally loses its three-dimensionality. There are algorithms available that can represent correctly self-occlusion in parallax mapping. While we can appreciate cheaper parallax mapping algorithms as a kind of upgraded bump mapping, dramatic surface deformation should either be done more correctly or not at all in cases where the viewer can move to angles that break the effect.

But again, we would love to give credit where credit is due. We would rather see game developers experiment with new technology and put something out there than let the true power of our graphics cards remain dormant. Monolith was ahead of the curve with the graphics in Tron 2.0, and they haven't let us down with the quality of FEAR.

The Game/Test setup No Soft Shadows and No AA/AF Performance Tests
Comments Locked

117 Comments

View All Comments

  • LocutusX - Thursday, October 20, 2005 - link

    I have FEAR, and have been playing it for the past day or so ("sick day" from work).

    I can't believe AnandTech would consider it good-looking on non-cuttingedge hardware where you have to put the details down. Have you actually played the game for more than 5 minutes? Performance & Graphics Quality in the later levels is CRAP if you're using mostly medium settings, which is a NECESSITY if you're using a slow X800 part or anything worse. (think X800XL)

    For the level of graphics you get, the performance of FEAR is unacceptable. Chronicles of Riddick looked much better, and performed slightly better, on my system. That's an OPENGL game on ATI hardware! Significant, no?

    BTW I also just tried Quake4... much much better performance than FEAR, and the indoor sequences look better by comparison (since I can afford to increase details in Q4, because the D3 engine actually runs pretty decently on ATI hardware with the most up-to-date drivers and CatalystAI enabled).
  • Jackyl - Thursday, October 20, 2005 - link

    LOL. He thinks X800XL is "slow"! A few months ago, everybody here was raving the X800XL as being best price/performance that actually beat a lot of higher end Nvidia cards. Ugly on medium textures? Go play the first DOOM or Wolfenstein 3D, and then come back and say Medium textures are ugly on Fear.

    Some people just won't be satisfied. It's people like you that pay $400-600 for a graphics card, that is causing prices to inflate. I really can't wait until silicon hits the limit where they can't reduce size anymore, and Moore's Law goes obsolete. Then the engineers will have to actually OPTIMIZE the hardware and drivers, instead of just cranking out more raw GPU power. I'm really sick of upgrading, and a lot of my friends have already stopped upgrading their systems, two generations ago. They just gave up.

    Tell me something...Everyone sure talks big on here, wanting to upgrade their cards. But why is it when I go to a game store, there are barely any PC games available on the shelves? I don't think a lot of people are buying PC games today, even though ATI and Nvidia would like to say otherwise. The shelves are totally full with console games instead.
  • LocutusX - Thursday, October 20, 2005 - link

    Jackyl, thanks for your totally useless post:

    "LOL. He thinks X800XL is "slow"!"

    Yes, compared to the 7800GTX - which apparently is what you NEED for Fear to run at a decent rate AND look good - the X800XL is slow.

    "Ugly on medium textures? Go play the first DOOM or Wolfenstein 3D, and then come back and say Medium textures are ugly on Fear."

    Not necessary to go back 10 years, chico. Anyone who has played Doom 3 (August 04), Half-Life 2 (December 04) or even Far Cry (March 04) will agree that Medium textures are "ugly" on Fear, although some may not use such strong language.


    "It's people like you that pay $400-600 for a graphics card, that is causing prices to inflate."

    Uh, no genius, I paid less than $200 for my X800Pro at a fire sale. And then I overclocked the sh!t out of it, so now it's a little bit faster than a stock X800XL.


    "Then the engineers will have to actually OPTIMIZE the hardware and drivers, instead of just cranking out more raw GPU power."

    Uh, that's precisely the point of my post - sorta. FEAR is a horribly unoptimized, perhaps even poorly-written, engine. In my opinion, it is unacceptable that an X800XL-class card should have so much trouble with it.

    So, what exactly was the point of your post anyways?
  • Pannenkoek - Thursday, October 20, 2005 - link

    On the esthetics of FEAR: it would have been kind of the article writers to include screenshots to underline their judgement. As one who has seen Unreal2 rendered by a lousy GF2 I can understand the parent poster's point. Also thanks for listening to my request for the absence of subjective opinions on the "playablity" of a game in benchmarks...
  • Kegh - Thursday, October 20, 2005 - link

    I played through the demo and thought the graphics were pretty good (considering my setup - 9700 pro, AMD 2500). But more to your point... I have never been a big fan of the Monolith LithTech Engine, every game or demo I have played which used it always feels clunky, the controls always seem "off" and the general engine performance is generally not on par with the other 3d game engines available. To be fair, I haven't played enough of this game to bash the current engine that much and once the game goes on sale I will probably pick it up. But not until after I buy a new system. :)

  • michal1980 - Thursday, October 20, 2005 - link

    common now, high end with no sli, maybe the 7800gt/gtx X 2 could really for the first time shine?
  • Jackyl - Thursday, October 20, 2005 - link

    Tried the demo with my 9800 Pro 128MB, 2.2GHz 64-bit proc, 1GB DDR. I ran the game in 1024x768, no soft shadows and no AF/AA, medium textures, and it still ran great on my system. It also still looked great with medium textures and ran smooth.

    I'm not sure why the X800 GT got such low framerate? Because of high textures? Maybe I'll try that on my card too tonight.
  • Jedi2155 - Friday, October 21, 2005 - link

    At first i was very skeptical that my friends system could handle it but it worked great and was perfectly smooth @ 1024x768 with medium details. And he's only running a AXP 1800+ with a Radeon 9800 pro. So it can still work pretty well on the old systems.
  • xsilver - Thursday, October 20, 2005 - link

    high end textures absolutley kills the 9800pro - killed mine anyways ;)
    if you let it autodetect the settings it should run smooth, all the tests here were on max settings except for the aformentioned soft shadows and AA/ansio

    with your settings in the demo (i had basically the same setup), while the frames were good, it still hitches when there is a lot of enemies/action going on

    it would just be good for AT to test it to compare apples with apples :)
  • Jackyl - Thursday, October 20, 2005 - link

    Actually I had ATI's 2x AF turned on in the drivers.

Log in

Don't have an account? Sign up now