Working on shader const binding

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

View file

@ -52,6 +52,7 @@ TSRenderState::TSRenderState( const TSRenderState &state )
mLightQuery( state.mLightQuery ),
mAccuTex( state.mAccuTex ),
mNodeTransforms( state.mNodeTransforms ),
mNodeTransformCount( state.mNodeTransformCount )
mNodeTransformCount( state.mNodeTransformCount ),
mCustomShaderData( state.mCustomShaderData )
{
}

View file

@ -90,21 +90,24 @@ public:
mFloat2 = f;
type = Float2;
}
Point2F getFloat2() { return mFloat2; }
void setFloat3(StringTableEntry shaderConstName, Point3F f)
{
targetedUniformName = shaderConstName;
mFloat3 = f;
type = Float3;
}
Point3F getFloat3() { return mFloat3; }
void setFloat4(StringTableEntry shaderConstName, Point4F f)
{
targetedUniformName = shaderConstName;
mFloat4 = f;
type = Float4;
}
Point4F getFloat4() { return mFloat4; }
StringTableEntry getHandleName() {
return targetedUniformName;
}
@ -193,7 +196,7 @@ protected:
U32 mNodeTransformCount;
//Custom Shader data
Vector<CustomShaderBindingData*> mCustomShaderData;
Vector<CustomShaderBindingData> mCustomShaderData;
public:
TSRenderState();
@ -242,11 +245,11 @@ public:
void setAccuTex( GFXTextureObject* query ) { mAccuTex = query; }
GFXTextureObject* getAccuTex() const { return mAccuTex; }
void addCustomShaderBinding(CustomShaderBindingData* data)
void addCustomShaderBinding(CustomShaderBindingData data)
{
mCustomShaderData.push_back(data);
}
Vector<CustomShaderBindingData*> getCustomShaderBinding() const
Vector<CustomShaderBindingData> getCustomShaderBinding() const
{
return mCustomShaderData;
}