2015-02-11 210 views
0

我試圖實現一個hlsl着色器的web版本(使用vvvv) - 我對網絡編程頗爲陌生,但發現three.js/webGL將是要走的路。three.js:紋理反饋循環(fbo乒乓?)

到目前爲止一切正常,但現在我被困在最複雜的部分,其中涉及紋理反饋:渲染通道的輸出紋理是它在下一幀中的輸入紋理(非常容易做到在使用「frameDelay」功能的vvvv)

爲了使這儘可能容易讓我們說,從0到1循環.....我怎麼會在three.js?

我找不到任何實現類似的例子;從搜索網站/本網站我已經學會它應該一般在GLSL中可以使用「fbo pingpong」或「double-buffering」,但是我沒有實現它的運氣......

因此,在發佈所有代碼之前,我想確認必要的步驟,任何幫助非常感謝:

-setup SCENE1 + gemoetry -setup material1: 「紅色計數器」 着色器 (-setup SCENE2和材料2) -setup 2 WebGLRenderTargets Texture1 +紋理2

-render SCENE1到Texture1,與紋理2作爲material1的統一輸入 (-render Texture1 to Screen(使用scene2/material2)) -swap Texture1與Texture2和(重新)設置材質1的制服

回答

0

我已經成功地在three.js中使用fbo紋理交換又名pingpong做了一個反饋循環,它(一如既往)帶來了新的問題 - 對任何人否則試圖實現紋理反饋看看我已經發布代碼的新的question(在渲染循環中,您可以刪除if語句並僅保留else塊中的內容)。