• Thứ Sáu, 27/08/2004 07:38 (GMT+7)

    Kiến trúc NVIDIA GeForce 6: Mạnh mẽ, giàu sắc thái và thực

    Đổi mới hoàn toàn kiến trúc nền tảng, dòng chip đồ hoạ NVIDIA GeForce 6 mới mang đến nhiều hiệu ứng điện ảnh ấn tượng. Lần đầu áp dụng kiến trúc 16 hàng lệnh, sản xuất trên công nghệ 0,13micron và hỗ trợ công nghệ bộ nhớ RAM DDR3 mới, chip đồ họa GeForce 6800 xử lý khung hình cực nhanh. So với thế hệ trước, GeForce 6800 xử lý đổ bóng dấu chấm động mạnh hơn 8 lần và xử lý đỉnh mạnh hơn 2 lần. Bên cạnh đó, bản thân phiên bản UltraShadow thế hệ thứ 2 ứng dụng trong GeForce 6800 cũng mạnh hơn phiên bản trước đến 4 lần.

    Lần đầu áp dụng kiến trúc 16 hàng lệnh, sản xuất trên công nghệ 0,13micron và hỗ trợ công nghệ bộ nhớ RAM DDR3 mới, chip đồ họa GeForce 6800 xử lý khung hình nhanh đến không ngờ. So với thế hệ trước, GeForce 6800 xử lý đổ bóng dấu chấm động mạnh hơn 8 lần và xử lý đỉnh mạnh hơn 2 lần. Bên cạnh đó, bản thân phiên bản UltraShadow thế hệ thứ 2 ứng dụng trong GeForce 6800 cũng mạnh hơn phiên bản trước đến 4 lần.

    NVIDIA còn đón đầu xu thế video và truyền hình phân giải cao bằng cách tích hợp vào chip GeForce 6800 bộ xử lý video hỗ trợ mã hóa và giải mã MPEG, tương thích cả chế độ hiển thị quét xen kẽ (interlace) hiện tại lẫn liên tục (progressive). Chất lượng video luôn ổn định ở mức cao trong mọi kích thước trình chiếu.

    Hiện tại dòng GeForce 6 đang có 3 phiên bản 6800, 6800 Ultra và 6800 GT dùng giao tiếp AGP 8x nhưng theo NVIDA, kiến trúc này sẽ hỗ trợ cho cả dòng sản phẩm dùng giao tiếp PCI-Express (PCI-X) sắp tới.

    Hai bộ tạo bóng độc lập

    Trong dòng GeForce 6, NVIDIA giới thiệu một kiến trúc xử lý mới hoàn toàn, dùng đến hai bộ tạo bóng nên số phép tính thực hiện trong từng chu kỳ được nâng lên gấp đôi; tạo điều kiện thuận lợi để nhà phát triển áp dụng nhiều hiệu ứng, giải thuật phức tạp nhằm nâng cao chất lượng hình ảnh và đẩy nhanh tốc độ xử lý, tương tác thời gian thực của ứng dụng [Hình 1].

    Bên cạnh việc nâng cao hiệu năng tính toán, kiến trúc GeForce 6 còn cho phép ghép nhóm linh hoạt các thành tố lệnh. Điều này có nghĩa, lập trình viên có thể sử dụng lệnh 1 thành tố hoặc nhiều thành tố (tối đa 4). Dựa trên nền tảng này, nhiều kỹ thuật lập trình tối ưu tốc độ mới đã được xây dựng [Hình 2].

    Công nghệ HPDR (High----Preci-Sion Dynamic-Range)

    Với kiến trúc đồ họa hiện nay, quá trình dựng vẫn gặp phải hạn chế về khả năng thể hiện vùng màu biến thiên. Bộ đệm khung hình chuẩn với 32 bit cho mỗi điểm ảnh nhưng thực tế chỉ dành 255 giá trị để thể hiện toàn bộ phổ màu sắc nên tất yếu, không thể nào thể hiện được hết sắc thái của vùng màu biến thiên cao. Vì thế, một số nhà phát triển buộc phải xây dựng giải pháp khắc phục như dùng công cụ chuyển đổi RGBE đắt tiền trong bộ tạo bóng điểm; giả lập trên phần mềm với bộ lọc bề mặt (texture) chính xác cao; hoặc tránh né thiết kế các cảnh có vùng sáng biến thiên cao.

    Công nghệ HPDR mà NVIDIA triển khai trên GeForce 6 có thể đáp ứng được tất cả yêu cầu trên với kỹ thuật dựng vùng biến thiên rộng và quá trình tạo bóng, pha màu, lọc chính xác cao. Bên cạnh đó, công nghệ dựng HPDR của NVIDIA cho phép duy trì độ chính xác mức dấu chấm động xuyên suốt quá trình dựng, tạo bóng, tạo vân, trộn màu và lọc nên hình ảnh có chiều sâu, màu sắc trung thực.

    Trong NVIDIA HPDR, bước dựng vùng  biến thiên rộng được chia thành 3 giai đoạn: chuyển tải nguồn sáng (light transport), ánh xạ tông (tone mapping), cân chỉnh màu và độ sai biệt (color and gamma correction).

    Chuyển tải nguồn sáng

    Dựa trên dữ liệu của hệ tọa độ hình học, bản đồ bề mặt, vị trí nguồn sáng và bán kính nguồn sáng, quá trình chuyển tải nguồn sáng sẽ tính ra giá trị biến thiên cao của từng điểm (high-dynamic per-pixel) nhằm cung cấp cho quá trình dựng bề mặt của tất cả đối tượng khả kiến. Giá trị này được lưu lên bộ đệm khung hình với mức chính xác vừa đủ sao cho thể hiện được toàn bộ các mức sáng của cảnh. Khoảng giá trị biểu diễn càng lớn, dữ liệu lưu trong bộ đệm càng chính xác và khoảng màu thể hiện càng rộng.

    NVIDIA HPDR sử dụng phương pháp mã hóa SM10e5 của công nghệ OpenEXR (Industrial Light & Magic) có  khả năng thể hiện được khoảng giá trị [2-24, 65.504] nên có thể biểu diễn được tất cả sắc thái màu của khung hình.

    Ánh xạ tông

    Giá trị xuất ra từ giai đoạn chuyển tải nguồn sáng được ánh xạ tương ứng sang giá trị màu và không gian 2D.

    Cân chỉnh màu và độ sai biệt

    Giai đoạn, cân chỉnh màu thực hiện bước ánh xạ giá trị màu trong không gian màu định nghĩa chuẩn bởi phần mềm sang không gian màu hỗ trợ bởi thiết bị hiển thị. Bên cạnh đó, quá trình cân chỉnh độ sai biệt cũng sẽ cố gắng giảm thiểu sự sai biệt giữa giá trị màu biến thiên tính trong giai đoạn chuyển tải nguồn sáng với giá trị hiển thị cuối cùng.

    Lấy mẫu dạng kim cương

    Kỹ thuật khử răng cưa của dòng GeForce 6 về cơ bản không khác kỹ thuật dùng trong kiến trúc FX 5900 (giới thiệu trong bài 'NVIDIA GeForce FX 5900 vượt lên dẫn đầu ', TGVT A 7/2003) nhưng vị trí các điểm lấy mẫu đã được xoay nghiêng để bao quát môi trường xung quanh điểm ảnh nhiều hơn. Nhờ vậy, chức năng chống răng cưa hoạt động hiệu quả và chính xác hơn [Hình 3].

    Cơn sóng hiệu ứng CineFX 3.0

    Bộ CineFX thế hệ thứ 3 đã mang lại sức mạnh mới cho dòng chip xử lý đồ họa NVIDIA GeForce 6 và cung cấp cho các nhà phát triển game PC một kho tàng hiệu ứng thị giác mới. Với sức mạnh của phần mềm DirectX 9.0 Shader Model 3.0 của Microsoft và OpenGL 1.5 của SGI, giới hạn lệnh trong phần cứng trước đây đã bị phá bỏ. Một số lệnh ngắt nâng cao cũng đã được đưa vào, phối hợp với công nghệ Multiple Render Target (MRT) cung cấp cho nhà phát triển nhiều hiệu ứng điện ảnh nâng cao. CineFX 3.0 là bộ hiệu ứng đầu tiên hỗ trợ mức đổ bóng 32bit trong toàn bộ hàng lệnh và khả năng xử lý đa lệnh rất cao. Tất cả đem đến cho bạn một không gian ảo nhưng chi tiết, sống động như thật, với những hiệu ứng thời gian thực cao cấp, mà không sợ ảnh hưởng đến hiệu năng xử lý đồ họa của hệ thống.


     


    Hình 4

     


    Hình 5

    CineFX 3.0 hỗ trợ đầy đủ DirectX 9.0 Vertex Shader Model 3.0 và Pixel Shader Model 3.0 và bộ dựng OpenGL thông thường. Không chỉ thế, CineFX 3.0 còn hỗ trợ đầy đủ  nhiều ngôn ngữ đổ bóng cấp cao khác, trong đó có Microsoft High-Level Shader Language (HLSL), OpenGL Shader Language (GLSL) và môi trường tạo bóng Cg. Nhằm giúp lập trình viên và họa sĩ 3D khai thác hết tính năng nâng cao của bộ Shader Model 3.0 trong Microsoft DirectX 9.0, NVIDIA đã giới thiệu bộ phát triển phần mềm NVSDK với công cụ biên soạn FX mới vào ngày 24/3/2004.

    Bộ đổ bóng đỉnh (vertex shader) 3.0 không còn giới hạn chiều dài chương trình (nhưng còn phụ thuộc vào sự hỗ trợ của hệ điều hành, API) và cung cấp thêm lệnh rẽ nhánh nâng cao nhằm giải phóng khả năng sáng tạo của lập trình viên. Trước đây, khi viết hiệu ứng phức tạp, lập trình viên thường phải ghép nhiều lệnh lại với nhau để chiều dài chương trình không vượt quá giới hạn. Đôi khi, việc thiết kế nhiều chương trình chạy gối đầu nhau cũng khiến tốc độ xử lý game chậm hẳn; làm giảm vẻ đẹp hiệu ứng và niềm hứng khởi của người chơi. Giờ thì chương trình tạo hiệu ứng có thể phát huy toàn bộ sức mạnh mà không cần quan tâm đến giới hạn chiều dài. Tất nhiên, chương trình dài cần nhiều thời gian xử lý hơn chương trình ngắn, nhưng tốc độ và công nghệ mới của phần cứng giúp duy trì ổn định tốc độ xử lý game ở mức cao. Nhà phát triển có thể thiết kế những vòng lệnh phức tạp với lệnh ngắt mới (IFC/BREAKC, IF/BREAK/CALLNZ), chồng (stack) 8 tầng để lưu địa chỉ, thanh ghi địa chỉ trả về và lệnh chọn mã điều kiện.

     
     Một cảnh từ Doom III
       
     

    Khung tạo bóng khi không dùng công nghệ UltraShadow II

       
     

    Khung tạo bóng khi dùng công nghệ UltraShadow II

       
     

    Hình 7: UltraShadow II tăng tốc tính toán bóng.

       

    Trong số các chức năng xử lý đỉnh mới bổ sung, ánh xạ chuyển dịch (displacement mapping) và bộ chia dòng đỉnh (vertex stream divider) mang lại những kết quả rõ nét nhất.

    Ánh xạ chuyển dịch cho phép xử lý đỉnh cùng với bề mặt nên mang lại chiều sâu, độ chân thực cho các thành phần, vân bề mặt và nhân vật trong cảnh. Thông tin bề mặt có thể được ánh xạ thời gian thực vào đỉnh qua một lệnh nạp thanh ghi bề mặt đơn giản. Kỹ thuật này cho phép loại bỏ những bề mặt 'bóng mỡ' mà trước đây, nhà phát triển phải khắc phục bằng cách dùng đến kỹ thuật đổ bóng điểm bump mapping rất 'nặng tải'.

    Trong hình 4, bên trái là mô hình 3D đầu khủng long dựng thô và bên phải là hình ảnh sau khi đã áp dụng lệnh ánh xạ chuyển dịch và áp màu chất liệu. Trong hình ảnh thu cuối cùng (hình 5), đầu khủng long được thể hiện rõ từng nếp nhăn, hốc mắt và tương tác với nguồn sáng rất tinh tế; mang lại cảm nhận gần gũi thực tế cho người xem mà công suất tính toán tiêu phí rất nhỏ [Hình 5].

    Bộ chia dòng đỉnh cho phép lập trình viên chỉ định tần suất và dời tịnh tiến phép đọc thông tin đỉnh, cho phép áp dụng chung một chuyển động cho nhiều nhân vật hoặc đối tượng giống nhau. Ví dụ, để thể hiện những bước đi đều nhau của đoàn quân diễu hành, nhà phát triển có thể sử dụng bộ chia dòng đỉnh để sao chép hành động của một anh lính mẫu cho tất cả các anh lính còn lại; vừa tiết kiệm bộ nhớ, vừa nhẹ tải mà lại đều tăm tắp. Nhờ vậy, cảnh game giờ có thể chứa nhiều nhân vật, đối tượng chuyển động uyển chuyển mà hệ thống không hề rơi xuống 'vực' quá tải.

    Với người sáng tạo hiệu ứng 3D, chức năng xử lý điểm cũng quan trọng không kém xử lý đỉnh. Và CineFX 3.0 cũng đã mang đến cho cho họ một số 'đũa thần' mới như cởi bỏ mọi giới hạn chiều dài chương trình đổ bóng điểm (trước đây giới hạn 96 lệnh); hỗ trợ thủ tục con, vòng lặp và lệnh rẽ nhánh; hỗ trợ nhiều định dạng dữ liệu và công nghệ MRT.

    Với CineFX 3.0, toán hạng dấu chấm động có thể ở dạng 32bit hoặc 16bit (định dạng chuẩn trong công nghiệp điện ảnh). Định dạng không ảnh hưởng đến tốc độ tính toán nhưng toán hạng 32bit dùng bộ nhớ gấp đôi toán hạng 16bit. Nhà phát triển có thể lựa chọn định dạng toán hạng theo tính chính xác yêu cầu trong từng trường hợp.

       

    Đệm màu (trái) và đệm chiều sâu (phải) chưa xử lý ánh sáng

     
       

    Đệm bình thường không nguồn sáng (trái) và cảnh có nguồn sáng ngoài (phải) dựng dựa trên thông tin đệm bình thường và đệm chiều sâu

     
       

    Kết hợp ảnh với bản đồ màu (trái) và tạo vùng lan tỏa quanh nguồn sáng (phải)

     
        Hình 6: Các bước xử lý ánh sáng  

    Công nghệ MRT cho phép bộ tạo bóng điểm lưu dữ liệu của mỗi điểm trên nhiều vùng đệm khác nhau và cho phép dùng chính thông tin trong vùng đệm này làm tham số cho phép xử lý ánh sáng. Với phương pháp này, mỗi cảnh chỉ cần thực hiện một lần xử lý ánh sáng sau khi dựng xong khung hình chứ không phải xử lý riêng cho từng đối tượng như trước. Cách thức này cũng được áp dụng tương tự cho phép tạo bóng gián tiếp (deferred shading): thông tin được chia sẻ bao gồm vị trí (position), trạng thái bình thường (normal), màu (color) và chất liệu (material).

    Kỹ thuật MRT cho phép tạo cảnh có chiều sâu. Trong lượt dựng đầu, ba vùng đệm cho màu, bình thường và chiều sâu được tạo ra. Trong lượt dựng thứ hai, ánh sáng được tính dựa trên giá trị lưu trong vùng đệm của bình thường và chiều sâu, kết hợp với thông tin độ sáng định trước. Kế tiếp, cảnh sẽ được xử lý ánh sáng dựa trên giá trị màu. Cuối cùng, trong lần dựng thứ ba, giá trị nguồn sáng mật độ siêu cao được đưa vào để tạo ra vùng sáng lan tỏa.

    Nếu dùng MRT, người lập trình tiết kiệm được khá nhiều lượt dựng mà vẫn tạo được những cảnh đẹp đến không ngờ. Bộ đổ bóng điểm có thể thực hiện những phép đổ bóng gián tiếp phức tạp hơn và biết lược bỏ được những điểm ảnh khuất.

    Ultradow II- Tăng tốc tính toán bóng

    Dành cho GeForce 6800, NVIDIA đã cải tiến công nghệ UltraShadow (siêu bóng) áp dụng trong FX5900 lên thế hệ thứ hai nhằm tối ưu bước dựng hình, rút ngắn thời gian tạo hiệu ứng ánh sáng, tăng tính thực và độ phức tạp của hiệu ứng. Bạn sẽ có cơ hội cảm nhận vẻ đẹp của công nghệ UltraShadow II trong phiên bản Doom III sắp phát hành của hãng id Software.

    Trước đây, phép tính toán ánh sáng thường phải thực hiện lặp đi lặp lại nhiều lượt ứng với từng đối tượng có trong khung hình. UltraShadow ra đời giúp lược bỏ bước phân tích ánh sáng các đối tượng khuất. So với phiên bản trước, UltraShadow II rút ngắn thời gian lượt xử lý xuống 4 lần nhờ năng lực tạo khung tô của UltraShadow II mạnh gấp đôi và tốc độ xử lý điểm cũng nhanh gấp đôi nhờ bộ tạo khung tô của UltraShadow II không yêu cầu cập nhật màu và bề mặt.

    Hiệu năng xử lý còn được tăng cường trong quá trình lập trình. Nhà phát triển có thể chỉ định những vùng không cần đổ bóng, giới hạn vùng xử lý đổ bóng cho từng nguồn sáng và đặc biệt là có thể lược bỏ bước tạo bóng cho một số điểm chỉ định (kỹ thuật culling shadow pixel).

    Để phối hợp với công nghệ Intellisample 3.0 loại bỏ răng cưa, ca rô của vùng đổ bóng, toàn bộ thông tin khung tô được phân tích thành dạng thông tin điểm và lưu vào vùng đệm.

    Nhờ UltraShadow II giúp tăng cường hiệu năng xử lý chung, nhà phát triển có thể thiết kế nhiều nguồn sáng và triển khai những tính toán đổ bóng phức tạp hơn để tăng phần hấp dẫn, sống động, thực tế cho không gian game.

    Hiệu ứng thị giác nâng cao

              Hình 8

    CineFX 3.0 không chỉ nâng cao tính hiệu quả của phép xử lý đỉnh, xử lý điểm mà còn mang đến nhiều hiệu ứng thị giác ấn tượng.

    Phân lớp bề mặt: Ánh sáng chiếu xuyên qua một khối tượng trong được thể hiện rất chân thật nhờ hiệu ứng phân tách bề mặt thành nhiều lớp có chiều sâu khác nhau [Hình 8].

    Đổ bóng mềm: Khi thể hiện tĩnh vật, bóng của khối vật được làm mềm góc cạnh để giống hơn với thực tế mà chúng ta thường thấy [Hình 9].

    Đổ bóng nền và môi trường: Quá trình đổ bóng nền có thể thay đổi theo tham số môi trường và sử dụng định dạng thông tin 32bit nên khi bạn thay đổi góc máy quay, bóng của tất cả đối tượng cũng thay đổi theo một cách tự nhiên.

    Rọi sáng tổng thể: Ánh sáng là một trong những điểm khác biệt lớn giữa đồ họa dựng trước và đồ họa dựng thời gian thực. Để có được hình ảnh chân thực, nhà dựng phim phải tốn hàng giờ cân chỉnh ánh sáng để làm nổi đối tượng trên môi trường. Giờ đây, với sự hỗ trợ của bộ tạo bóng điểm không giới hạn chiều dài, bộ lọc và bộ pha dấu chấm động, CineFX 3.0 cũng có thể mang lại những hiệu ứng phức tạp như thế trong thời gian thực.

     
                         Hình 9

    Không bao lâu nữa, bạn sẽ có dịp kiểm chứng vẻ đẹp của những công nghệ mà NVIDIA trang bị cho dòng chip xử lý đồ họa GeForce 6 trong những trò chơi sắp phát hành như Doom 3, Unreal Tournament 2004, Stalker, Colin McRae Rally 4.

    Duy Khánh

     

    ID: A0407_91