27 #ifndef _ShaderExTriplanarTexturing_
28 #define _ShaderExTriplanarTexturing_
31 #ifdef RTSHADER_SYSTEM_BUILD_EXT_SHADERS
35 #define SGX_FUNC_TRIPLANAR_TEXTURING "SGX_TriplanarTexturing"
98 ushort mTextureSamplerIndexFromX;
104 ushort mTextureSamplerIndexFromY;
110 ushort mTextureSamplerIndexFromZ;
115 virtual bool resolveParameters(ProgramSet* programSet);
120 virtual bool resolveDependencies(ProgramSet* programSet);
125 virtual bool addFunctionInvocations(ProgramSet* programSet);
136 virtual void setParameters(
const Vector3 ¶meters);
146 virtual void setTextureNames(
const String &textureNameFromX,
const String &textureNameFromY,
const String &textureNameFromZ);
151 virtual const String& getType()
const;
156 virtual int getExecutionOrder()
const;
161 virtual bool preAddToRenderState (
const RenderState* renderState, Pass* srcPass, Pass* dstPass);
166 virtual void copyFrom(
const SubRenderState& rhs);
171 virtual void updateGpuProgramsParams(Renderable* rend, Pass* pass,
const AutoParamDataSource* source,
const LightList* pLightList);
180 class _OgreRTSSExport TriplanarTexturingFactory :
public SubRenderStateFactory
187 virtual const String& getType()
const;
192 virtual SubRenderState* createInstance(ScriptCompiler* compiler, PropertyAbstractNode* prop, Pass* pass, SGScriptTranslator* translator);
199 virtual SubRenderState* createInstanceImpl();
HashedVector< Light * > LightList
SharedPtr< Parameter > ParameterPtr
SharedPtr< UniformParameter > UniformParameterPtr