2016-08-21 2 views
1

Я пытаюсь размыть несколько сеток в three.js, каждый с разным количеством размытия. У меня есть EffectComposer, который использует HorizontalBlurShader и VerticalBlurShader, которые используются в примерах. Любые идеи о том, как я буду заниматься этим? Я бы использовал несколько сцен? Сделать визуализацию цели или непосредственно на экране?Three.JS - Различные шейдеры для разных объектов

ответ

0

Это звучит как один из тех, это зависит вид проблем.

Какое влияние вы пытаетесь достичь? Интересуют ли формы? Как они будут размываться, если они пересекаются?

Первой мыслью, которая приходит на ум, является то, как я это сделаю в Photoshop. Я бы поместил каждую фигуру на свой собственный слой и применил фильтр размытия к каждому слою. Это соответствовало бы в three.js созданию одной сцены на каждой фигуре, рисованию каждой фигуры до цели рендеринга, размыванию этой цели, а затем рисованию этой цели в холст (или еще одну цель). Эффективно рендеринг 3d-фигур каждый по одному в 2-й текстуре, размытие текстуры, а затем рисование каждой текстуры. Это обеспечит такой же внешний вид, как если бы вы поместили каждую фигуру в свой собственный слой в Photoshop и применили другое размытие для каждого слоя.

+0

Именно это я и сделал. Трудная часть определяла, когда нужно называть «ясный» и когда не «очищать» на перевале. По какой-то причине renderer.clearTarget не работал для меня, поэтому мне пришлось выборочно разрешать очистку передачи в последний раз через композитора, иначе я получаю непрерывный аддитивный эффект. – overgroove

Смежные вопросы