Dự án THREE-Nanite cho thấy tiềm năng trong việc triển khai LOD động trên trình duyệt

BigGo Editorial Team
Dự án THREE-Nanite cho thấy tiềm năng trong việc triển khai LOD động trên trình duyệt

Cộng đồng phát triển đồ họa đang chứng kiến một bước tiến thú vị trong lĩnh vực render 3D trên trình duyệt với sự xuất hiện của THREE-Nanite , một dự án nhằm tái tạo hệ thống Level of Detail (LOD) động kiểu Nanite của Unreal Engine bằng cách sử dụng Three.js . Sự phát triển này diễn ra vào thời điểm đồ họa 3D trên trình duyệt ngày càng trở nên quan trọng trong các ứng dụng web.

Đồ họa này minh họa hệ thống LOD động, cho thấy cách các mô hình 3D có thể thay đổi độ phức tạp dựa trên khoảng cách của chúng so với người xem
Đồ họa này minh họa hệ thống LOD động, cho thấy cách các mô hình 3D có thể thay đổi độ phức tạp dựa trên khoảng cách của chúng so với người xem

Triển khai LOD động

Dự án triển khai một hệ thống xử lý lưới (mesh) tinh vi có khả năng phân cụm và đơn giản hóa các mô hình 3D một cách động. Mặc dù vẫn đang trong giai đoạn đầu, nó cho thấy hiệu suất ấn tượng, với người dùng báo cáo tốc độ khung hình hợp lý ngay cả trên phần cứng cũ. Như một thành viên cộng đồng đã ghi nhận, hệ thống đạt 20-40 fps trên phần cứng Celeron cuối những năm 2010 với card đồ họa tích hợp, xử lý hiệu quả hàng trăm nghìn tam giác.

Các chỉ số hiệu năng:

  • Xử lý được 700.000 tam giác
  • Đạt 20 khung hình/giây ở chế độ cận cảnh trên phần cứng đời cũ
  • Đạt 40 khung hình/giây với việc giảm chi tiết ở chế độ xa

Thách thức kỹ thuật và góc nhìn từ cộng đồng

Việc triển khai đã tạo ra những cuộc thảo luận kỹ thuật chi tiết trong cộng đồng phát triển, đặc biệt là về các chiến lược tối ưu hóa. Trong khi phiên bản hiện tại cho thấy tiềm năng, các chuyên gia chỉ ra những cải tiến tiềm năng:

Thậm chí một thứ đơn giản như loại bỏ LOD quadtree với góc nhìn frustrum có thể giảm đáng kể số lượng tam giác và tăng tốc độ render hơn nữa.

Các tính năng triển khai hiện tại:

  • Phân cụm lưới ( meshlets )
  • Nhóm các cụm liền kề
  • Đơn giản hóa lưới xuống một nửa số tam giác (tối đa 128)
  • Tách chức năng thành 2 phần

Xu hướng rộng lớn hơn trong ngành

Dự án tồn tại trong bối cảnh rộng lớn hơn của việc phát triển đồ họa 3D trên trình duyệt web. Các phát triển song song bao gồm việc triển khai Nanite trên WebGPU và thậm chí Unreal Engine 5 chạy trên trình duyệt thông qua WebGPU , mặc dù chưa hỗ trợ Nanite . Những phát triển này báo hiệu một bước chuyển đáng kể hướng tới khả năng đồ họa 3D tinh vi hơn trên trình duyệt web.

Lộ trình phát triển tương lai

Lộ trình của dự án bao gồm những cải tiến quan trọng như kiểm thử mở rộng hơn về LOD và triển khai cắt DAG, cũng như tối ưu hóa việc truyền tải hình học đến GPU. Sự tham gia của cộng đồng cho thấy mối quan tâm mạnh mẽ trong việc phát triển công nghệ này, đặc biệt là cho các ứng dụng 3D trên web đòi hỏi xử lý hiệu quả các hình học phức tạp.

Ghi chú kỹ thuật: LOD (Level of Detail) đề cập đến việc giảm độ phức tạp của mô hình 3D khi nó di chuyển xa khỏi người xem, trong khi DAG (Directed Acyclic Graph) được sử dụng để tổ chức và quản lý các cấp độ chi tiết một cách hiệu quả.

Tham khảo: THREE-Nanite