[2.2] myGui Yflipping when add pass for overlays
Posted: Fri Apr 05, 2019 5:22 pm
Hello! I recently integrated aces tonemapping in my engine, since that's a post process, the overlays (fps count and others) which where rendered in the same pass as the scene they look very dark... so I just separate the overlays to another pass in the same target of the post process:
Before:
After
it works, but for some reason this makes all the MyGui stuffs flip vertically, I have no idea why might be related, its a totally different workspace.
its a bug? is there any way I can flip a workspace to workaround this?
thanks!
Before:
Code: Select all
{
Ogre::CompositorTargetDef *targetDef = renderNodeDef->addTargetPass( "renderAux" );
targetDef->setNumPasses( 1 );
//SCENE
mPassSceneDef = static_cast<Ogre::CompositorPassSceneDef*>( targetDef->addPass( Ogre::PASS_SCENE ) );
mPassSceneDef->mExposedTextures.push_back( "TerraShadowTexture" );
if( !mDisableShadows ){
mPassSceneDef->mShadowNode = "MainEngineShadowNode";
}
mPassSceneDef->mProfilingId = "MAIN_SCENE_PASS";
mPassSceneDef->mIdentifier = 25001;
mPassSceneDef->setAllClearColours( Ogre::ColourValue::Black );
mPassSceneDef->setAllLoadActions( Ogre::LoadAction::Clear );
mPassSceneDef->setAllStoreActions( Ogre::StoreAction::Store );
}
{
Ogre::CompositorTargetDef *targetDef = renderNodeDef->addTargetPass( "renderwindow" );
targetDef->setNumPasses( 1 );
//QUAD
Ogre::CompositorPassQuadDef *passQuadDef = static_cast<Ogre::CompositorPassQuadDef*>( targetDef->addPass( Ogre::PASS_QUAD ) );
passQuadDef->setAllLoadActions( Ogre::LoadAction::DontCare );
passQuadDef->mMaterialName = "FinalProcessingMat";
passQuadDef->addQuadTextureSource( 0, "renderAux" );
passQuadDef->mProfilingId = "MAIN_FINAL_PROCESSING_QUAD_PASS";
}
Code: Select all
{
Ogre::CompositorTargetDef *targetDef = renderNodeDef->addTargetPass( "renderAux" );
targetDef->setNumPasses( 1 );
//SCENE
mPassSceneDef = static_cast<Ogre::CompositorPassSceneDef*>( targetDef->addPass( Ogre::PASS_SCENE ) );
mPassSceneDef->mExposedTextures.push_back( "TerraShadowTexture" );
if( !mDisableShadows ){
mPassSceneDef->mShadowNode = "MainEngineShadowNode";
}
mPassSceneDef->mProfilingId = "MAIN_SCENE_PASS";
mPassSceneDef->mIdentifier = 25001;
mPassSceneDef->setAllClearColours( Ogre::ColourValue::Black );
mPassSceneDef->setAllLoadActions( Ogre::LoadAction::Clear );
mPassSceneDef->setAllStoreActions( Ogre::StoreAction::Store );
mPassSceneDef->mLastRQ = 254;
}
{
Ogre::CompositorTargetDef *targetDef = renderNodeDef->addTargetPass( "renderwindow" );
targetDef->setNumPasses( 2 );
//QUAD
Ogre::CompositorPassQuadDef *passQuadDef = static_cast<Ogre::CompositorPassQuadDef*>( targetDef->addPass( Ogre::PASS_QUAD ) );
passQuadDef->setAllLoadActions( Ogre::LoadAction::DontCare );
passQuadDef->mMaterialName = "FinalProcessingMat";
passQuadDef->addQuadTextureSource( 0, "renderAux" );
passQuadDef->mProfilingId = "MAIN_FINAL_PROCESSING_QUAD_PASS";
//OVERLAY SCENE
Ogre::CompositorPassSceneDef *overlayPassSceneDef = static_cast<Ogre::CompositorPassSceneDef*>( targetDef->addPass( Ogre::PASS_SCENE ) );
overlayPassSceneDef->mProfilingId = "MAIN_OVERLAY_PASS";
overlayPassSceneDef->mFirstRQ = 254;
overlayPassSceneDef->mLastRQ = 255;
}
its a bug? is there any way I can flip a workspace to workaround this?
thanks!