Apparently, saying "could have been implemented on DX9" in my previous post in regards to VC self-shadowing stired all sorts of drama on some of the user forums. Although the statement is accurate, I did not explain in more details WHY this was not done and why we kept this feature for DX10 only. This post is not intended to be harsh but a mere clarification of why the decision was made. My tone may seem somewhat pessimistic but this is mainly due to frustration from the fact that some of our fans seem to be on a constant quest to crucify us no matter what we do.

Back to the topic of why self-shadowing is only present on DX10, I was really quick and vague into giving actual reasons and wanted to be true and honnest in my statement, which apparently got taken out of context and distorted... Since the VC self-shadowing is essentially another form of shadow mapping as done with the exterior, it could have been implemented on DX9. However, there are two reasons why the self-shadowing of VC was kept as a DX10 features (beyond the force people to upgrade conspiracy theory).

  • The first reason was briefly stated above which was for performance reasons. If we were to release this feature on DX9 and drop performance, well we would get crucified for doing so. Then again, I was being honnest and did say such a feature could have been done on DX9 but would hit performance significantly, yet we still get crucified. No matter what I say here, it is a loose-loose scenaro at least from the perspective of some of our fans...
  • The second reason, which was not mentioned in my original post, is in regards to visual quality. Under DX9, the shadowmap resolution used is significantly lower and the type of filtering we can use is also fairly limited. This yielded some really blocky looking shadows within the VC. DX10 does give us more options and we were able to use a larger shadowmap for the interior and also use a high quality filter which allowed the shadow to be of good quality. Yet again, if we released the low quality VC self-shadowing, we would have been crucufied for doing so...