• Thứ Tư, 14/05/2008 09:36 (GMT+7)

    Các cải tiến trong DirectX 10.1

    Các tính năng mới của DirectX 10.1 có thể chia thành 3 phần: khả năng phủ vân bề mặt và đổ bóng mới, cải tiến chức năng khử răng cưa và bổ sung một số tính năng bắt buộc mà trước đây là tuỳ chọn.

    Tuy vẫn duy trì cấu trúc tổng thể và kiểu lập trình của DirectX 10 nhưng DirectX 10.1 còn cung cấp thêm nhiều tính năng cải tiến. Các quá trình đổ bóng bao gồm đổ bóng điểm ảnh, đổ bóng hình học và đổ bóng đỉnh cũng được nâng lên phiên bản Shader Model 4.1.

    Các tính năng mới của DirectX 10.1 có thể được chia thành 3 phần: khả năng phủ vân bề mặt và đổ bóng mới, cải tiến chức năng khử răng cưa và bổ sung một số tính năng bắt buộc mà trước đây là tùy chọn (xem bảng).

    Chất lượng hình ảnh thế hệ mới

    Các tính năng mới của DirectX 10.1 cho phép nhiều kỹ thuật xử lý đồ họa mới có thể gia tăng chất lượng và sự trung thực của hình ảnh trong các game 3D.

    Ánh sáng và bóng

    Hiện nay một vấn đề khó khăn trong xử lý đồ họa ánh sáng và bóng là tính gián đoạn giữa xử lý đồ họa thời gian thực và thời gian không thực. Chính vì vậy, DirectX 10.1 đã sử dụng một kỹ thuật chiếu sáng toàn cục mới cho các hiện tượng vật lý và ánh sáng để giải quyết vấn đề này. Cụ thể, trong DirectX 10.1, tiến trình xác định độ sáng hay sự phản xạ của ánh sáng được xác định tại một số điểm được chọn mẫu. Tiến trình này rất quan trọng vì nó quyết định chiều sâu trong xử lý đồ họa các khung cảnh và giúp người dùng nhận thấy được sự di chuyển của các đối tượng trong không gian 3D.

    Ví dụ, ánh sáng gián tiếp được sử dụng trong game ATI Radeon Pingpong giúp người chơi xác định vị trí của các đối tượng. Khi một trái banh trắng đang di chuyển dần đến một bức tường màu đỏ, một phần của trái banh đối diện với bức tường sẽ có màu đỏ từ ánh sáng đỏ của tường chiếu vào. Hệ thống các giác quan của con người sẽ xử lý thông tin này và hiểu rằng trái banh đang đến gần tường. Điều này giúp cho các game thủ một kinh nghiệm quý giá và giúp họ dễ dàng có chiến lược hay quyết định khi chơi game.

    Ngày nay có nhiều phương thức tạo ánh sáng khác nhau được xử dụng trong dựng hình 3D. Chẳng hạn như các phương thức: bản đồ ánh sáng/đổ bóng (sử dụng trong các ứng dụng thời gian thực và các game tương tác), kỹ thuật vạch tia (sử dụng cho các ứng dụng xử lý đồ họa ngoại tuyến (offline).

    Chiếu sáng toàn cục

    Chiếu sáng toàn cục mới được sử dụng trong DirectX 10.1 là một kỹ thuật xử lý đồ họa kết hợp lợi thế của bản đồ ánh sáng/đổ bóng với ánh sáng gián tiếp và hỗ trợ cho các nguồn sáng động không giới hạn như sự phản xạ thực và đổ bóng mềm. Với DirectX 10.1, các nhà phát triển có thể sử dụng ma trận bản đồ hình khối và đổ bóng hình học để thực hiện chiếu ánh sáng toàn cục hiệu quả trong thời gian thực, ngay cả với hàng ngàn đối tượng hiệu ứng vật lý trong các cảnh tương tác và phức tạp.

    Hai trong số nhiều card đồ họa sử dụng DirectX 10.1.

    Kỹ thuật này làm việc bằng cách chia khung hình thành một ma trận 3D của các hình khối. Đối với mỗi mặt của hình khối, một phiên bản đơn giản của khung hình được xử lý đồ họa từ điểm nhìn của người ở trung tâm của hình khối nhìn ra ngoài. Nói chung ở phiên bản hình này độ phân giải và độ chi tiết của hình không yêu cầu cao như phiên bản hình cuối cùng, nhưng phiên bản này giúp dễ dàng đo lường mức độ chính xác và sức mạnh cần thiết. Khi sáu mặt của mỗi hình khối được hoàn thành, chúng sẽ được lưu trữ trong một bản đồ phủ vân bề mặt hình khối Bước kế tiếp là chuyển sáu phiên bản sáu mặt của một hình khối thành một đại diện hình cầu. Các đại diện này cho phép xác định được lượng và màu của ánh sáng của bất kỳ điểm nào trên hình khối từ bất kỳ hướng nào với một vài hệ thống tính toán đơn giản.

    Phủ vân bề mặt bản đồ hình khối cũng có thể được sử dụng để tạo sự phản xạ chất lượng cao trên các đối tượng bóng sáng hay chói chang trong khung hình. Ví dụ trong game PingPong, nhìn gần bạn có thể thấy mỗi trái banh trong hàng ngàn trái banh đều có sự phản xạ của môi trường lên bề mặt của chúng.

    Kỹ thuật chiếu sáng toàn cục mới này có độ linh hoạt cao. Mức chất lượng, cũng như mức chi tiết trong hình ảnh các mặt của hình khối có thể thay đổi bằng cách thay đổi kích cỡ và số lượng hình khối sử dụng. Với ma trận bản đồ hình khối được sử dụng trong DirectX 10.1, số lượng lớn bản đồ hình khối có thể được xử lý đồ họa và lấy mẫu từ các mô phỏng song song, làm cho kỹ thuật này có hiệu quả đặc biệt hơn trong GPU đơn hay hệ thống nhiều GPU.

    Với một khung hình cực kỳ phức tạp, nhiều ánh sáng có thể được mô phỏng bằng cách lặp lại tiến trình này và gom kết quả lại trước khi xử lý đồ họa cho hình ảnh cuối cùng. Hơn nữa, chất lượng của ánh sáng có thể được tách riêng ra từ nhiều đối tượng hay nhiều hình đa giác trong khung hình cuối cùng

    Sức hút xung quanh

    Sức hút xung quanh là một kỹ thuật đổ bóng xác định bao nhiêu ánh sáng có thể đi đến một điểm nhất định trên một bề mặt nào đó từ tất cả các hướng ánh sáng chiếu đến, và bao nhiêu ánh sáng bị hút lại bởi các đối tượng xuất hiện trên các hướng ánh sáng chiếu đến nền. Kỹ thuật này thường được tính bằng cách gộp các tia ánh sáng trong mỗi hướng từ bề mặt.

    Tính năng mới Gather4 của DirectX 10.1 có thể giúp tăng chất lượng của quá trình đổ bóng cho hiện tượng sức hút xung quanh (cũng như bản đồ đổ bóng truyền thống). Tính năng này sử dụng phủ vân bề mặt đặc biệt để lưu trữ dữ liệu đổ bóng, với một giá trị dữ liệu đơn độc cho một vị trí (không giống phủ vân bề mặt truyền thống lưu trữ cùng lúc các giá trị màu đỏ, xanh dương, xanh lá cây và giá trị alpha cho mỗi vị trí). Cụ thể, Gather4 lấy mẫu 4 giá trị từ kỹ thuật phủ vân bề mặt truyền thống trong cùng một thời gian, sau đó Gather4 chỉ chọn lấy mẫu 1 giá trị duy nhất từ các giá trị của phủ vân bề mặt truyền thống, còn những giá trị còn lại có thể được sử dụng để thực thi công việc bộ lọc tinh vi để chất lượng đổ bóng mượt hơn.

    Cải tiến chức năng khử răng cưa

    Hiện nay hầu hết kỹ thuật khử răng cưa được sử dụng là khử răng cưa đa mẫu (MSAA) và các kỹ thuật này phát hiện được răng cưa trên đường viền của các đối tượng, chứ không phát hiện được răng cưa trong quá trình phủ vân bề mặt hay quá trình đổ bóng. Chính vì vậy, dòng GPU ATI Radeon HD2000 giới thiệu khử răng cưa bộ lọc tùy chỉnh (CFAA), cho phép các bộ lọc có thể lập trình tinh vi. Trình điều khiển Catalyst mới nhất hỗ trợ 4 dạng bộ lọc khác nhau có thể được ứng dụng cho bất kỳ game sử dụng DirectX 9 hay trước đó. Điểm cải tiến trong trình điều khiển mới này là có thể phát hiện và khử răng cưa tất cả các loại răng cưa (bao gồm cả trong phủ vân bề mặt và đổ bóng).

    Khử răng cưa tùy chỉnh

    DirectX 10.1 cho phép các bộ lọc khử răng cưa tùy chỉnh được thực hiện với các đổ bóng điểm ảnh và yêu cầu tất cả phần cứng tương thích với DirectX 10.1 phải hỗ trợ tối thiểu 4xMSAA. Một tính năng mới của DirectX 10.1 cho phép tất cả các bộ đệm khử răng cưa được truy cập trực tiếp vào bộ đổ bóng. Trước đây, các bộ đệm khử răng cưa chỉ có thể truy cập vào các bộ đệm màu. Điều này cho phép các nhà phát triển có nhiều thuận lợi hơn cho kỹ thuật khử răng cưa tự chọn do có thể sử dụng kết hợp cả dữ liệu đổ bóng và dữ liệu khử răng cưa.

    Những điểm nổi bật của Directx 10.1

    Cải tiến

    Tính năng

    Chức năng

    Lợi ích

    Phủ vân bề mặt và đổ bóng Ma trận bản đồ hình khối Cho phép đọc và viết nhiều bản đồ hình khối chỉ trong một bước xử lý đồ họa Tạo chiếu sáng toàn cục hiệu quả (Global Illumination) theo thời gian thực cho các cảnh động, phức tạp, tương tác lẫn nhau.
    Cho phép nhiều hiệu ứng tia sáng chất lượng như tia sáng gián tiếp, khúc xạ,...

    Tách biệt các chế độ pha trộn cho các bộ đệm
    Gia tăng giá trị đổ bóng đỉnh cả ở ngõ ra và ngõ vào

    Cho phép đổ bóng điểm ảnh xuất ra nhiều bộ đệm mà mỗi bộ đệm có một chế độ pha trộn riêng
    Tăng gấp đôi từ 16 lên thành 32 hay 128 bit giá trị cho mỗi đổ bóng

    Trì hoãn quá trình đổ bóng để cải thiện sức mạnh trong các cảnh 3D phức tạp.
    Cải tiến sức mạnh cho các đổ bóng phức tạp.
    Gather4 Cho phép một khối 2x2 có giá trị phủ vân bề mặt nhưng chưa lọc được xử lý chỉ với một vòng lặp. Việc cải tiến bộ lọc theo kỹ thuật này cho chất lượng đổ bóng tốt hơn.
    Xử lý nhiễu nhanh hơn nên gia tăng nhiều hơn các hiệu ứng 3D.
    Mô phỏng chất lỏng chất lượng cao hơn.
    Cải tiến sức mạnh cho ứng dụng tính toán luồng.
    Tập lệnh LOD (Level of detail) Tập lệnh đổ bóng mới trả giá trị chi tiết vòng lặp xử lý lọc phủ vân bề mặt. Tùy chỉnh các kỹ thuật bộ lọc phủ vân bề mặt để đánh giá sức mạnh và chất lượng.
    Cải tiến chi tiết bề mặt 3D
    Chức năng khử răng cưa Bộ đệm nhiều mẫu đọc và ghi Bộ xử lý đổ bóng có thể truy cập thẳng bộ đệm nhiều mẫu đến từng màu và độ sâu màu. Bộ lọc tùy biến khử răng cưa để tăng chất lượng được tối ưu hóa hiệu năng và giảm độ phức tạp trong xử lý bộ nhớ.
    Cải tiến chất lượng khử răng cưa với bộ xử lý đồ họa HDR (High Dynamic Range).
    Cải tiến sức mạnh và khả năng khử răng cưa với khả năng trì hoãn việc đổ bóng.
    Tăng chất lượng xử lý thể tích trong các hiệu ứng không khí.
    Cho chất lượng độ sâu cao hơn trong các hiệu ứng thể hiện nền.
    Các mặt nạ phủ điểm ảnh Bộ đổ bóng điểm ảnh có thể lập trình cho phép khử răng cưa.
    Các mô hình mẫu khử răng cưa lập trình được Cho phép các lập trình viên định nghĩa các mô hình mẫu của riêng họ cho mỗi điểm ảnh Khử răng cưa theo thời gian.
    Cải tiến chất lượng hình ảnh cho khử răng cưa nhiều GPU.
    Các tính năng bắt buộc Đòi hỏi bộ lọc FP32 Giờ đây bộ lọc của định dạng phủ vân bề mặt điểm nổi 128-bit được đòi hỏi thay vì chỉ là tính năng không bắt buộc như các thế hệ trước
    Khuyến khích sử dụng định dạng dữ liệu chính xác cao này
    Đòi hỏi pha trộn Int16 Bộ trộn của định dạng điểm ảnh số nguyên 64-bit được đòi hỏi thay vì chỉ là một tính năng không bắt buộc
    Đòi hỏi hỗ trợ tối thiểu 4xMSAA Khử răng cưa nhiều mẫu với ít nhất 4 mẫu cho mỗi điểm ảnh phải được hỗ trợ cho tất cả định dạng điểm ảnh 32 bit, 64 bit Bảo đảm khử răng cưa có thể hoạt động tương thích trong tất cả các GPU DirectX 10.1
    Mô hình mẫu khử răng cưa chuẩn Vị trí các mẫu được định nghĩa lại cho các chế độ 2x/4x/8x/16xAA mà phần cứng phải hỗ trợ
    Gia tăng độ chính xác cho hệ thống điểm nổi Đòi hỏi độ chính xác 0,5 ULP (Unit of Least Precision) cho tất cả các tính toán điểm nổi (cộng, trừ, nhân, chia) và hệ thống bộ trộn Loại trừ các lỗi làm tròn
    Đòi hỏi tương thích với chuẩn IEEE cho các hệ thống này

    Các tính năng bắt buộc

    Đòi hỏi định dạng phủ vân bề mặt mới

    Một cản trở đã ngăn cản các nhà phát triển sử dụng phủ vân bề mặt có độ chính xác cao hơn là các hệ thống của các GPU có thể tính toán được đến độ chính xác cao như vậy hay không? Do vậy, DirectX 10.1 đã khắc phục điều này bằng cách bắt buộc tất cả các GPU tương thích DirectX 10.1 phải hỗ trợ bộ lọc phủ vân bề mặt định dạng điểm nổi 32-bit và các hệ thống trộn trên định dạng số nguyên 16-bit

    Đòi hỏi khử răng cưa đa mẫu mới

    Khử răng cưa đa mẫu là một kỹ thuật cải thiện chất lượng hình ảnh. Tuy nhiên, trong nhiều năm qua, nhiều cải tiến đã được đưa ra từ kỹ thuật cơ bản này. Các cải tiến có thể cung cấp nhiều dạng ngõ ra khác nhau trên các thế hệ GPU khác nhau. Nhưng để dễ dàng trong việc sử dụng, các nhà phát triển thường có khuynh hướng tránh hỗ trợ tính năng khử răng cưa. Do vậy, trong DirectX 10.1 đòi hỏi bắt buộc phải hỗ trợ một chất lượng khử răng cưa tối thiểu. Điều này bảo đảm mức chất lượng cao cho khử răng cưa được hỗ trợ trên tất cả các GPU hỗ trợ DirectX 10.1

    Đòi hỏi độ chính xác cao

    Tất cả định dạng dữ liệu có một độ chính xác nhất định tùy thuộc số bit mà định dạng đó hỗ trợ. Tuy nhiên, trong một vài trường hợp người ta chấp nhận độ chính xác xấp xỉ mà không cần phải đạt được độ chính xác cao nhất mà định dạng dữ liệu hỗ trợ. Đây chính là lý do gây ra một số hiệu ứng không dự đoán được trong các kết quả cuối cùng. Chính vì vậy, DirectX 10.1 đã giải quyết vấn đề này bằng cách buộc các phép toán học cơ bản xử lý dấu chấm động phải là 32 bit để đạt độ chính xác cao.

    Hiện thực công nghệ

    Tới thời đểm này, DirectX 10.1 đã được AMD hiện thực trên các GPU thuộc dòng ATI Radeon HD3000. Các nhà sản xuất card đồ họa cũng đã nhanh nhạy triển khai dòng GPU này cho các sản phẩm card đồ họa để phục vụ yêu cầu người dùng.

    Minh Trung

    Tham khảo: bài công nghệ DirectX 10 tại ID:A0707_122 và www.amd.com; www.microsoft.com

    ID: A0804_123