Working on shader const binding

This commit is contained in:
Areloch 2017-10-17 08:48:31 -05:00
parent 70c154c7d3
commit 7219899287
11 changed files with 96 additions and 33 deletions

View file

@ -1322,10 +1322,18 @@ void ProcessedShaderMaterial::setSceneInfo(SceneRenderState * state, const Scene
//roll through and try setting our data!
for (U32 h = 0; h < rpd->customFeatureShaderHandles.mHandles.size(); ++h)
{
StringTableEntry handleName = sgData.customShaderData[i]->getHandleName();
StringTableEntry rpdHandleName = rpd->customFeatureShaderHandles.mHandles[h].handleName;
if (rpd->customFeatureShaderHandles.mHandles[h].handleName == sgData.customShaderData[i]->getHandleName())
{
if(sgData.customShaderData[i]->getType() == CustomShaderBindingData::Float)
shaderConsts->setSafe(rpd->customFeatureShaderHandles.mHandles[h].handle, sgData.customShaderData[i]->getFloat());
else if (sgData.customShaderData[i]->getType() == CustomShaderBindingData::Float2)
shaderConsts->setSafe(rpd->customFeatureShaderHandles.mHandles[h].handle, sgData.customShaderData[i]->getFloat2());
else if (sgData.customShaderData[i]->getType() == CustomShaderBindingData::Float3)
shaderConsts->setSafe(rpd->customFeatureShaderHandles.mHandles[h].handle, sgData.customShaderData[i]->getFloat3());
else if (sgData.customShaderData[i]->getType() == CustomShaderBindingData::Float4)
shaderConsts->setSafe(rpd->customFeatureShaderHandles.mHandles[h].handle, sgData.customShaderData[i]->getFloat4());
break;
}
}