Làm thế nào để cải thiện tình trạng đảo lộn song phương trong các tình huống thời gian thực


7

Đó là một "tiêu chuẩn" nổi tiếng để sử dụng tính năng nâng cấp song phương khi nói đến việc kết hợp mục tiêu độ phân giải thấp và độ phân giải cao hơn.

Cá nhân tôi nhận thấy rằng việc sử dụng thuật toán cơ bản (với các trọng số dựa trên sự khác biệt về độ sâu giữa các giá trị độ sâu độ phân giải cao và thấp) không hoàn hảo trong các tình huống có độ phân giải cao và độ phân giải thấp, ví dụ như một đối tượng độ phân giải cao bên trong độ phân giải thấp hiệu ứng.

  • Các cạnh lởm chởm vẫn đáng chú ý
  • "haloes" xung quanh các cạnh bắt đầu xuất hiện khi các đối tượng / hiệu ứng ở độ phân giải thấp chiếm diện tích nhỏ hơn trên mục tiêu. Bằng cách này, tôi có nghĩa là lỗ xung quanh silouhette.

Tôi nhận thức rõ rằng không có cách nào để loại bỏ hoàn toàn những vấn đề này, nhưng có cách nào để cải thiện tình trạng đảo lộn song phương để cải thiện một phần ở một trong hai điểm trên không?

Và như câu hỏi phụ, có một thuật toán hoặc biến thể tương đương tốt mà rẻ hơn không?


Tôi đã không nghe nói về việc lấy mẫu song phương. Bạn có bất kỳ liên kết tình cờ? Nó khác với lấy mẫu lưỡng tính hoặc song tuyến phải không?
Alan Wolfe

Câu trả lời:


6

Lọc độ sâu gần nhất là một giải pháp thay thế cho lọc song vật liệu được phát triển đặc biệt để lấy mẫu kết xuất trong suốt có độ phân giải thấp. Nó đơn giản hơn một chút so với lấy mẫu song phương, ở chỗ nó chỉ yêu cầu một mẫu từ kết cấu độ phân giải thấp của bạn. Tuy nhiên, nó vẫn có thể có vấn đề, đặc biệt là với hình học tần số cao không được thể hiện tốt trong bộ đệm độ sâu độ phân giải thấp của bạn.

Tại SIGGRAPH 2013, Bungie đã trình bày một cách tiếp cận mới để xử lý các hạt có độ phân giải rất thấp bằng cách sử dụng cái mà họ gọi là "bản đồ độ sâu phương sai". Bạn có thể tìm thấy các slide ở đây ở định dạng PDF và PPTX.

Một cách tiếp cận thú vị chưa được sử dụng (ít nhất, theo hiểu biết của tôi) sẽ là tận dụng MSAA. Ý tưởng là bạn lấy bộ đệm độ sâu độ phân giải đầy đủ của mình và sau đó đặt bí danh cho nó (hoặc chuyển đổi nó, nếu API không cho phép bạn làm như vậy) dưới dạng bộ đệm độ sâu 4xMSAA với một nửa chiều rộng và chiều cao. Sau đó, bạn có thể kết xuất các độ trong suốt có độ phân giải thấp của mình thành mục tiêu kết xuất độ phân giải một nửa với 4xMSAA, sử dụng bộ đệm độ sâu "4xMSAA" để kiểm tra độ sâu. Sau đó, để nâng cấp, với mỗi pixel độ phân giải cao, bạn sẽ truy cập vào mẫu phụ tương ứng từ mục tiêu kết xuất MSAA có độ phân giải thấp của bạn và trộn nó lên trên cùng. Điều này sẽ cung cấp cho bạn thử nghiệm độ sâu độ phân giải đầy đủ, nhưng đổ bóng một nửa độ phân giải (với băng thông bộ đệm khung ở đâu đó ở giữa độ phân giải đầy đủ và nửa độ phân giải do nén). Điều hấp dẫn ở đây là bạn cần các điểm mẫu MSAA có thể lập trình để thực hiện việc này, vì bạn sẽ muốn sử dụng mẫu lấy mẫu lưới theo thứ tự cho kết xuất độ phân giải thấp thay vì mẫu lưới xoay thông thường. GPU mới hơn (Maxwell từ Nvidia, GCN từ AMD) hỗ trợ thực hiện điều này thông qua các tiện ích mở rộng của nhà cung cấp trongD3D11OpenGL , và nó có thể được thực hiện tự nhiên trên bảng điều khiển.


Này mjp bạn có khỏe không Tôi nhớ bạn từ gamedev.net. Tôi đã hỏi một câu hỏi về tập quán thực tế của các đường cong trong các trò chơi và tôi nhớ bạn đã cung cấp một số thông tin tốt. Ôi trời!
Alan Wolfe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.