27 #ifndef _ShaderFFPColur_
28 #define _ShaderFFPColur_
31 #ifdef RTSHADER_SYSTEM_BUILD_CORE_SHADERS
55 SF_VS_INPUT_DIFFUSE = 1 << 1,
56 SF_VS_INPUT_SPECULAR = 1 << 2,
57 SF_VS_OUTPUT_DIFFUSE = 1 << 3,
58 SF_VS_OUTPUT_SPECULAR = 1 << 4,
59 SF_PS_INPUT_DIFFUSE = 1 << 5,
60 SF_PS_INPUT_SPECULAR = 1 << 6,
61 SF_PS_OUTPUT_DIFFUSE = 1 << 7,
62 SF_PS_OUTPUT_SPECULAR = 1 << 8
75 virtual const String& getType()
const;
80 virtual int getExecutionOrder()
const;
85 virtual void copyFrom(
const SubRenderState& rhs);
90 virtual bool preAddToRenderState(
const RenderState* renderState, Pass* srcPass, Pass* dstPass);
98 void setResolveStageFlags(
unsigned int flags) { mResolveStageFlags = flags; }
103 unsigned int getResolveStageFlags()
const {
return mResolveStageFlags; }
109 void addResolveStageMask(
unsigned int mask) { mResolveStageFlags |= mask; }
115 void removeResolveStageMask(
unsigned int mask) { mResolveStageFlags &= ~mask; }
121 virtual bool resolveParameters(ProgramSet* programSet);
122 virtual bool resolveDependencies(ProgramSet* programSet);
123 virtual bool addFunctionInvocations(ProgramSet* programSet);
144 unsigned int mResolveStageFlags;
159 virtual const String& getType()
const;
164 virtual SubRenderState* createInstance(ScriptCompiler* compiler, PropertyAbstractNode* prop, Pass* pass, SGScriptTranslator* translator);
169 virtual void writeInstance(MaterialSerializer* ser, SubRenderState* subRenderState, Pass* srcPass, Pass* dstPass);
177 virtual SubRenderState* createInstanceImpl();
SharedPtr< Parameter > ParameterPtr