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;
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();
SharedPtr< UniformParameter > UniformParameterPtr
HashedVector< Light * > LightList
std::vector< Real, STLAllocator< Real, GeneralAllocPolicy > > type
float Real
Software floating point type.
SharedPtr< Parameter > ParameterPtr