Windows Phone 8 SDK released: Direct 3D features detailled

I just finished watching the BUILD Keynotes after coming back home from work and came to the conclusion that Steve Ballmer has become the best demo guy for Microsoft. I highly suggest you take the time to watch his keynote to because I think that it’s the best one he has ever done so far. Anyway, let’s talk about Windows Phone 8. Microsoft has finally released the final public version of the WP8 SDK today which you can download from the source link below and start using to develop Windows Phone 7.X and Windows Phone 8 applications (no surprises here, it’s quite similar to the Leaked version I showed you this summer). Microsoft has also announced that developer registration to submit apps to the Windows Store will only cost $8 instead of $99 for the next 8 Days. So hurry up and start building amazing stuff.

As an added incentive, for the next 8 days individual developers can register for a Dev Center account for just $8 (a 92 percent savings). Please note because this is a very limited time offer. You’ll be charged $99 USD or equivalent in your local currency, and we’ll refund the difference in the next 30 to 45 days. Watch for more details on Dev Center soon.

Those of you who are still wondering what is the exact Direct3D feature set supported by Windows Phone 8 should take look after the break as MS’s Shawn Hargreaves has posted an great deal of info today about this:

This first post is basically just a bullet list summarizing the graphics capabilities of the platform:

•Write games in high performance native C++
•Or you can interop between XAML and C++/D3D, similar to the Silverlight/XNA interop feature in Mango
•Graphics APIs are a subset of Windows 8, so it’s easy to move code back and forth between phones, tablets, and desktop PCs
•Direct3D 11.1 API, targeting feature level 9.3 hardware capabilities
•DirectXMath provides high performance SIMD vector math, optimized for SSE and NEON
•XAudio2 provides game focused audio playback, mixing, and effects (ok, you got me, this one isn’t graphics)
•Not all Windows graphics components are supported on phone ?No WIC – use DirectXTex to preconvert textures to .dds format, then DirectXTK to load them
•No Direct2D or DirectWrite – use DirectXTK instead
•No legacy features such as GDI, D3DX, or fixed function – parts of these can be replaced with DirectXTK

What does D3D11 feature level 9.3 give you?

•Shader model 4_0_level_9_3
•Max texture size 4096
•BC1-BC3 texture compression
•Floating point texture formats
•Conditional non-power-of-2 textures (can’t use wrap addressing or have mipmaps)
•Multiple rendertargets
•Hardware instancing
•Occlusion queries
•Separate alpha blend

Yes, you read that right. Shader model 4_0_level_9_3 means that programmable shaders are now fully supported on Windows Phone. But what is this 4_0_level_9_3 thing, you may well ask?

•Not quite the same as D3D9 shader model 2.0
•Uses HLSL 4.0 syntax
•Similar features to vs_2_a and ps_2_b (think of it as 2.0 turned up to 11 :-)
•Long pixel shaders (512 instructions)
•Dynamic flow control
•Gradient instructions

So what notable D3D11 features are NOT included in feature level 9.3?

•No geometry shaders
•No hull/domain shaders
•No DirectCompute
•No resource arrays
•No BC4–BC7 compression
•No vertex texture fetch

Every developer attending the BUILD conference this year is getting 100GB of Skydrive storage, a Microsoft Surface RT and a Nokia Lumia 920….I’m jealous..

Source: Windows Phone 8 SDK, Shawn Hargreaves, BUILD

  • Grumpy Dev

    The DirectX support is basically for games in WP8. There is no way to render high performance 2D or super fast subpixel accurate Text becaaluse they choose to not provide the Direct2D and DirectWrite APIs al though the technology is already there (IE10 uses these APIs).