mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-13 07:34:45 +00:00
Merge pull request #1382 from Azaezel/alpha41/lightMounts
handle mounted lights ghosting in and out
This commit is contained in:
commit
0b477b573c
2 changed files with 15 additions and 3 deletions
|
|
@ -147,7 +147,7 @@ bool LightBase::onAdd()
|
||||||
// Update the light parameters.
|
// Update the light parameters.
|
||||||
_conformLights();
|
_conformLights();
|
||||||
addToScene();
|
addToScene();
|
||||||
|
setProcessTick(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -256,10 +256,22 @@ void LightBase::_onUnselected()
|
||||||
|
|
||||||
void LightBase::interpolateTick( F32 delta )
|
void LightBase::interpolateTick( F32 delta )
|
||||||
{
|
{
|
||||||
|
if (isMounted()) {
|
||||||
|
MatrixF mat;
|
||||||
|
mMount.object->getRenderMountTransform(delta, mMount.node, mMount.xfm, &mat);
|
||||||
|
mLight->setTransform(mat);
|
||||||
|
Parent::setTransform(mat);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LightBase::processTick()
|
void LightBase::processTick()
|
||||||
{
|
{
|
||||||
|
if (isMounted()) {
|
||||||
|
MatrixF mat;
|
||||||
|
mMount.object->getMountTransform(mMount.node, mMount.xfm, &mat);
|
||||||
|
mLight->setTransform(mat);
|
||||||
|
setTransform(mat);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LightBase::advanceTime( F32 timeDelta )
|
void LightBase::advanceTime( F32 timeDelta )
|
||||||
|
|
|
||||||
|
|
@ -1236,10 +1236,10 @@ bool SceneObject::_setMountPID( void* object, const char* index, const char* dat
|
||||||
|
|
||||||
void SceneObject::resolveMountPID()
|
void SceneObject::resolveMountPID()
|
||||||
{
|
{
|
||||||
if ( mMountPID && !mMount.object )
|
if ( mMountPID )
|
||||||
{
|
{
|
||||||
SceneObject *obj = dynamic_cast< SceneObject* >( mMountPID->getObject() );
|
SceneObject *obj = dynamic_cast< SceneObject* >( mMountPID->getObject() );
|
||||||
if ( obj )
|
if ( obj != mMount.object)
|
||||||
obj->mountObject( this, mMount.node, mMount.xfm );
|
obj->mountObject( this, mMount.node, mMount.xfm );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue