mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-01 03:23:52 +00:00
Merge remote-tracking branch 'upstream/development' into torquescript-generateCompiler
This commit is contained in:
commit
4f3a1f395c
18 changed files with 87 additions and 110 deletions
|
|
@ -460,6 +460,8 @@ void Prefab::_onFileChanged( const Torque::Path &path )
|
|||
|
||||
Prefab* Prefab::getPrefabByChild( SimObject *child )
|
||||
{
|
||||
if (child == NULL) return NULL;
|
||||
|
||||
ChildToPrefabMap::Iterator itr = smChildToPrefabMap.find( child->getId() );
|
||||
if ( itr == smChildToPrefabMap.end() )
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -3072,6 +3072,13 @@ DefineEngineMethod( SimObject, setFieldValue, bool, ( const char* fieldName, con
|
|||
{
|
||||
char fieldNameBuffer[ 1024 ];
|
||||
char arrayIndexBuffer[ 64 ];
|
||||
|
||||
if( !fieldName || !fieldName[0] )
|
||||
{
|
||||
AssertFatal(false, "SimObject::setFieldValue - Invalid field name.");
|
||||
Con::errorf( "SimObject::setFieldValue - Invalid field name." );
|
||||
return false;
|
||||
}
|
||||
|
||||
// Parse out index if the field is given in the form of 'name[index]'.
|
||||
|
||||
|
|
|
|||
|
|
@ -961,11 +961,11 @@ void Gizmo::on3DMouseDragged( const Gui3DMouseEvent & event )
|
|||
mDeltaTotalPos = projPnt - mMouseDownProjPnt;
|
||||
newPosition = mSavedTransform.getPosition() + mDeltaTotalPos;
|
||||
|
||||
mDeltaPos = newPosition - mTransform.getPosition();
|
||||
|
||||
if (mProfile->snapToGrid)
|
||||
newPosition = _snapPoint(newPosition);
|
||||
|
||||
mDeltaPos = newPosition - mTransform.getPosition();
|
||||
|
||||
mTransform.setPosition( newPosition );
|
||||
|
||||
mCurrentTransform.setPosition( newPosition );
|
||||
|
|
|
|||
|
|
@ -328,6 +328,7 @@ bool ProcessedCustomMaterial::setupPass( SceneRenderState *state, const SceneDat
|
|||
|
||||
shaderConsts->setSafe(rpd->shaderHandles.mAccumTimeSC, MATMGR->getTotalTime());
|
||||
shaderConsts->setSafe(rpd->shaderHandles.mDampnessSC, MATMGR->getDampnessClamped());
|
||||
shaderConsts->setSafe(rpd->shaderHandles.mIsCapturingSC, state ? (S32)state->isCapturing() : 0);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -115,6 +115,8 @@ void ShaderConstHandles::init( GFXShader *shader, CustomMaterial* mat /*=NULL*/)
|
|||
// MFT_HardwareSkinning
|
||||
mNodeTransforms = shader->getShaderConstHandle( "$nodeTransforms" );
|
||||
|
||||
mIsCapturingSC = shader->getShaderConstHandle(ShaderGenVars::isCapturing);
|
||||
|
||||
// Clear any existing texture handles.
|
||||
dMemset( mTexHandlesSC, 0, sizeof( mTexHandlesSC ) );
|
||||
if(mat)
|
||||
|
|
@ -1093,6 +1095,8 @@ void ProcessedShaderMaterial::_setShaderConstants(SceneRenderState * state, cons
|
|||
shaderConsts->setSafe( handles->mAccumTimeSC, MATMGR->getTotalTime() );
|
||||
|
||||
shaderConsts->setSafe(handles->mDampnessSC, MATMGR->getDampnessClamped());
|
||||
shaderConsts->setSafe(handles->mIsCapturingSC, (S32)state->isCapturing());
|
||||
|
||||
// If the shader constants have not been lost then
|
||||
// they contain the content from a previous render pass.
|
||||
//
|
||||
|
|
|
|||
|
|
@ -104,6 +104,7 @@ public:
|
|||
|
||||
GFXShaderConstHandle* mNodeTransforms;
|
||||
|
||||
GFXShaderConstHandle* mIsCapturingSC;
|
||||
struct customHandleData
|
||||
{
|
||||
StringTableEntry handleName;
|
||||
|
|
|
|||
|
|
@ -498,7 +498,8 @@ PostEffect::PostEffect()
|
|||
mMatCameraToWorldSC( NULL),
|
||||
mInvCameraTransSC(NULL),
|
||||
mMatCameraToScreenSC(NULL),
|
||||
mMatScreenToCameraSC(NULL)
|
||||
mMatScreenToCameraSC(NULL),
|
||||
mIsCapturingSC(NULL)
|
||||
{
|
||||
dMemset( mTexSRGB, 0, sizeof(bool) * NumTextures);
|
||||
dMemset( mActiveTextures, 0, sizeof( GFXTextureObject* ) * NumTextures );
|
||||
|
|
@ -798,8 +799,12 @@ void PostEffect::_setupConstants( const SceneRenderState *state )
|
|||
mInvCameraTransSC = mShader->getShaderConstHandle("$invCameraTrans");
|
||||
mMatCameraToScreenSC = mShader->getShaderConstHandle("$cameraToScreen");
|
||||
mMatScreenToCameraSC = mShader->getShaderConstHandle("$screenToCamera");
|
||||
mIsCapturingSC = mShader->getShaderConstHandle("$isCapturing");
|
||||
}
|
||||
|
||||
if (mIsCapturingSC->isValid())
|
||||
mShaderConsts->set(mIsCapturingSC, (S32)state->isCapturing());
|
||||
|
||||
// Set up shader constants for source image size
|
||||
if ( mRTSizeSC->isValid() )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -164,6 +164,8 @@ protected:
|
|||
GFXShaderConstHandle *mMatCameraToScreenSC;
|
||||
GFXShaderConstHandle *mMatScreenToCameraSC;
|
||||
|
||||
GFXShaderConstHandle* mIsCapturingSC;
|
||||
|
||||
bool mAllowReflectPass;
|
||||
|
||||
/// If true update the shader.
|
||||
|
|
|
|||
|
|
@ -503,47 +503,13 @@ void RenderProbeMgr::reloadTextures()
|
|||
void RenderProbeMgr::preBake()
|
||||
{
|
||||
RenderProbeMgr::smBakeReflectionProbes = true;
|
||||
GFXShader::addGlobalMacro("CAPTURING", String("1"));
|
||||
|
||||
//Con::setVariable("$Probes::Capturing", "1");
|
||||
mRenderMaximumNumOfLights = AdvancedLightBinManager::smMaximumNumOfLights;
|
||||
mRenderUseLightFade = AdvancedLightBinManager::smUseLightFade;
|
||||
|
||||
AdvancedLightBinManager::smMaximumNumOfLights = -1;
|
||||
AdvancedLightBinManager::smUseLightFade = false;
|
||||
|
||||
//kickstart rendering
|
||||
LightManager* lm = LIGHTMGR;
|
||||
if (lm)
|
||||
{
|
||||
SceneManager* sm = lm->getSceneManager();
|
||||
if (sm && sm->getContainer() == &gClientContainer)
|
||||
{
|
||||
lm->deactivate();
|
||||
lm->activate(sm);
|
||||
}
|
||||
}
|
||||
Con::setBoolVariable("$ReflectionProbes::Capturing", RenderProbeMgr::smBakeReflectionProbes);
|
||||
}
|
||||
|
||||
void RenderProbeMgr::postBake()
|
||||
{
|
||||
RenderProbeMgr::smBakeReflectionProbes = false;
|
||||
GFXShader::addGlobalMacro("CAPTURING", String("0"));
|
||||
//Con::setVariable("$Probes::Capturing", "0");
|
||||
AdvancedLightBinManager::smMaximumNumOfLights = mRenderMaximumNumOfLights;
|
||||
AdvancedLightBinManager::smUseLightFade = mRenderUseLightFade;
|
||||
|
||||
//kickstart rendering
|
||||
LightManager* lm = LIGHTMGR;
|
||||
if (lm)
|
||||
{
|
||||
SceneManager* sm = lm->getSceneManager();
|
||||
if (sm && sm->getContainer() == &gClientContainer)
|
||||
{
|
||||
lm->deactivate();
|
||||
lm->activate(sm);
|
||||
}
|
||||
}
|
||||
Con::setBoolVariable("$ReflectionProbes::Capturing", RenderProbeMgr::smBakeReflectionProbes);
|
||||
}
|
||||
|
||||
void RenderProbeMgr::bakeProbe(ReflectionProbe* probe)
|
||||
|
|
|
|||
|
|
@ -223,6 +223,7 @@ class SceneRenderState
|
|||
/// Returns true if this is not one of the other rendering passes.
|
||||
bool isOtherPass() const { return mScenePassType >= SPT_Other; }
|
||||
|
||||
bool isCapturing() const { return Con::getBoolVariable("$ReflectionProbes::Capturing", false); };
|
||||
/// @}
|
||||
|
||||
/// @name Render Style
|
||||
|
|
|
|||
|
|
@ -74,6 +74,8 @@ const String ShaderGenVars::vectorLightDirection("$vectorLightDirection");
|
|||
const String ShaderGenVars::vectorLightColor("$vectorLightColor");
|
||||
const String ShaderGenVars::vectorLightBrightness("$vectorLightBrightness");
|
||||
|
||||
const String ShaderGenVars::isCapturing("$isCapturing");
|
||||
|
||||
const String ShaderGenVars::ormConfig("$ORMConfig");
|
||||
const String ShaderGenVars::roughness("$roughness");
|
||||
const String ShaderGenVars::metalness("$metalness");
|
||||
|
|
|
|||
|
|
@ -86,6 +86,8 @@ struct ShaderGenVars
|
|||
const static String vectorLightColor;
|
||||
const static String vectorLightBrightness;
|
||||
|
||||
const static String isCapturing;
|
||||
|
||||
const static String ormConfig;
|
||||
const static String roughness;
|
||||
const static String metalness;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue