SebbyLive

Sebby's Homepage: My Life, my work and my projects.

Articles

Skip Navigation Links.

Recent posts

Recent comments

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright
2008 Sebastien St-Laurent

Help me jumpstart my financial recovery!
For the months of August, September and October you can win $1000
simply by joining Amazon Prime or purchasing an Amazon Kindle eBook reader.

Learn More About This Contest

Skip Navigation Links  

Flight Simulator X Acceleration/SP2 - Water DX10 vs DX9

About time hunh? I know, acceleration is already out and I was not even finished with the overview of all the features I worked on for my blog. That's life for ya...

Before I start explaining anything, the two videos below compare the DX10 and DX9 water effects...


DX10 Water (Download Here)

 


DX9 Water (Download Here)

See the difference? Well I swear there is one, and the quality of these video clips sure doesn't give it justice. Of course, those that remember this magical "PR mock-up" screen shot showing what DX10 could be, you probably say the dynamically moving water with waves crashing on the shoreline,... Obviously this did not happen. Probably the best way to approach this topic is to start explaining what happened and then go through the things that didn't happen and explain why.

What Did Happen in DX10

Most of the work for DX10 was kept as small size chunks. This was on purpose to try and keep our work balanced between the various features. But overall here is a breakdown of the improvements made:

  • Performance improvements to the generation of the reflection map. Turns out we were doing alot of useless things to generate this low-resolution texute. This is still not perfect but in some extreme cases it did create a 20% performance improvement on my DX10 system.
  • Significant enhancements to the water shader. For the most part this includes the addition of more bump for the water so the bumpiness appears less repetitive and more dynamic. I have also added a new "detail bumpmap" which only kicks in when the viewer is closeby. This is to compensate for the lack of resolution of the bump when on the water (which created really blocky lighting and reflection). This texture does fade out with distance to avoid any aliasing problems.
  • Also, I added support for simple whitecaps. At this time, it isn't done through dynamically generated particles or other geometry but it is actually done procedurally within the pixel shader based on an estimation of the local turbulence. It actually looks quite nice considering the simplicity of the algorithm.
  • I also started the implementation of the framework needed to allow the variation of the water settings on a per-waterclass basis. The code that is in place is not complete and was disabled. This feature came in too late and was too risky to turn on so we did have to "ditch it" at the last minute.

What Didn't Happen in DX10 :(

Actually, the main thing that did not happen and which is the main feature that is noticed is the dynamically waving water. This was indeed in the initial plans for SP2/Acceleration. Actually, this was even in the initial FSX plans but at the time the only solution was to do this on the CPU and seeing that it would consume 30-50% of the CPU on complex scenes, we decided to postpone this feature until it could be done on the graphic hardware.

Of course, DirectX 10 was a prime opportunity for this. However a few problems caused us some grief. The initial plan was to leave the water geometry as-is and let the GPU tesselate the geometry within the new geometry shader. Well once the real hardware came out, it turned out that geometry shaders we not performant enough to accomplish this. The second option was to pre-generate the water geometry but let the dynamic update happen on the GPU. The problem in that case is that it would roughly double the terrain/water geometry memory footprint.

In other words we were doomed either way and deemed this was just too risky at the moment, at least until we could fully investigate the consequences of each option and to see what else could be done.

Currently rated 4.7 by 6 people

  • Currently 4.666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by sebby1234 on Thursday, November 08, 2007 10:37 AM
Permalink | Comments (13) | Post RSSRSS comment feed

Related posts

Comments

Sebastien St-Laurent's (AKA Sebby) WebLog

Thursday, November 08, 2007 2:31 PM

trackback

Trackback from Sebastien St-Laurent's (AKA Sebby) WebLog

Flight Simulator X Acceleration/SP2 - Water DX10 vs DX9

Noticias externas

Thursday, November 08, 2007 3:04 PM

trackback

Trackback from Noticias externas

Flight Simulator X Acceleration/SP2 - Water DX10 vs DX9

msdnrss.thecoderblogs.com

Thursday, November 08, 2007 3:56 PM

pingback

Pingback from msdnrss.thecoderblogs.com

MSDN Blog Postings » Flight Simulator X Acceleration/SP2 - Water DX10 vs DX9

Bigean de

Saturday, November 10, 2007 5:01 AM

Bigean

Sorry for being so curious, Sebby. I just think FSX DX10 Preview might be underrated, when people don't have all info's.

Water - me personally I don't mind SO much about the ocean look. Just my personal opinion. But let's look at the other water aspect - wet runways and taxiways.

How are THEY affected in DX9 from the settings 1.x high, 2.x low/medium/high/max?

What does DX10 change there, is it the same things like in ocean water?

