Merge branch 'development' into defineconsolemethod

Conflicts:
	Engine/source/materials/materialDefinition.cpp
This commit is contained in:
Daniel Buckmaster 2014-12-26 13:22:16 +11:00
commit ae284a89ec
129 changed files with 3742 additions and 1038 deletions

View file

@ -40,7 +40,6 @@
// For player object bounds workaround.
#include "T3D/player.h"
extern bool gEditingMission;
@ -113,6 +112,7 @@ SceneManager::SceneManager( bool isClient )
mDisplayTargetResolution( 0, 0 ),
mDefaultRenderPass( NULL ),
mVisibleDistance( 500.f ),
mVisibleGhostDistance( 0 ),
mNearClip( 0.1f ),
mAmbientLightColor( ColorF( 0.1f, 0.1f, 0.1f, 1.0f ) ),
mZoneManager( NULL )

View file

@ -141,6 +141,7 @@ class SceneManager
F32 mVisibleDistance;
F32 mVisibleGhostDistance;
F32 mNearClip;
FogData mFogData;
@ -317,6 +318,9 @@ class SceneManager
/// Returns the default visible distance for the scene.
F32 getVisibleDistance() { return mVisibleDistance; }
void setVisibleGhostDistance( F32 dist ) { mVisibleGhostDistance = dist; }
F32 getVisibleGhostDistance() { return mVisibleGhostDistance;}
/// Used by LevelInfo to set the default near clip plane
/// for rendering the scene.
///

View file

@ -42,6 +42,8 @@
#include "math/mathIO.h"
#include "math/mTransform.h"
#include "T3D/gameBase/gameProcess.h"
#include "T3D/gameBase/gameConnection.h"
#include "T3D/accumulationVolume.h"
IMPLEMENT_CONOBJECT(SceneObject);
@ -140,6 +142,8 @@ SceneObject::SceneObject()
mObjectFlags.set( RenderEnabledFlag | SelectionEnabledFlag );
mIsScopeAlways = false;
mAccuTex = NULL;
}
//-----------------------------------------------------------------------------
@ -151,6 +155,7 @@ SceneObject::~SceneObject()
AssertFatal( !mSceneObjectLinks,
"SceneObject::~SceneObject() - object is still linked to SceneTrackers" );
mAccuTex = NULL;
unlink();
}
@ -664,6 +669,12 @@ static void scopeCallback( SceneObject* obj, void* conPtr )
void SceneObject::onCameraScopeQuery( NetConnection* connection, CameraScopeQuery* query )
{
SceneManager* sceneManager = getSceneManager();
GameConnection* conn = dynamic_cast<GameConnection*> (connection);
if (conn && (query->visibleDistance = conn->getVisibleGhostDistance()) == 0.0f)
if ((query->visibleDistance = sceneManager->getVisibleGhostDistance()) == 0.0f)
query->visibleDistance = sceneManager->getVisibleDistance();
// Object itself is in scope.
if( this->isScopeable() )

View file

@ -51,6 +51,10 @@
#include "scene/sceneContainer.h"
#endif
#ifndef _GFXDEVICE_H_
#include "gfx/gfxDevice.h"
#endif
class SceneManager;
class SceneRenderState;
@ -765,8 +769,14 @@ class SceneObject : public NetObject, private SceneContainer::Link, public Proce
static bool _setFieldRotation( void *object, const char *index, const char *data );
static bool _setFieldScale( void *object, const char *index, const char *data );
static bool _setMountPID( void* object, const char* index, const char* data );
static bool _setAccuEnabled( void *object, const char *index, const char *data );
/// @}
// Accumulation Texture
// Note: This was placed in SceneObject to both ShapeBase and TSStatic could support it.
public:
GFXTextureObject* mAccuTex;
};
#endif // _SCENEOBJECT_H_