mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-19 19:35:26 +00:00
cleaned up variant of https://github.com/GarageGames/Torque3D/pull/768 alterations: opengl support, in-shader bug-reporting, direction vector fit to material slider-bar.
This commit is contained in:
parent
949251b988
commit
c6cdfafe4e
42 changed files with 2680 additions and 8 deletions
|
|
@ -165,6 +165,9 @@ void TSMesh::innerRender( TSMaterialList *materials, const TSRenderState &rdata,
|
|||
MeshRenderInst *coreRI = renderPass->allocInst<MeshRenderInst>();
|
||||
coreRI->type = RenderPassManager::RIT_Mesh;
|
||||
|
||||
// Pass accumulation texture along.
|
||||
coreRI->accuTex = rdata.getAccuTex();
|
||||
|
||||
const MatrixF &objToWorld = GFX->getWorldMatrix();
|
||||
|
||||
// Sort by the center point or the bounds.
|
||||
|
|
|
|||
|
|
@ -33,7 +33,8 @@ TSRenderState::TSRenderState()
|
|||
mMaterialHint( NULL ),
|
||||
mCuller( NULL ),
|
||||
mLightQuery( NULL ),
|
||||
mUseOriginSort( false )
|
||||
mUseOriginSort( false ),
|
||||
mAccuTex( NULL )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,9 @@
|
|||
#include "math/mMatrix.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef _GFXDEVICE_H_
|
||||
#include "gfx/gfxDevice.h"
|
||||
#endif
|
||||
|
||||
class SceneRenderState;
|
||||
class GFXCubemap;
|
||||
|
|
@ -103,8 +105,14 @@ protected:
|
|||
/// are forward lit and need lights.
|
||||
LightQuery *mLightQuery;
|
||||
|
||||
// The accumulation texture provided by an accumulation
|
||||
// volume. This is passed down per-object.
|
||||
GFXTextureObject* mAccuTex;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
|
||||
TSRenderState();
|
||||
TSRenderState( const TSRenderState &state );
|
||||
|
||||
|
|
@ -147,6 +155,10 @@ public:
|
|||
void setLightQuery( LightQuery *query ) { mLightQuery = query; }
|
||||
LightQuery* getLightQuery() const { return mLightQuery; }
|
||||
|
||||
///@see mAccuTex
|
||||
void setAccuTex( GFXTextureObject* query ) { mAccuTex = query; }
|
||||
GFXTextureObject* getAccuTex() const { return mAccuTex; }
|
||||
|
||||
/// @}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@
|
|||
#include "gfx/gfxDrawUtil.h"
|
||||
#include "core/module.h"
|
||||
|
||||
|
||||
MODULE_BEGIN( TSShapeInstance )
|
||||
|
||||
MODULE_INIT
|
||||
|
|
@ -783,3 +782,16 @@ void TSShapeInstance::prepCollision()
|
|||
}
|
||||
}
|
||||
|
||||
// Returns true is the shape contains any materials with accumulation enabled.
|
||||
bool TSShapeInstance::hasAccumulation()
|
||||
{
|
||||
bool result = false;
|
||||
for ( U32 i = 0; i < mMaterialList->size(); ++i )
|
||||
{
|
||||
BaseMatInstance* mat = mMaterialList->getMaterialInst(i);
|
||||
if ( mat->hasAccumulation() )
|
||||
result = true;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -671,6 +671,12 @@ protected:
|
|||
void *mData; ///< available for use by app...initialized to 0
|
||||
|
||||
void prepCollision();
|
||||
|
||||
//-------------------------------------------------------------------------------------
|
||||
// accumulation
|
||||
//-------------------------------------------------------------------------------------
|
||||
|
||||
bool hasAccumulation();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue