Remember, my complete blog is now at: http://www.SebbyLive.com/
One of the DirectX 10 additions to FSX SP2/Acceleration is the use of self shadowing within the aircraft VCs. For the VC, we use shadowmapping, in a similar way that it is used for the external airfraft self shadowing. This could have technically also have been implemented on DX9 (SEE NOTE) but we made the decision to keep this a DX10 only feature mainly for performance reasons.
Update Note: Apparently, saying "could have been implemented on DX9" 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. 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...
Note: This feature will only appear for models that are properly built for this feature so will only work with updated FSX and Acceleration models out of the box. Third party models will need to be updated to take advantage of this feature, which mainly involves setting a new flag in the model and re-exporting. The reason for this choice is that shadow mapping does require a model to be "visually closed" when looked at from the outside. However, most of the time this is not the case as some material may not be properly double-sided or pieces of geometry may be leaving holes where there should not be any. Think of it this way, any holes when looking at the VC model from the outside is essentially a point where the light will shine through from the shadow map, leading to incorrect shadowing. We decided it made more sense to have the feature off by default unless someone explicitly marks the VC model as being "shadow map ready".
Below is a little video capture of the feature in action. It is mid-resolution to keep size and bandwidth reasonable but still shows off the feature fairly well and gives yo uan idea what to expect.
You can also download the video here: fsx_dx10_vcshadow.wmv (4.05 mb)