mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-13 11:43:49 +00:00
Fixes de-selection logic in editor that caused special cases to permanently be selected such as mounted Lights
Shifted every-frame RT allocation to be stored in advancedLightBinManager Remove deprecated references to dynamicShadowMap in light materials Updated spotLight shaders to remove deprecated dynamic shadowmap reference which was causing a crash when spotlights had shadows turned on Added GLSL version of Viz_SurfaceProperties so it works on both APIs
This commit is contained in:
parent
31039de2cf
commit
ae70cccfde
8 changed files with 125 additions and 44 deletions
|
|
@ -2167,9 +2167,14 @@ void WorldEditor::on3DMouseUp( const Gui3DMouseEvent &event )
|
|||
// this may actually cause things to disappear from mSelected so do the loop
|
||||
// in reverse. This will make the loop work even if items are removed as
|
||||
// we go along.
|
||||
for( S32 i = mSelected->size() - 1; i >= 0; -- i )
|
||||
Con::executef( this, "onUnSelect", ( *mSelected )[ i ]->getIdString() );
|
||||
|
||||
for (S32 i = mSelected->size() - 1; i >= 0; --i)
|
||||
{
|
||||
//We'll explicitly inform the object of being unmarked as selected in the editor as well for outlier cases potentially not being told, such as mounted objects
|
||||
WorldEditor::markAsSelected((*mSelected)[i], false);
|
||||
|
||||
Con::executef(this, "onUnSelect", (*mSelected)[i]->getIdString());
|
||||
}
|
||||
|
||||
mSelected->clear();
|
||||
mSelected->addObject( mPossibleHitObject );
|
||||
mSelected->storeCurrentCentroid();
|
||||
|
|
@ -2894,8 +2899,13 @@ void WorldEditor::clearSelection()
|
|||
// this may actually cause things to disappear from mSelected so do the loop
|
||||
// in reverse. This will make the loop work even if items are removed as
|
||||
// we go along.
|
||||
for( S32 i = mSelected->size() - 1; i >= 0; -- i )
|
||||
Con::executef( this, "onUnSelect", ( *mSelected )[ i ]->getIdString() );
|
||||
for (S32 i = mSelected->size() - 1; i >= 0; --i)
|
||||
{
|
||||
//We'll explicitly inform the object of being unmarked as selected in the editor as well for outlier cases potentially not being told, such as mounted objects
|
||||
WorldEditor::markAsSelected((*mSelected)[i], false);
|
||||
|
||||
Con::executef(this, "onUnSelect", (*mSelected)[i]->getIdString());
|
||||
}
|
||||
|
||||
Con::executef(this, "onClearSelection");
|
||||
mSelected->clear();
|
||||
|
|
|
|||
|
|
@ -370,18 +370,16 @@ void AdvancedLightBinManager::render( SceneRenderState *state )
|
|||
if (sceneColorTargetRef.isNull())
|
||||
return;
|
||||
|
||||
GFXTextureTargetRef lightingTargetRef = GFX->allocRenderToTextureTarget();
|
||||
|
||||
if (lightingTargetRef.isNull())
|
||||
return;
|
||||
if (mLightingTargetRef.isNull())
|
||||
mLightingTargetRef = GFX->allocRenderToTextureTarget();
|
||||
|
||||
//Do a quick pass to update our probes if they're dirty
|
||||
//PROBEMGR->updateDirtyProbes();
|
||||
|
||||
lightingTargetRef->attachTexture(GFXTextureTarget::Color0, sceneColorTargetRef->getTexture());
|
||||
mLightingTargetRef->attachTexture(GFXTextureTarget::Color0, sceneColorTargetRef->getTexture());
|
||||
|
||||
GFX->pushActiveRenderTarget();
|
||||
GFX->setActiveRenderTarget(lightingTargetRef);
|
||||
GFX->setActiveRenderTarget(mLightingTargetRef);
|
||||
|
||||
GFX->setViewport(sceneColorTargetRef->getViewport());
|
||||
|
||||
|
|
|
|||
|
|
@ -93,6 +93,8 @@ public:
|
|||
NamedTexTargetRef mDiffuseLightingTarget;
|
||||
GFXTexHandle mDiffuseLightingTex;
|
||||
|
||||
GFXTextureTargetRef mLightingTargetRef;
|
||||
|
||||
/// The shadow filter mode to use on shadowed light materials.
|
||||
static ShadowFilterMode smShadowFilterMode;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue