mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 16:44:36 +00:00
set volumetric fog to use the standard window-resized trigger for it's update
This commit is contained in:
parent
ec63be32e3
commit
dbb7ef3976
3 changed files with 10 additions and 17 deletions
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue