Многократная понижающая выборка имеет выгоду?

14

Итак, я наткнулся на этот сайт, и вы можете увидеть эти строки в первом и втором абзаце:

Чтобы получить грубый, но простой эффект, нарисуйте яркие части сцены (например, источники света) в FBO, а затем уменьшите частоту с помощью минимизации GL_LINEAR несколько раз . Для окончательного рендеринга, просто объедините оригинальную сцену с FBO пониженной дискретизации.

В следующем примере исходная сцена имеет размер 128 x 128 и пониженную частоту дискретизации 3 раза . Для этого требуется 4 объекта кадрового буфера . Исходная сцена показана в верхнем левом углу, а финальная визуализация - в верхнем правом.

Есть ли какая-то причина, по которой я должен понижать частоту несколько раз (128 -> 64 -> 32 -> 16), а не уменьшать ее один раз (128 -> 16)?

Если вы прокрутите вниз больше, они даже уменьшат его, как 9 раз. (128 -> ... -> 16 -> 128 -> ... -> 16 -> и т. Д.). Почему бы не сделать это как (128 -> 16 -> 128 -> 16 -> и так далее)?

Greffin28
источник
Поистине абсурдный подход. Просто размыть буфер и уменьшить с помощью GL_NEAREST.
транзистор09

Ответы:

23

Есть два основных преимущества:

Во-первых, если вы уменьшите изображение более чем в два раза, некоторые пиксели исходного изображения не окажут влияния на полученное изображение. С помощьюGL_LINEAR , каждый целевой пиксель будет брать только максимум 4 пикселя из исходного изображения; другие пиксели просто отбрасываются. Уменьшая выборку в два раза, вы гарантируете, что каждый пиксель исходного изображения будет иметь одинаковый эффект на следующем слое вниз.

Во-вторых, алгоритмы, обсуждаемые на этом сайте, требуют каждого из объектов кадрового буфера; на самом деле все они необходимы, даже если бы не было веской причины для снижения частоты дискретизации таким образом. Вы не можете пропустить изображения 64x64 или 32x32, потому что эти изображения используются как часть построения размытого по Гауссу результирующего изображения.

Наконец, если вы прочитаете статью, вы увидите, что она не защищает изображения с понижением частоты до 9 раз; он уменьшает частоту дискретизации всего три раза, а затем выполняет несколько операций с этими уменьшенными изображениями. Изображения, на которые вы смотрите, просто показывают состояние тех же трех изображений с пониженной дискретизацией после каждого шага процесса, а не показывают отдельные события понижающей дискретизации.

Тревор Пауэлл
источник
Ах, это так много значит для меня сейчас. Спасибо.
Greffin28
1
(Кстати, эффект цветения, который я использую в своих играх, основан на методе, описанном на связанной странице. Лично я даю выборку 5 раз, а не 3, так как я начинаю с гораздо большего исходного изображения, но все же хочу хорошее, широкое размытие .)
Тревор Пауэлл