Sorry I forgot to reply!
I'm not sure what you want to do because there's a billion ways to approach this, and some approaches will make your life easier, others harder.
One way would be to split the nodes lin 2 ike this:
Code: Select all
compositor_node SSAO_RenderNode
{
in 0 rt_renderwindow
texture RT0 target_width target_height PFG_RGBA8_UNORM_SRGB msaa_auto
texture gBufferNormals target_width target_height PFG_R10G10B10A2_UNORM msaa_auto explicit_resolve
texture depthTexture target_width target_height PFG_D32_FLOAT msaa_auto
rtv RT0
{
colour RT0 gBufferNormals
depth_stencil depthTexture
}
target RT0
{
pass render_scene
{
load
{
all clear
clear_colour 0 0.2 0.4 0.6 1
clear_colour 1 0.5 0.5 1.0 1
}
lod_update_list off
overlays off
gen_normals_gbuffer true
}
}
out 0 RT0
out 1 gBufferNormals
out 2 depthTexture
}
compositor_node SSAO_RenderNodePART2
{
in 0 RT0
in 1 gBufferNormals
in 2 depthTexture
in 3 rt_renderwindow
target depthTextureCopy
{
pass render_quad
{
load { all dont_care }
material Ogre/Depth/DownscaleMax
input 0 depthTexture
}
}
target ssaoTexture
{
pass render_quad
{
load
{
all clear
clear_colour 1 1 1 1
}
material SSAO/HS
input 0 depthTextureCopy
input 1 gBufferNormals
quad_normals camera_far_corners_view_space
}
}
target blurTextureHorizontal
{
pass render_quad
{
load { all dont_care }
material SSAO/BlurH
input 0 ssaoTexture
input 1 depthTextureCopy
}
}
target blurTextureVertical
{
pass render_quad
{
load { all dont_care }
material SSAO/BlurV
input 0 blurTextureHorizontal
input 1 depthTextureCopy
}
}
target rt_renderwindow
{
pass render_quad
{
load { all dont_care }
material SSAO/Apply
input 0 blurTextureVertical
input 1 RT0
}
pass render_scene
{
lod_update_list off
//Render Overlays
overlays on
rq_first 254
rq_last 255
}
}
}
workspace SSAOWorkspace
{
connect SSAO_RenderNode SSAO_RenderNodePART2
connect_output SSAO_RenderNodePART2 3
}
Now if you want to do something in the middle, the "best" way is something that needs some thought to see the simplest way.
Btw are you familiar with Blender's compositor nodes?
Even though we don't have such nice UI to interact them, they way our connections work is the same.
I suggest you try to follow one of the many tutorials available online to get the hang of it, just for the fun of it.
Once how it works "clicks" in your mind, you'll find a much easier time figuring out the best way to deal with compositor nodes in OgreNext.