Merge pull request #113 from Azaezel/alpha40VolfogTriggerTrip

set volfog to use the standard window-resized trigger for it's update
This commit is contained in:
Areloch 2019-10-24 21:20:53 -05:00 committed by GitHub
commit e0b8b2766d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 17 deletions

View file

@ -109,7 +109,7 @@ VolumetricFogRTManager::~VolumetricFogRTManager()
void VolumetricFogRTManager::onSceneRemove() void VolumetricFogRTManager::onSceneRemove()
{ {
if (mIsInitialized) if (mIsInitialized)
mPlatformWindow->getScreenResChangeSignal().remove(this, &VolumetricFogRTManager::ResizeRT); mPlatformWindow->resizeEvent.remove(this, &VolumetricFogRTManager::ResizeRT);
} }
void VolumetricFogRTManager::onRemove() void VolumetricFogRTManager::onRemove()
@ -148,7 +148,7 @@ bool VolumetricFogRTManager::Init()
} }
mPlatformWindow = cv->getPlatformWindow(); mPlatformWindow = cv->getPlatformWindow();
mPlatformWindow->getScreenResChangeSignal().notify(this,&VolumetricFogRTManager::ResizeRT); mPlatformWindow->resizeEvent.notify(this,&VolumetricFogRTManager::ResizeRT);
if (mTargetScale < 1 || GFX->getAdapterType() == Direct3D11) if (mTargetScale < 1 || GFX->getAdapterType() == Direct3D11)
mTargetScale = 1; mTargetScale = 1;
@ -205,22 +205,17 @@ U32 VolumetricFogRTManager::DecFogObjects()
return mNumFogObjects; return mNumFogObjects;
} }
void VolumetricFogRTManager::ResizeRT(PlatformWindow* win,bool resize) void VolumetricFogRTManager::ResizeRT( WindowId did, S32 width, S32 height )
{ {
mFogHasAnswered = 0;
smVolumetricFogRTMResizeSignal.trigger(this, true); smVolumetricFogRTMResizeSignal.trigger(this, true);
} }
void VolumetricFogRTManager::FogAnswered() void VolumetricFogRTManager::FogAnswered()
{ {
mFogHasAnswered++; if (Resize())
if (mFogHasAnswered == mNumFogObjects) smVolumetricFogRTMResizeSignal.trigger(this, false);
{ else
if (Resize()) Con::errorf("VolumetricFogRTManager::FogAnswered - Error resizing rendertargets!");
smVolumetricFogRTMResizeSignal.trigger(this, false);
else
Con::errorf("VolumetricFogRTManager::FogAnswered - Error resizing rendertargets!");
}
} }
bool VolumetricFogRTManager::Resize() bool VolumetricFogRTManager::Resize()
@ -279,7 +274,6 @@ S32 VolumetricFogRTManager::setQuality(U32 Quality)
mTargetScale = Quality; mTargetScale = Quality;
mFogHasAnswered = 0;
smVolumetricFogRTMResizeSignal.trigger(this, true); smVolumetricFogRTMResizeSignal.trigger(this, true);
return mTargetScale; return mTargetScale;

View file

@ -59,13 +59,12 @@ class VolumetricFogRTManager : public SceneObject
static S32 mTargetScale; static S32 mTargetScale;
bool mIsInitialized; bool mIsInitialized;
U32 mNumFogObjects; U32 mNumFogObjects;
U32 mFogHasAnswered;
U32 mWidth; U32 mWidth;
U32 mHeight; U32 mHeight;
void onRemove(); void onRemove();
void onSceneRemove(); void onSceneRemove();
void ResizeRT(PlatformWindow *win, bool resize); void ResizeRT(WindowId did, S32 width, S32 height);
static VolumetricFogRTMResizeSignal smVolumetricFogRTMResizeSignal; static VolumetricFogRTMResizeSignal smVolumetricFogRTMResizeSignal;

View file

@ -277,7 +277,7 @@ void Win32Window::setVideoMode( const GFXVideoMode &mode )
mOwningManager->raiseCurtain(); mOwningManager->raiseCurtain();
SetForegroundWindow( getHWND() ); SetForegroundWindow( getHWND() );
getScreenResChangeSignal().trigger( this, true ); resizeEvent.trigger( this, true );
} }
bool Win32Window::clearFullscreen() bool Win32Window::clearFullscreen()
@ -806,7 +806,7 @@ LRESULT PASCAL Win32Window::WindowProc( HWND hWnd, UINT message, WPARAM wParam,
window->getGFXTarget()->resetMode(); window->getGFXTarget()->resetMode();
} }
window->getScreenResChangeSignal().trigger(window, true); window->resizeEvent.trigger(window, true);
} }
return 0; return 0;