Alright I had Success at what I'm trying to do ( rendering objects in this particular order v2 object( background renderable ), colibri objects, v2 object, colibri object ).
my approach involves creating a separate Pass and Colibri::Manager instances for handling all the objects that is to be rendered before a v2 object rather than doing it from one Colibri::Manager instance. So there will be 2 Ogre::CompositorPassColibriGui & Colibri::Manager instances one for background and another for foreground.
For this implementation, I implemented a custom Ogre::CompositorPassProvider for creating the Colibri Pass Defs and Passes.
this is how my .compositor looks:
Code: Select all
compositor_node RenderingNode
{
in 0 renderWindow
target renderWindow
{
pass render_scene
{
load
{
all clear
colour_value 1.0 1.0 1.0 1.0
}
store
{
colour store_or_resolve
depth dont_care
stencil dont_care
}
rq_first 6
rq_last 7
profiling_id "Bg Pass"
}
pass custom dup_colibri_gui // Pass def for handling the backround colibri objects
{
skip_load_store_semantics true
profiling_id "Back Colibri GUI"
aspect_ratio_mode keep_width
}
pass render_scene
{
skip_load_store_semantics true
rq_first 7
rq_last max
overlays on
}
pass custom colibri_gui // Pass def for handling the foreground colibri objects
{
skip_load_store_semantics true
profiling_id "Front Colibri GUI"
aspect_ratio_mode keep_width
}
}
}
Here's where the things feel really clumsy with my approach 
Because of I'm going with 2 Colibri::Manager instances. Whatever Colibri::Shaper resources i need to register had to be done with both of them. So the resources of Colibri::ShaperManager are kind of duplicated. i want to share these resources between the managers but this is how i did it.
If anything that can be improved with this approach, feel free to share them.
Thanks.