THX, Bigean

sebby1234 us

Tuesday, November 13, 2007 10:01 AM

sebby1234

The "water" settings in game 1.X, 2.X,... Only affect bodies of water (i.e lake, ocean, river,...). These settings currently don't have an impact on the rendering of "wet surfaces".

Sam ch

Thursday, November 15, 2007 9:31 AM

Sam

I don't mind those missing water effects either, but what I'm REALLY disappointed of is the lack of freakin' raindrops and snowflakes on my VC windscreen! Smile Sorry to name another product but the 'Flight Unlimited' series had some really nice windscreen effects imho. As far as I can remember they even had some kind of reflection/refraction which actually didn't cause any significant fps-loss. So, what is the reason FSX doesn't have ANY raindrops splashing on my windscreen?

Regards
Sam

sebby1234 us

Monday, November 19, 2007 10:03 PM

sebby1234

I guess there is two topics here. The first one is the windshield effects and the second one relates to the performance effect of water reflection.

For the windshield effects, there was some implementation in Flight Sim 9 but with architectural changes in Flight Sim X, these effects (as they were implemented) could not be moved forward and had to be droped and needed to be re-implemented. That being said, with the mix of other features we wanted to put in place, this just never happened.

Keep in mind, regardless of what some people may think, we have a limited amount of time and resources between releases. We do have to pick our battles especially consideting the list of "wants" can be near infinite. Despite what some say, we do try to please our customers but there is no realistic way everyone can be pleased. We based our work on what are the most requested features. So I would say the best is to make yoursel heard (in a polite way please) and the more vibe a feature gets the higher it will be on our priority list.

Back to the second topic, the water reflections can be relatively cheap is kept in 2.X Low/Mid mode. I will make a more specific post in the next few days but the idea is that the amount of details rendered in the reflection map is directly dependent on the setting used. In the low/mid settings, you'll generally only get the aircraft,sky and terrain. But in the high settings, the whole scene is rendered a second time. So you can obviously expect to cut the frame rate in half. If you add multiple views to your experience, then its another X many times the scene must be rendered (the reflection map must be generated for every view).

Bigean de

Tuesday, November 20, 2007 1:04 PM

Bigean

Oh. People report with DX9 they can go up to 2.x low mode without fps penalty. In DX10 it seems to be the 2.x med that comes without penalty.

-> What's there if setting DX9 2.x low? what kind of reflections?
-> What's there on top, if using DX10 2.x medium?
(-> Is it possible for you to show the differences in a screenshot? Wink )
-> With setting 2.x max, does DX10 help at all? But I understand that there's random objects hard to predict how many, that will be calculated in a second path

And again for the wet runways: I understand there's no waves, no whitecaps .. but how about any reflections? Difference DX9 2.x low and DX10 2.x med?

You see, I clearly want to make up my mind if it's worth to think of DX10 or skip it. Of course I could wait till FS11's full DX10 world, but assuming I need at least a 2009 PC to run that, my current PC would be 7+ yrs old. NOW it's time for me to make a choice: FS2004 or FSX DX9 or DX10 ...

Thanks Sebby. I appreciate that you take time to answer my detailed questions!!!!!!!!!!

sebby1234 us

Tuesday, November 20, 2007 2:42 PM

sebby1234

I am almost done with my water post. Should be up in the next hour or so...

Charles Kaufman

Sunday, December 16, 2007 4:12 PM

Charles Kaufman

Missing oceans after sp2? Any ideas?

sebby1234 us

Monday, December 24, 2007 10:37 AM

sebby1234

Nothing that I have seen as to why they would have dissapeared for you. If nothing is drawing where the water is, it would most likely be that either there is a problem building the shaders or that there is a missing water related asset (such as bumpmaps). What type of video hardware are you using?

Harvett Bradford us

Tuesday, July 29, 2008 1:52 AM

Harvett Bradford

Ok it,s time to bring Flight Simulator up a notch or two , we could have operationg ranps at the gates or people walking from the planes,, and how about a look inside the plane with people walking around in the plan

sebby1234 us

Tuesday, July 29, 2008 12:39 PM

sebby1234

Of course, I am not part of the team anymore since I have moved on to the Media Center group. But this was on the list quite high for a while. Did nothappen in FSX due to time constraints that came with the general overhaul and improvements made to support DX10, Multicores,...

My guess would be that more interactive worlds, including characters, is somewhere at the top of the list for the next version.

I know a fair amount of this work is actually going into the new Train Sim, which shares the same core engine. Therefore I would assume FS11 will go at least one notchbeyond that.

Add comment


(Will show your Gravatar icon)  

  Country flag





Live preview

Monday, September 08, 2008 1:49 AM