Friday the 13th is here, and so is the 2nd FSX-DX10 progress report
With this blog post, I have likely run out of snarky dates to make a post on. Ides of August anyone? J. So on with the show
First, this is not the FSX-DX10 feature discussion. Nor is this the “what will be in the DX10 release for DX9 users” discussion. Why not you ask? Because that work is still in flight. And we could still find something that would necessitate us dropping a feature or fix before the final FSX-DX10 release. My current plan is to make a feature disclosure post in public in mid-August when we should know with much more certainty what DX10 features will ship and what fixes we can fit in around the edges.
How could it be possible that we don’t know what we are doing? Well, that’s a bit of a strong interpretation. Of course we have a plan. But like the old saying “no battle plan survives contact with the enemy”; software project management has the same issue. Events happen and require adjustments to the plan. Some are minor, and are akin to tacking a sailing ship down a course. Some are major and are equivalent to having sails blow out and losing the lead. You just cannot predict; and with that being true I tend to remain conservative in what I say to not build any false expectations.
So what can I say? I can talk to the general organization of the project so you get a sense of what needs to be done and where we are. And a 2nd set of screenshots.
Practically speaking, we broke the work into 4 phases:
1) Device and Infrastructure bring-up
2) Geometry Pipeline bring-up
3) Pixel Pipeline bring-up to "rough DX9-level comparability"
4) DX10-specific feature work.
The 1st 2 phases had to happen before the last 2 phases could even start. And the 1st public post on FSX-DX10, roughly 3 weeks ago, showed we had essentially finished those phases.
The last 2 phases, though, can be done somewhat in parallel once enough of the Pixel Pipeline is operational for a specific feature. Because we are doing things in parallel; while that does provide the opportunity to speed up the work - it also introduces risk that integration of the features together will show something unexpected. So that is how we could have a feature that looks pretty good now, but might not make it later. And why I want to remain conservative and not show my feature cards yet. J.
Why does it work that way? We have a tight timeframe to make our Fall release schedule and move off onto the next set of projects. And we dont want to mis-set expectations.
So now on to what I can report at this time.
We have some progress on the Pixel Pipeline. Okay, okay, maybe that was too obvious. J.
Here is some more detail.
The first thing we did was bring up what we call the “fallback material” which gave us a solid color for every triangle, here.
So what is next? Well, textures, materials/shaders, and effects. D3D10 changed the texture formats, so we have to write conversion code to swizzle the textures on the fly. That means each and every texture format requires code to be touched. Except for DTXn textures. So that was the first to be brought up, what we call the basemap, here. So you can start to see some definition in the world, but lots of objects are still black rectangles.
Is that it? No, we actually have swizzled texture formats working; but they still require material/shader and effect support to reach DX9-level visuals and thus appear a bit flat. Here is a shot off the edge of the Trike, showing ground textures, tree textures, the sky, and gauges. And a VC shot here. Note a couple of things that highlight the lack of shader and effect support. The edges of the rectangles around the tree textures show black – lack of alpha material support for transparency. The sky shows the stars as black dots, again lack of material/shader support. And all the cockpit materials aren’t working as the lack of glare across the bar and the lack of alpha in the windscreen shows. Here is another cockpit shot, and it looks similarly flat; an indicator the textures are there but not the shaders/materials.
No more? Just a final shot in multi-mon mode, to show the value of the infrastructure bring-up.
Unimpressive looking overall in general, unless you map it to the plan I outlined above with its phases and use that to gauge our progress. So we are making good, steady progress since we came off SP1 roughly 2 months ago.
To set expectations, I may or may not make one more interim screenshot post like this before talking features. The current plan is to have that discussion in mid-August, but that discussion could always slip to early September as there is a lot more to be done before any feature is "final" and "committed".
I hope that makes sense. And now, perhaps, the pacing of progress reports make sense too.
Sorry to be long-winded. I hope this is useful.