This commit is contained in:
Areloch 2017-10-26 17:06:27 -05:00
parent 86eb678f42
commit 524e5aad2d
13 changed files with 191 additions and 85 deletions

View file

@ -51,6 +51,8 @@
#include "materials/shaderData.h"
#include "gfx/sim/cubemapData.h"
#include "materials/customShaderBindingData.h"
const MatInstanceHookType DeferredMatInstanceHook::Type( "Deferred" );
const String RenderDeferredMgr::BufferName("deferred");
const RenderInstType RenderDeferredMgr::RIT_Deferred("Deferred");
@ -433,7 +435,10 @@ void RenderDeferredMgr::render( SceneRenderState *state )
//-JR
//push along any overriden fields that are instance-specific as well
//mat->setCustomShaderHandles()
if (passRI->mCustomShaderData.size() > 0)
{
mat->setCustomShaderData(passRI->mCustomShaderData);
}
// If we're instanced then don't render yet.
if ( mat->isInstanced() )

View file

@ -251,6 +251,13 @@ 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)
{
mat->setCustomShaderData(passRI->mCustomShaderData);
}
glowMat->setSceneInfo(state, sgData);
glowMat->setBuffers(passRI->vertBuff, passRI->primBuff);

View file

@ -182,6 +182,13 @@ 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)
{
mat->setCustomShaderData(passRI->mCustomShaderData);
}
setupSGData( passRI, sgData );
mat->setSceneInfo( state, sgData );

View file

@ -249,6 +249,13 @@ 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)
{
mat->setCustomShaderData(passRI->mCustomShaderData);
}
// If we're instanced then don't render yet.
if ( mat->isInstanced() )
{