28 #ifndef __FixedFuncEmuShaderManager_H__
29 #define __FixedFuncEmuShaderManager_H__
38 class FixedFuncEmuShaderGenerator;
40 class FixedFuncPrograms
42 #ifdef OGRE_DEBUG_MODE
66 class FixedFuncProgramsParameters
GpuProgramUsage * getVertexProgramUsage() const
map< FixedFuncState, VertexBufferDeclaration2FixedFuncProgramsMap >::type State2Declaration2ProgramsMap
const TextureMatrixVector & getTextureMatrices() const
FixedFuncProgramsParameters()
void setFogStart(const Real val)
const ColourValue & getLightAmbient() const
Class encapsulating a standard 4x4 homogeneous matrix.
float Real
Software floating point type.
vector< bool >::type TextureEnabledVector
const ColourValue getFogColour() const
GpuProgramUsage * mVertexProgramUsage
void setFixedFuncState(const FixedFuncState &val)
map< String, FixedFuncEmuShaderGenerator * >::type FixedFuncEmuShaderGeneratorMap
void setFogDensitiy(const Real val)
Class representing colour.
const LightList & getLights() const
GpuProgramType
Enumerates the types of programs which can run on the GPU.
void unregisterGenerator(FixedFuncEmuShaderGenerator *generator)
const FogMode getFogMode() const
void _setProgramMatrix4Parameter(const GpuProgramType type, const String paramName, const Matrix4 &value)
SharedPtr< GpuProgramParameters > GpuProgramParametersSharedPtr
Shared pointer used to hold references to GpuProgramParameters instances.
void registerGenerator(FixedFuncEmuShaderGenerator *generator)
virtual ~FixedFuncEmuShaderManager()
void _setProgramParameter(const GpuProgramType type, const String paramName, const void *value, const size_t sizeInBytes)
void setFogMode(const FogMode val)
const FixedFuncState & getFixedFuncState() const
void setTextureEnabled(const size_t index, const bool val)
void _setProgramFloatParameter(const GpuProgramType type, const String paramName, const float &value)
void setFragmentProgramUsage(GpuProgramUsage *val)
GpuProgramParametersSharedPtr mVertexProgramParameters
const bool getLightingEnabled() const
const Real getFogEnd() const
FixedFuncPrograms * _createShaderPrograms(const String &generatorName, const VertexBufferDeclaration &vertexBufferDeclaration, FixedFuncState &fixedFuncState)
void setFogEnd(const Real val)
void setProjectionMat(const Matrix4 &val)
~FixedFuncProgramsParameters()
bool isTextureStageEnabled(const size_t index) const
FixedFuncPrograms * getShaderPrograms(const String &generatorName, const VertexBufferDeclaration &vertexBufferDeclaration, FixedFuncState &fixedFuncState)
void setWorldMat(const Matrix4 &val)
const Real getFogStart() const
FixedFuncEmuShaderManager()
map< String, State2Declaration2ProgramsMap >::type Language2State2Declaration2ProgramsMap
void setFogColour(const ColourValue val)
void setLightingEnabled(const bool val)
void _setProgramColorParameter(const GpuProgramType type, const String paramName, const ColourValue &value)
Class defining a fixed function state.
GpuProgramUsage * getFragmentProgramUsage() const
virtual ~FixedFuncPrograms()
const Real getFogDensitiy() const
This class makes the usage of a vertex and fragment programs (low-level or high-level), with a given set of parameters, explicit.
Language2State2Declaration2ProgramsMap mLanguage2State2Declaration2ProgramsMap
map< VertexBufferDeclaration, FixedFuncPrograms * >::type VertexBufferDeclaration2FixedFuncProgramsMap
void setViewMat(const Matrix4 &val)
const Matrix4 & getViewMat() const
void setVertexProgramUsage(GpuProgramUsage *val)
void _setProgramintParameter(const GpuProgramType type, const String paramName, const int &value)
std::map< K, V, P, A > type
void setLights(const LightList &val)
const Matrix4 & getWorldMat() const
vector< Matrix4 >::type TextureMatrixVector
FixedFuncEmuShaderGeneratorMap mFixedFuncEmuShaderGeneratorMap
const Matrix4 & getProjectionMat() const
GpuProgramParametersSharedPtr mFragmentProgramParameters
void setTextureMatrix(const size_t index, const Matrix4 &val)
GpuProgramUsage * mFragmentProgramUsage
GpuProgramParametersSharedPtr & getVertexProgramUsageParameters()
TextureMatrixVector mTextureMatrices
void _updateParameter(GpuProgramParametersSharedPtr &programParameters, const String paramName, const void *value, const size_t sizeInBytes)
TextureEnabledVector mTextureEnabledVector
void _setProgramVector3Parameter(const GpuProgramType type, const String paramName, const Vector3 &value)
GpuProgramParametersSharedPtr & getFragmentProgramUsageParameters()
ColourValue mLightAmbient
void setLightAmbient(const ColourValue val)
virtual void setFixedFuncProgramsParameters(const FixedFuncProgramsParameters &val)=0
FixedFuncState mFixedFuncState
vector< FixedFuncPrograms * >::type mProgramsToDeleteAtTheEnd