Liệu nhiều downsampling có một lợi ích?


14

Vì vậy, tôi đã xem qua trang web này và bạn có thể thấy những dòng này trên đoạn thứ nhất và thứ hai:

Để có hiệu ứng thô nhưng dễ dàng, hãy vẽ các phần sáng của cảnh (ví dụ: nguồn sáng) vào FBO, sau đó lấy mẫu bằng cách sử dụng phép thu nhỏ GL_LINEAR nhiều lần . Đối với kết xuất cuối cùng, chỉ cần kết hợp cảnh ban đầu với các FBO được ghép xuống.

Trong ví dụ sau, cảnh ban đầu là 128 x 128 và được ghép xuống 3 lần . Điều này đòi hỏi 4 đối tượng bộ đệm khung . Cảnh ban đầu được hiển thị ở phía trên bên trái và kết xuất cuối cùng ở phía trên bên phải.

Có bất kỳ lý do nào tôi nên giảm mẫu nhiều lần (128 -> 64 -> 32 -> 16) thay vì giảm mẫu một lần (128 -> 16) không?

Nếu bạn cuộn xuống nhiều hơn, họ thậm chí sẽ lấy mẫu xuống như 9 lần. (128 -> ... -> 16 -> 128 -> ... -> 16 ->, v.v.). Tại sao không làm như thế (128 -> 16 -> 128 -> 16 -> vân vân)?


Cách tiếp cận thực sự vô lý. Chỉ cần làm mờ bộ đệm và downsample với GL_NEAREST.
bóng bán

Câu trả lời:


23

Có hai lợi ích chính:

Đầu tiên, nếu bạn giảm mẫu nhiều hơn hai nhân tố, một số pixel trong ảnh gốc sẽ không có tác động đến ảnh kết quả. Sử dụng GL_LINEAR, mỗi pixel đích sẽ chỉ lấy mẫu từ tối đa 4 pixel từ hình ảnh nguồn; các pixel khác chỉ đơn giản là bị loại bỏ. Bằng cách lấy mẫu xuống theo hệ số hai, bạn đảm bảo rằng mỗi pixel từ hình ảnh nguồn đã giữ hiệu ứng bằng nhau trên lớp tiếp theo.

Thứ hai, các thuật toán được thảo luận trên trang web đó yêu cầu mỗi một đối tượng bộ đệm khung; chúng thực sự là tất cả bắt buộc, ngay cả khi không có lý do chính đáng cho việc lấy mẫu theo cách này. Bạn không thể bỏ qua các hình ảnh 64x64 hoặc 32x32, vì những hình ảnh đó được sử dụng như một phần của việc xây dựng hình ảnh kết quả bị mờ.

Cuối cùng, nếu bạn đọc bài viết, bạn sẽ thấy rằng nó không ủng hộ hình ảnh downsampling 9 lần; nó downsamples chỉ ba lần, và sau đó thực hiện một vài thao tác trên những hình ảnh được ghép xuống đó. Các hình ảnh bạn đang xem chỉ hiển thị trạng thái của 3 hình ảnh được ghép xuống giống nhau đó sau mỗi bước của quy trình, không hiển thị các sự kiện lấy mẫu riêng biệt.


Ah, điều này rất có ý nghĩa với tôi bây giờ. Cảm ơn bạn.
Greffin28

1
(Ngẫu nhiên, hiệu ứng nở hoa mà tôi sử dụng trong các trò chơi của mình dựa trên phương pháp được mô tả trên trang được liên kết. Cá nhân tôi đã giảm mẫu 5 lần thay vì 3, vì tôi bắt đầu từ một hình ảnh ban đầu lớn hơn nhiều nhưng vẫn muốn có một vệt mờ rộng, đẹp .)
Trevor Powell
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.