Sim , o Windows 8 suporta o DirectX 9.
Para o desenvolvimento, o antigo DirectX SDK agora está obsoleto , mas você terá todas as bibliotecas e cabeçalhos necessários no novo Windows 8 SDK, incluído no Visual Studio 2012. Você pode seguir o "caminho antigo" sem problemas . Se você precisar do PIX para alguma depuração ou a biblioteca D3DX de alto nível, precisará instalar o DXSDK antigo novamente, pois esse não está no Windows 8 SDK.
Contudo isso é válido apenas para aplicativos de área de trabalho antigos simples. Para aplicativos estilo Metro, deixarei Chuck Walbourn da Microsoft falar :
Direct3D9 e Direct3D9Ex não são suportados para aplicativos estilo Metro. O uso do DirectX SDK com aplicativos estilo Metro não é recomendado ou suportado. Consulte
http://msdn.microsoft.com/en-us/library/ee663275.aspx .
Há vários recursos disponíveis para ajudá-lo a transportar uma base de código do Direct3D 9 para o Direct3D 11. A maioria do material para a transferência do Direct3D 9 para o Direct3D 10.x se aplica totalmente aqui, pois a API do Direct3D 11 é muito semelhante ao Direct3D 10.
Vejo
http://blogs.msdn.com/b/chuckw/archive/2011/07/11/getting-started-with-direct3d-11.aspx . Verifique a apresentação do Windows para a realidade: tirando o máximo proveito dos gráficos do Direct3D 10 em seus jogos, pois abrange inúmeras armadilhas e problemas de desempenho que os desenvolvedores enfrentaram no passado, e a Atualização de tecnologia do DirectX 11 para obter um resumo das diferenças entre o Direct3D 10 .xe Direct3D 11.
O MSDN também possui um guia de portabilidade
http://msdn.microsoft.com/en-us/library/ff476190.aspx, que indica http://msdn.microsoft.com/en-us/library/bb205073.aspx para indo diretamente do Direct3D 9 para o Direct3D 11.
Você não pode usar o D3D9 diretamente para aplicativos estilo Metro. Mas você pode usar o D3D11 e limitar-se a algum nível de recurso (por exemplo D3D_FEATURE_LEVEL_9_3
) se desejar oferecer suporte a hardware legado.