Tư vấn bán hàng
Một trong những ví dụ hay nhất về sự thành công của công nghệ CUDA trong ngành công nghiệp giải trí là với lĩnh vực trò chơi. Hình 4 cho chúng ta thấy một cảnh trong game PC được đánh giá cao nhất kể từ năm 2007 đến nay có tựa là ‘Batman: Arkham Asylum’. Trò này có điểm metascore là 92 và điểm người dùng là 9.4. Game thủ có thể tận hưởng nhiều kiểu hiệu ứng hình ảnh, chẳng hạn như các màn khói phản ứng lại Batman, các bức tường bị nổ tung, kính vỡ, rồi các bức màn rách tơi tả tương tác với các nhân vật trong game.
Một cảnh trong trò ‘Batman: Arkham Asylum’
Tất cả những thứ tuyệt vời này có được là nhờ bộ công cụ PhysX SDK và khung làm việc có khả năng mở rộng động trên nhiều nền tảng có liên quan với nó gọi là APEX, cả hai đều do NVIDIA cung cấp.Đây là những công cụ đầy sức mạnh trong bộ các engine AXE, mà chúng ta đã nói đến ở trên, giành riêng cho vật lý trong game, hay nói cách khác, được thiết kế để xử lý các di chuyển phát sinh động (sinh ra không được tính trước tùy theo cách đi của người chơi) và tương tác của các đối tượng trong từng cảnh game một. Vật lý trong game khiến cho tính năng đồ họa của một trò chơi trở nên sống động, và chẳng bao lâu nữa chuyện hiển thị cảnh như phim với thời gian thực trong game sẽ trở thành hiện thực với sự hỗ trợ của PhysX và APEX.
Dưới đây mô tả một qui trình hiển thị hình ảnh trong game đã được đơn giản hóa, vốn thường được sử dụng trong ngành này. Khi không có mối quan tâm về các tác động vật lý trong game, các đối tượng cùng với kịch bản có liên quan sẽ lèo lái game engine, rồi bộ phận này sẽ cung cấp dữ liệu cho Render Engine, để nó kết xuất thông tin cần thiết ra hệ thống con đồ họa với khả năng hiển thị dựa trên DirectX hay OpenGL, và cuối cùng chuyển mọi thứ ra GPU cho việc hiển thị cảnh game trên màn hình của game thủ.
PhysX và qui trình hiển thị hình ảnh trong game
Mặt khác, khi các yếu tố vật lý được thêm vào trong kịch bản vận hành game với sự hiện diện của hệ thống con PhysX vốn đã được tối ưu hóa dựa trên CUDA ở bên trái của qui trình tạo game thông thường, hệ thống này sẽ liên lạc với phần lõi của game engine nhằm cung cấp một tương tác hai chiều – các yếu tố vật lý sẽ có tác động đến vị trí của các đối tượng trong game, và cũng cập nhật luôn tất cả các yếu tố động của cảnh game hiện tại. Hệ thống này lấy thông tin về tính chất vật lý của các đối tượng trong cảnh từ cơ sở dữ liệu game cốt lõi, và thậm chí có thể làm việc trực tiếp với module Render Engine trong một vài hiệu ứng, tùy thuộc vào sự tương tác với game engine. Hơn thế nữa, hệ thống A/I cũng dùng được hệ thống con vật lý này cho việc phát tia và thực hiện các dự đoán có tính động.
Vậy thì những kiểu hiệu ứng nào PhysX có thể mang lại cho thế giới? Câu trả lời là khá nhiều thứ, như được tóm tắt trong hình (6). Trong hình này, cột đầu tiên bên trái với tựa đề ‘Game World Entities’ (các thực thể trong thế giới game) cho chúng ta thấy một danh sách khả dĩ các thực thể đã được sắp xếp theo thang mức độ chuyển động trực quan (có nghĩa là mức độ chi tiết tại đó mô phỏng cần được thể hiện). Cột thứ hai với tựa đề ‘Physical Characteristics’ (các đặc tính vật lý) thảo luận các tính chất vật lý có liên quan của các thục thể game tương ứng.
Các tính năng do bộ PhysX SDK mang lại cho hiệu ứng hình ảnh trong game
Ở đây, những đối tượng ở dạng khối rắn sẽ có kích thước nhỏ dần khi đi từ dưới lên trên. Ở mức cao nhất chúng cần phải được tạo hoạt cảnh liên tục. Và ngay khi có sự phá hủy xảy ra, các thực thể có mức độ chất lượng hình ảnh tinh tế cao cần được tạo ra từ những thực thể có mức độ chất lượng hình ảnh thô hơn. Cột cuối cùng với tựa ‘PhysX Representation’ (đại diện tương ứng trong PhysX) chỉ ra cách thức đối tượng sẽ được mô tả theo ngôn ngữ PhysX. Những đối tượng ở trên cùng của cột là các ứng cử viên rất tốt cho việc song song hóa, chẳng hạn như đặc trưng dòng chảy dạng hạt.
Bộ công cụ PhysX SDK hiện nay đã có trên hầu hết các nền tảng máy game thông dụng, từ XBOX 360 sang PlayStation 3 sang Wii rồi đến NVIDIA GPU, với hơn 150 tựa game mới trên thị trường. Nếu bạn muốn thưởng thức những thứ PhysX mang lại cho hàng triệu game thủ, hãy đến thăm site demo ở đây: http://www.nvidia.com/physX.
Các thông tin chi tiết hơn có thể tìm thấy ở các trang sau đây:
http://developer.nvidia.com/object/physx.html (cho thông tin liên quan đến PhysX SDK)
http://developer.nvidia.com/object/apex.html (cho thông tin liên quan đến APEX)
http://developer.nvidia.com/object/p…d_company.html (cho các tựa game mới)
Bài liên quan:
– CUDA là gì?
– CUDA cho các ứng dụng video số