2015-02-11 3 views
0

Я пытаюсь реализовать веб-версию hlsl shader, которую я создал (с vvvv) - я довольно новичок в веб-программировании, но нашел three.js/webGL - это путь.three.js: контур обратной связи текстуры (fbo pingpong?)

до сих пор все работает нормально, но теперь я застрял в самой сложной части, которая связана с обратной связью текстуры: выходная текстура рендеринга - это входная текстура в следующем кадре (очень легко сделать в vvvv, используя функцию «frameDelay»)

, чтобы сделать это как можно проще, допустим, я хочу добавить 0,1 к красной составляющей пикселя в каждом кадре (по модулю 1,0, конечно) - так что красные значения сохраняются зацикливание от 0 до 1 ..... как бы я это делал в three.js?

Я не мог найти ни одного примера, реализующего нечто похожее: от поиска в Интернете/на этом сайте я узнал, что он должен генерализовать y возможно (в GLSL) с использованием «fbo pingpong» или «double-buffering», но мне не повезло в реализации этого ...

поэтому перед отправкой всего кода я хотел бы подтвердить необходимые шаги, любая помощь ценится:

-setup СЦЕНЫ1 + gemoetry -setup материал1: "красный счетчик" шейдер (-setup и Материал2 CЦEHЫ2 Служит) -setup 2 WebGLRenderTargets texture1 + texture2

-render СЦЕНЫ1 к texture1, с Texture2 как единый вход для материала1 (-объемная текстура1 на экран (с использованием сцены2/материал2)) -swap Texture1 с Texture2 и (повторно) установленная форма для материала1

ответ

0

Мне удалось выполнить цикл обратной связи в трёх.js, используя текстуру fbo, заменяющую aka pingpong, которая (как всегда) породила новые вопросы - для кого-то иначе, пытаясь добиться обратной связи с текстурой, взгляните на мой новый question, где я разместил код (в цикле рендеринга вы можете удалить оператор if и сохранить только то, что находится в блоке else).

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