/******************************************************** * BasicEffect.h * * * * XFX::Graphics::BasicEffect definition file * * Copyright © XFX Team. All Rights Reserved * ********************************************************/ #ifndef _XFX_GRAPHICS_BASICEFFECT_ #define _XFX_GRAPHICS_BASICEFFECT_ #include namespace XFX { struct Matrix; struct Vector3; namespace Graphics { class DirectionalLight; class GraphicsDevice; class Texture2D; // Contains a basic rendering effect. class BasicEffect : public Effect { private: int dirtyFlags; protected: BasicEffect(BasicEffect const * const cloneSource); void OnApply(); public: float Alpha; Vector3 AmbientLightColor; Vector3 DiffuseColor; DirectionalLight* getDirectionalLight0() const; DirectionalLight* getDirectionalLight1() const; DirectionalLight* getDirectionalLight2() const; Vector3 EmissiveColor; Vector3 FogColor; bool FogEnabled; float FogEnd; float FogStart; bool LightingEnabled; bool PreferPerPixelLighting; Matrix Projection; Vector3 SpecularColor; float SpecularPower; Texture2D* Texture; bool TextureEnabled; bool VertexColorEnabled; Matrix View; Matrix World; BasicEffect(GraphicsDevice * const device); ~BasicEffect(); Effect* Clone() const; void EnableDefaultLighting(); int GetType() const; }; } } #endif //_XFX_GRAPHICS_BASICEFFECT_