Khái niệm, định nghĩa DirectX là gì?

Microsoft DirectX là một tập hợp các giao diện lập trình ứng dụng (API) để xử lý các nhiệm vụ liên quan đến đa phương tiện, đặc biệt là chương trình trò chơi và video trên nền tảng của Microsoft.

Ban đầu, tên của những API này tất cả đều bắt đầu với Direct, chẳng hạn như Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, và vân vân. Tên gọi DirectX được đặt ra làm thuật ngữ vắn tắt cho tất cả các API (chữ X thay cho các tên API cụ thể) và nhanh chóng trở thành tên của tập hợp này. Khi Microsoft sau đó đặt ra để phát triển một game console, X được sử dụng như là cơ sở của tên Xbox để ám chỉ rằng giao diện điều khiển của nó dựa trên công nghệ DirectX.[1] Chữ X ban đầu đã được tiến tới trong việc đặt tên các API được thiết kế cho Xbox như XInput và Cross-platform Audio Creation Tool (XACT), trong khi các mẫu DirectX đã được tiếp tục cho Windows API như Direct2D và DirectWrite.

Direct3D (API đồ họa 3D trong DirectX) được sử dụng rộng rãi trong việc phát triển trò chơi video cho Microsoft Windows, Microsoft Xbox, và Microsoft Xbox 360. Direct3D cũng được sử dụng bởi phần mềm ứng dụng khác cho các tác vụ hình dung và đồ họa công việc như kỹ thuật CAD / CAM. Do Direct3D là thành phần công bố công khai rộng rãi nhất của DirectX, người ta thường xem tên gọi “DirectX” và “Direct3D” được sử dụng thay thế cho nhau.

Bộ phát triển phần mềm DirectX (SDK) bao gồm các thư viện thời gian chạy ở dạng nhị phân tái phân phối được, cùng với tài liệu đi kèm và file tiêu đề để sử dụng trong mã hóa. Ban đầu, chỉ có các thời gian chạy được cài đặt cho trò chơi hoặc ngoại lệ bởi người sử dụng. Windows 95 không khởi động với DirectX, nhưng DirectX đã được đưa vào Windows 95 OEM Service Release 2. Windows 98 và Windows NT 4.0 cả hai đều có DirectX, và các phiên bản Windows được phát hành kể từ đó. Microsoft cho phép tải về SDK miễn phí. Trong khi các thời gian chạy (runtime) là độc quyền, phần mềm nguồn đóng, mã nguồn được cung cấp cho hầu hết các mẫu SDK.

DirectX được chia thành ba lớp (tầng):

Lớp nền tảng (Foundation Layer), lớp phương tiện (Media Layer) và lớp thành phần (Components Layer)

* Lớp nền tảng:

Foundation là phần cốt lõi của DirectX, nó là một tập hợp các API cấp thấp tạo nên cơ sở cho những hoạt động multimedia hiệu năng cao trong Windows. Thông qua lớp nền tảng có thể tác động đến các API sau:

+ DirectDraw: Quản lý bề mặt đồ hoạ.

+ Direct3D: Cung cấp tính năng 3D cấp thấp.

+ DirectInput: Hỗ trợ các thiết bị nhập, kể cả các Joystick thế hệ mới.

+ DirectSound: Cung cấp hiệu ứng âm thanh và bộ trộn tiếng.

+ DirectSound 3D: Giúp tạo hiệu ứng âm thanh 3D từ kiểu loa 2D thông thường.

+ DirectSetup: Giúp cài đặt các phần mềm, các Driver một cách tự động

* Lớp phương tiện:

Media Layer của DirectX bao gồm các API ở cấp ứng dụng, tận dụng khả năng của lớp nền tảng. Các dịch vụ của lớp phương tiện này có tính độc lập với các thiết bị. Lớp phương tiện này gồm có:

+ Direct3D: Cung cấp tập hợp các tính năng biểu diễn 3D.

+ DirectPlay: Hỗ trợ nhiều người cùng tham gia chơi game qua mạng.

+ DirectShow: Quản lý các Slide Show.

+ DirectAnimation: Cung cấp khả năng làm hoạt hình.

+ DirectModel: Cung cấp khả năng mô phỏng 3D.

* Lớp thành phần:

Components Layer là lớp trên cùng của DirectX, nó có thể tận dụng các tính năng của hai lớp trên (Media và Foundation) bao gồm:

+ NetMeeting: Hỗ trợ làm việc theo nhóm trong mạng máy tính.

+ ActiveMovie: Bộ các công cụ quản lý và trình diễn phim MPEG, hỗ trợ việc chơi các file âm thanh và phim ảnh.

+ NetShow: Hỗ trợ việc truyền các nội dung multimedia qua Internet.

* Làm việc với DirectX:

Rõ ràng DirectX hết sức quan trọng đối với cái “Sướng mắt, đã tai” cho nên chúng ta cần quan tâm đến nó, để nó tận tụy phục vụ mình.

Cách kiểm tra phiên bản Direct:

a. Cách thứ nhất:

Trong thư mục Windows của ổ đĩa khởi động, bạn mở thư mục System (đối với Win9x, WinMe), hoặc System32 đối với Win XP.

+ Tìm file DDRAW.DLL. Bấm nút phải chuột vào file này, chọn Properties, chọn thẻ Version trong hộp thoại.

+ Ở dòng File Version bạn sẽ đọc thấy dãy các con số tương ứng với phiên bản DirectX đang sử dụng:

4.07.01.3000 DirectX 7.1

4.8.0.400 DirectX 8.0

5.1.2600.1106 DirectX 8.1

4.09.00.900 DirectX 9.0

Mỗi phiên bản Windows có một phiên bản DirectX tương ứng. Với Win98 là DirectX6.1; WinMe, Win2000 là DirectX7.1; WinXP là DirectX8.0 và 8.1.

Hiện nay đã có DirectX 9.0 và 9.0b. Tuy nhiên không phải Card tăng tốc đồ họa nào cũng phù hợp với nó.

b. Cách thứ hai đọc phiên bản DirectX:

Đơn giản hơn cách thứ nhất. Bạn chỉ cần mở Run trong menu Start, gõ vào dxdiag, bấm OK để gọi ra công cụ DirectX Diagnostic Tool. Ngay trong thẻ đầu tiên (System) bạn sẽ đọc được phiên bản của DirectX đang sử dụng. Các thẻ còn lại: DirectX Files, Display, Sound, Music, Input, Network. Sẽ cung cấp cho bạn các thành phần của DirectX, các Driver đã cài đặt vào hệ thống, thử các chức năng Multimedia và chẩn đoán các sự cố xảy ra. Thường thì khi không có vấn đề gì gây lỗi khung Notes sẽ có dòng thông báo No problems found. Nếu có sự cố gì bạn nên bấm chọn thẻ More Help để nhận được sự trợ giúp.

Card AGP (tăng tốc đồ họa) tương thích DirectX.

+ Các loại NVIDIA thuộc thế hệ Riva, TNT, TNT2, Quadro trở về trước tuơng thích tốt với DirectX 8.0

+ Các loại Soltek Geforce Ti trở lên thì dùng rất tốt với DirectX 9.0

Vì vậy, khi cài đặt nâng cấp DirectX bạn phải cẩn thận. Ví dụ tôi dùng Card AGP hiệu NVDIA RIVA TNT2 Model 64. Xài phiên bản DirectX 8.0 và 8.1 thì nhận đúng 32MB. Nhưng với Direct 6.1 nó chỉ nhận được 1MB. Còn với Direct 9.0 thì chỉ nhận 15MB mà thôi. Chưa chắc mới đã hơn cũ.