Merge branch 'CustomShaderFeaturesPR' of https://github.com/Areloch/Torque3D into alpha40Macwork

# Conflicts:
#	Engine/source/materials/materialDefinition.cpp
#	Engine/source/materials/processedFFMaterial.h
#	Engine/source/materials/processedShaderMaterial.cpp
#	Engine/source/renderInstance/renderBinManager.cpp
#	Engine/source/renderInstance/renderGlowMgr.cpp
#	Engine/source/renderInstance/renderMeshMgr.cpp
#	Engine/source/renderInstance/renderPassManager.h
#	Engine/source/renderInstance/renderTranslucentMgr.cpp
#	Engine/source/shaderGen/customShaderFeature.cpp
#	Engine/source/shaderGen/customShaderFeature.h
This commit is contained in:
AzaezelX 2019-05-22 23:36:15 -05:00
commit afa52850c3
12 changed files with 110 additions and 72 deletions

View file

@ -153,33 +153,30 @@ S32 FN_CDECL RenderBinManager::cmpKeyFunc(const void* p1, const void* p2)
void RenderBinManager::setupSGData(MeshRenderInst *ri, SceneData &data)
{
PROFILE_SCOPE(RenderBinManager_setupSGData);
PROFILE_SCOPE( RenderBinManager_setupSGData );
// NOTE: We do not reset or clear the scene state
// here as the caller has initialized non-RI members
// himself and we must preserve them.
//
// It also saves a bunch of CPU as this is called for
// every MeshRenderInst in every pass.
// NOTE: We do not reset or clear the scene state
// here as the caller has initialized non-RI members
// himself and we must preserve them.
//
// It also saves a bunch of CPU as this is called for
// every MeshRenderInst in every pass.
dMemcpy(data.lights, ri->lights, sizeof(data.lights));
data.objTrans = ri->objectToWorld;
data.backBuffTex = ri->backBuffTex;
data.cubemap = ri->cubemap;
data.miscTex = ri->miscTex;
data.reflectTex = ri->reflectTex;
data.accuTex = ri->accuTex;
data.lightmap = ri->lightmap;
data.visibility = ri->visibility;
data.materialHint = ri->materialHint;
data.customShaderData.clear();
for (U32 i = 0; i < ri->mCustomShaderData.size(); i++)
{
data.customShaderData.push_back(&ri->mCustomShaderData[i]);
}
bool bl = true;
dMemcpy( data.lights, ri->lights, sizeof( data.lights ) );
data.objTrans = ri->objectToWorld;
data.backBuffTex = ri->backBuffTex;
data.cubemap = ri->cubemap;
data.miscTex = ri->miscTex;
data.reflectTex = ri->reflectTex;
data.accuTex = ri->accuTex;
data.lightmap = ri->lightmap;
data.visibility = ri->visibility;
data.materialHint = ri->materialHint;
data.customShaderData.clear();
for (U32 i = 0; i < ri->mCustomShaderData.size(); i++)
{
data.customShaderData.push_back(&ri->mCustomShaderData[i]);
}
}
DefineEngineMethod( RenderBinManager, getBinType, const char*, (),,

View file

@ -251,7 +251,6 @@ void RenderGlowMgr::render( SceneRenderState *state )
glowMat->setNodeTransforms(passRI->mNodeTransforms, passRI->mNodeTransformCount);
}
//-JR
//push along any overriden fields that are instance-specific as well
if (passRI->mCustomShaderData.size() > 0)
{

View file

@ -182,7 +182,6 @@ void RenderMeshMgr::render(SceneRenderState * state)
mat->setNodeTransforms(passRI->mNodeTransforms, passRI->mNodeTransformCount);
}
//-JR
//push along any overriden fields that are instance-specific as well
if (passRI->mCustomShaderData.size() > 0)
{

View file

@ -57,8 +57,6 @@ class LightInfo;
struct RenderInst;
class MatrixSet;
class GFXPrimitiveBufferHandle;
class CubemapData;
class CustomShaderBindingData;
/// A RenderInstType hash value.

View file

@ -256,7 +256,6 @@ void RenderTranslucentMgr::render( SceneRenderState *state )
mat->setNodeTransforms(passRI->mNodeTransforms, passRI->mNodeTransformCount);
}
//-JR
//push along any overriden fields that are instance-specific as well
if (passRI->mCustomShaderData.size() > 0)
{
@ -344,4 +343,4 @@ void RenderTranslucentMgr::render( SceneRenderState *state )
j = ( j == matListEnd ) ? j+1 : matListEnd;
}
}
}
}