Cách hiệu quả nhất để làm mờ trong một shader là gì?


7

Tôi hiện đang làm việc trên các phản xạ không gian màn hình. Tôi có các bề mặt giống như gương phản chiếu hoàn hảo, và bây giờ tôi cần sử dụng hiệu ứng nhòe để làm cho sự phản chiếu trên các bề mặt có giá trị độ bóng đặc trưng thấp trông có vẻ khuếch tán hơn. Tôi đang gặp khó khăn trong việc quyết định làm thế nào để áp dụng mờ, mặc dù.

Ý tưởng đầu tiên của tôi là chỉ lấy mẫu mức mip thấp hơn của mục tiêu hiển thị màn hình. Tuy nhiên, aimertarget sử dụng SurfaceFormat.HalfVector4 (cho hiệu ứng HDR), có nghĩa là XNA sẽ không cho phép lọc tuyến tính. Lọc điểm trông thật kinh khủng và thực sự không đưa ra gợi ý trực quan mà tôi muốn.

Tôi đã nghĩ về việc sử dụng một số loại làm mờ Box / Gaussian, nhưng điều này sẽ không lý tưởng. Tôi đã phá hủy bộ đệm kết cấu trong giai đoạn quét tia trước khi hiện tượng mờ thậm chí xảy ra (một phản xạ trường hợp xấu nhất có thể là 32 mẫu trên mỗi pixel) và hạt nhân mờ để làm cho các phản xạ trông có vẻ khuếch tán đủ lớn.

Có ai có bất cứ đề nghị? Tôi biết điều đó là có thể, vì Photon Workshop đã đạt được hiệu quả trong Unity .


Bạn có thể thử thực hiện lọc song tuyến; nó không quá khó, mặc dù chậm hơn so với song tuyến phần cứng. Tuy nhiên, nếu điều đó quá chậm hoặc một vòi song tuyến không cho kết quả đủ tốt, bạn có thể chỉ cần cắn viên đạn và chuyển đổi sang định dạng 8 bit và / hoặc thực hiện một vài thao tác. Hoặc nhắm mục tiêu phần cứng DX11 :)
Nathan Reed

xem câu trả lời của tôi ở đây gamedev.stackexchange.com/questions/18662/ và đánh giá nó nếu bạn thích
Quonux

Câu trả lời:


0

Tôi đoán những gì bạn đang hiểu là một kết xuất chính xác vật lý khi có nhiều bề mặt bẩn hơn.

Một cách tiếp cận tốt là phản xạ nhiều tia trong một bán cầu xung quanh vectơ phản xạ ban đầu. từ đó bạn có thể làm mờ chúng hoặc chỉ tổng hợp chúng để có hiệu quả dễ dàng nhưng nhanh chóng.

Tất nhiên bạn có thể làm mờ hình ảnh gốc, nhưng nếu bạn muốn các vật liệu khác nhau có "Độ nhám" khác nhau, bạn nên nghĩ về việc làm mờ hình ảnh sắc nét ban đầu thay thế.


Cảm ơn, điều này đã làm việc rất tốt. Nó vừa chính xác hơn về mặt vật lý và hiệu quả hơn là làm mờ.
có liên quan

Tôi vui vì tôi có thể giúp!
Tordin
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.