Có , Windows 8 không hỗ trợ DirectX 9.
Để phát triển, DirectX SDK cũ hiện không còn dùng nữa , nhưng bạn sẽ có tất cả các thư viện và tiêu đề bạn cần trong SDK Windows 8 mới, đi kèm với Visual Studio 2012. Bạn có thể đi theo "cách cũ" mà không gặp vấn đề gì . Nếu bạn cần PIX cho một số gỡ lỗi hoặc thư viện D3DX cấp cao, bạn sẽ phải cài đặt lại DXSDK cũ, vì đây không phải là SDK Windows 8.
Tuy nhiên, điều này chỉ hợp lệ cho các ứng dụng máy tính để bàn cũ. Đối với các ứng dụng kiểu Metro, tôi sẽ để Chuck Walbourn từ Microsoft phát biểu :
Direct3D9 và Direct3D9Ex không được hỗ trợ cho các ứng dụng kiểu Metro. Không nên sử dụng hoặc hỗ trợ SDK DirectX với các ứng dụng kiểu Metro. Xem
http://msdn.microsoft.com/en-us/l Library / ee663275.aspx .
Có một số tài nguyên có sẵn để giúp bạn chuyển mã cơ sở Direct3D 9 sang Direct3D 11. Phần lớn các tài liệu để chuyển từ Direct3D 9 sang Direct3D 10.x áp dụng đầy đủ ở đây vì API của Direct3D 11 rất giống với Direct3D 10.
Xem
http://bloss.msdn.com/b/chuckw/archive/2011/07/11/getting-started-with-direct3d-11.aspx . Hãy chắc chắn xem lại Windows để thực tế: Tận dụng tối đa đồ họa Direct3D 10 trong bản trình bày Trò chơi của bạn vì nó bao gồm nhiều cạm bẫy và các vấn đề về hiệu suất mà các nhà phát triển đã gặp phải trong quá khứ và Cập nhật công nghệ DirectX 11 để tóm tắt về sự khác biệt giữa Direct3D 10 .x và Direct3D 11.
MSDN cũng có một hướng dẫn chuyển cổng http://msdn.microsoft.com/en-us/l Library / ff476190.aspx, hướng dẫn
bạn đến http://msdn.microsoft.com/en-us/l Library / bb205073.aspx cho đi trực tiếp từ Direct3D 9 đến Direct3D 11.
Xin lỗi, bạn không thể sử dụng D3D9 trực tiếp cho các ứng dụng kiểu Metro. Nhưng bạn có thể sử dụng D3D11 và giới hạn bản thân ở một số cấp tính năng (ví dụ D3D_FEATURE_LEVEL_9_3
) nếu bạn muốn hỗ trợ phần cứng cũ.