Initial implementation of Custom Shader Features

This commit is contained in:
Areloch 2019-05-17 01:20:19 -05:00
parent 54b4d2eaaf
commit 9a63761627
31 changed files with 1772 additions and 17 deletions

View file

@ -31,6 +31,10 @@
#include "gfx/gfxDevice.h"
#endif
#ifndef _BASEMATINSTANCE_H_
#include "materials/baseMatInstance.h"
#endif
class SceneRenderState;
class GFXCubemap;
class Frustum;
@ -115,10 +119,10 @@ protected:
/// Count of matrices in the mNodeTransforms list
U32 mNodeTransformCount;
//Custom Shader data
Vector<CustomShaderBindingData> mCustomShaderData;
public:
TSRenderState();
TSRenderState( const TSRenderState &state );
@ -165,6 +169,15 @@ public:
void setAccuTex( GFXTextureObject* query ) { mAccuTex = query; }
GFXTextureObject* getAccuTex() const { return mAccuTex; }
void addCustomShaderBinding(CustomShaderBindingData data)
{
mCustomShaderData.push_back(data);
}
Vector<CustomShaderBindingData> getCustomShaderBinding() const
{
return mCustomShaderData;
}
///@ see mNodeTransforms, mNodeTransformCount
void setNodeTransforms(MatrixF *list, U32 count) { mNodeTransforms = list; mNodeTransformCount = count; }
void getNodeTransforms(MatrixF **list, U32 *count) const { *list = mNodeTransforms; *count = mNodeTransformCount; }