28 #ifndef _ShaderExIntegratedPSSM3_
29 #define _ShaderExIntegratedPSSM3_
32 #ifdef RTSHADER_SYSTEM_BUILD_EXT_SHADERS
49 #define SGX_LIB_INTEGRATEDPSSM "SGXLib_IntegratedPSSM"
50 #define SGX_FUNC_COMPUTE_SHADOW_COLOUR3 "SGX_ComputeShadowFactor_PSSM3"
51 #define SGX_FUNC_APPLYSHADOWFACTOR_DIFFUSE "SGX_ApplyShadowFactor_Diffuse"
52 #define SGX_FUNC_MODULATE_SCALAR "SGX_ModulateScalar"
70 virtual const String& getType()
const;
75 virtual int getExecutionOrder()
const;
80 virtual void updateGpuProgramsParams(Renderable* rend, Pass* pass,
const AutoParamDataSource* source,
const LightList* pLightList);
85 virtual void copyFrom(
const SubRenderState& rhs);
91 virtual bool preAddToRenderState(
const RenderState* renderState, Pass* srcPass, Pass* dstPass);
101 void setSplitPoints(
const SplitPointList& newSplitPoints);
114 unsigned int mTextureSamplerIndex;
128 typedef vector<ShadowTextureParams>::type ShadowTextureParamsList;
129 typedef ShadowTextureParamsList::iterator ShadowTextureParamsIterator;
130 typedef ShadowTextureParamsList::const_iterator ShadowTextureParamsConstIterator;
140 virtual bool resolveParameters(ProgramSet* programSet);
145 virtual bool resolveDependencies(ProgramSet* programSet);
150 virtual bool addFunctionInvocations(ProgramSet* programSet);
155 bool addVSInvocation(Function* vsMain,
const int groupOrder,
int& internalCounter);
160 bool addPSInvocation(Program* psProgram,
const int groupOrder,
int& internalCounter);
169 ShadowTextureParamsList mShadowTextureParamsList;
198 class _OgreRTSSExport IntegratedPSSM3Factory :
public SubRenderStateFactory
205 virtual const String& getType()
const;
210 virtual SubRenderState* createInstance(ScriptCompiler* compiler, PropertyAbstractNode* prop, Pass* pass, SGScriptTranslator* translator);
218 virtual SubRenderState* createInstanceImpl();
float Real
Software floating point type.
HashedVector< Light * > LightList
std::vector< Real, A > type
SharedPtr< Parameter > ParameterPtr
SharedPtr< UniformParameter > UniformParameterPtr