#1
|
|||
|
|||
<node3d:renderNode>.attachTexture and <node3d>.texture
Hello,
I'm confused by commands attachTexture() and texture(). Anybody could explain the difference between them? Here is sample code: Code:
for eye in [viz.RENDER_LEFT,viz.RENDER_RIGHT]: #Render textures for ping-ponging tex1 = viz.addRenderTexture() tex2 = viz.addRenderTexture() """ Pass 1 renders the normal scene to a texture """ pass1 = viz.addRenderNode(size=[size,size]) pass1.attachTexture(tex1) pass1.setOrder(viz.PRE_RENDER,-5) pass1.disable(eye) """ Pass 2 renders the texture from pass 1 onto a quad. The quad has a shader attached which blurs the texture horizontally. """ pass2 = viz.addRenderNode() pass2.setHUD(0,200,0,200,renderQuad=True) pass2.setSize(size,size) pass2.setBuffer(viz.RENDER_FBO) pass2.setOrder(viz.PRE_RENDER,-4) pass2.attachTexture(tex2) pass2.texture(tex1) pass2.apply(horzBlurShader) pass2.apply(srcImageUniform) pass2.apply(blurScaleUniform) pass2.disable(eye) """ Pass 3 renders the texture from pass 2 onto a quad. The quad has a shader attached which blurs the texture vertically. """ pass3 = viz.addRenderNode() pass3.setHUD(0,200,0,200,renderQuad=True) pass3.setSize(size,size) pass3.setBuffer(viz.RENDER_FBO) pass3.setOrder(viz.PRE_RENDER,-3) pass3.attachTexture(tex1) pass3.texture(tex2) pass3.apply(vertBlurShader) pass3.apply(srcImageUniform) pass3.apply(blurScaleUniform) pass3.disable(eye) """ Pass 4 renders the final blurred texture to the screen """ pass4 = viz.addRenderNode() pass4.setHUD(0,200,0,200,renderQuad=True) pass4.setOrder(viz.POST_RENDER,-1) pass4.texture(tex1) pass4.disable(eye) #Save render nodes and blur uniform d.passes += [pass1,pass2,pass3,pass4] |
|
|