|  | 
|  | Material (Context *context) | 
|  | Construct. 
 | 
|  | 
|  | ~Material () override | 
|  | Destruct. 
 | 
|  | 
| bool | BeginLoad (Deserializer &source) override | 
|  | Load resource from stream. May be called from a worker thread. Return true if successful. 
 | 
|  | 
| bool | EndLoad () override | 
|  | Finish resource loading. Always called from the main thread. Return true if successful. 
 | 
|  | 
| bool | Save (Serializer &dest) const override | 
|  | Save resource. Return true if successful. 
 | 
|  | 
| bool | Load (const XMLElement &source) | 
|  | Load from an XML element. Return true if successful. 
 | 
|  | 
| bool | Save (XMLElement &dest) const | 
|  | Save to an XML element. Return true if successful. 
 | 
|  | 
| bool | Load (const JSONValue &source) | 
|  | Load from a JSON value. Return true if successful. 
 | 
|  | 
| bool | Save (JSONValue &dest) const | 
|  | Save to a JSON value. Return true if successful. 
 | 
|  | 
| void | SetNumTechniques (unsigned num) | 
|  | 
| void | SetTechnique (unsigned index, Technique *tech, MaterialQuality qualityLevel=QUALITY_LOW, float lodDistance=0.0f) | 
|  | Set technique. 
 | 
|  | 
| void | SetVertexShaderDefines (const String &defines) | 
|  | 
| void | SetPixelShaderDefines (const String &defines) | 
|  | 
| void | SetShaderParameter (const String &name, const Variant &value) | 
|  | 
| void | SetShaderParameterAnimation (const String &name, ValueAnimation *animation, WrapMode wrapMode=WM_LOOP, float speed=1.0f) | 
|  | Set shader parameter animation. 
 | 
|  | 
| void | SetShaderParameterAnimationWrapMode (const String &name, WrapMode wrapMode) | 
|  | Set shader parameter animation wrap mode. 
 | 
|  | 
| void | SetShaderParameterAnimationSpeed (const String &name, float speed) | 
|  | Set shader parameter animation speed. 
 | 
|  | 
| void | SetTexture (TextureUnit unit, Texture *texture) | 
|  | 
| void | SetUVTransform (const Vector2 &offset, float rotation, const Vector2 &repeat) | 
|  | Set texture coordinate transform. 
 | 
|  | 
| void | SetUVTransform (const Vector2 &offset, float rotation, float repeat) | 
|  | Set texture coordinate transform. 
 | 
|  | 
| void | SetCullMode (CullMode mode) | 
|  | 
| void | SetShadowCullMode (CullMode mode) | 
|  | 
| void | SetFillMode (FillMode mode) | 
|  | 
| void | SetDepthBias (const BiasParameters ¶meters) | 
|  | 
| void | SetAlphaToCoverage (bool enable) | 
|  | 
| void | SetLineAntiAlias (bool enable) | 
|  | 
| void | SetRenderOrder (unsigned char order) | 
|  | 
| void | SetOcclusion (bool enable) | 
|  | 
| void | SetScene (Scene *scene) | 
|  | 
| void | RemoveShaderParameter (const String &name) | 
|  | Remove shader parameter. 
 | 
|  | 
| void | ReleaseShaders () | 
|  | Reset all shader pointers. 
 | 
|  | 
| SharedPtr< Material > | Clone (const String &cloneName=String::EMPTY) const | 
|  | Clone the material. 
 | 
|  | 
| void | SortTechniques () | 
|  | Ensure that material techniques are listed in correct order. 
 | 
|  | 
| void | MarkForAuxView (unsigned frameNumber) | 
|  | Mark material for auxiliary view rendering. 
 | 
|  | 
| unsigned | GetNumTechniques () const | 
|  | 
| const Vector< TechniqueEntry > & | GetTechniques () const | 
|  | Return all techniques. 
 | 
|  | 
| const TechniqueEntry & | GetTechniqueEntry (unsigned index) const | 
|  | Return technique entry by index. 
 | 
|  | 
| Technique * | GetTechnique (unsigned index) const | 
|  | 
| Pass * | GetPass (unsigned index, const String &passName) const | 
|  | Return pass by technique index and pass name. 
 | 
|  | 
| Texture * | GetTexture (TextureUnit unit) const | 
|  | 
| const HashMap< TextureUnit, SharedPtr< Texture > > & | GetTextures () const | 
|  | Return all textures. 
 | 
|  | 
| const String & | GetVertexShaderDefines () const | 
|  | 
| const String & | GetPixelShaderDefines () const | 
|  | 
| const Variant & | GetShaderParameter (const String &name) const | 
|  | 
| ValueAnimation * | GetShaderParameterAnimation (const String &name) const | 
|  | Return shader parameter animation. 
 | 
|  | 
| WrapMode | GetShaderParameterAnimationWrapMode (const String &name) const | 
|  | Return shader parameter animation wrap mode. 
 | 
|  | 
| float | GetShaderParameterAnimationSpeed (const String &name) const | 
|  | Return shader parameter animation speed. 
 | 
|  | 
| const HashMap< StringHash, MaterialShaderParameter > & | GetShaderParameters () const | 
|  | Return all shader parameters. 
 | 
|  | 
| CullMode | GetCullMode () const | 
|  | 
| CullMode | GetShadowCullMode () const | 
|  | 
| FillMode | GetFillMode () const | 
|  | 
| const BiasParameters & | GetDepthBias () const | 
|  | 
| bool | GetAlphaToCoverage () const | 
|  | 
| bool | GetLineAntiAlias () const | 
|  | 
| unsigned char | GetRenderOrder () const | 
|  | 
| unsigned | GetAuxViewFrameNumber () const | 
|  | Return last auxiliary view rendered frame number. 
 | 
|  | 
| bool | GetOcclusion () const | 
|  | 
| bool | GetSpecular () const | 
|  | Return whether should render specular. 
 | 
|  | 
| Scene * | GetScene () const | 
|  | 
| unsigned | GetShaderParameterHash () const | 
|  | Return shader parameter hash value. Used as an optimization to avoid setting shader parameters unnecessarily. 
 | 
|  | 
| bool | Load (Deserializer &source) | 
|  | Load resource synchronously. Call both BeginLoad() & EndLoad() and return true if both succeeded. 
 | 
|  | 
|  | Resource (Context *context) | 
|  | Construct. 
 | 
|  | 
| bool | Load (Deserializer &source) | 
|  | Load resource synchronously. Call both BeginLoad() & EndLoad() and return true if both succeeded. 
 | 
|  | 
| bool | LoadFile (const String &fileName) | 
|  | 
| virtual bool | SaveFile (const String &fileName) const | 
|  | 
| void | SetName (const String &name) | 
|  | 
| void | SetMemoryUse (unsigned size) | 
|  | Set memory use in bytes, possibly approximate. 
 | 
|  | 
| void | ResetUseTimer () | 
|  | Reset last used timer. 
 | 
|  | 
| void | SetAsyncLoadState (AsyncLoadState newState) | 
|  | Set the asynchronous loading state. Called by ResourceCache. Resources in the middle of asynchronous loading are not normally returned to user. 
 | 
|  | 
| const String & | GetName () const | 
|  | 
| StringHash | GetNameHash () const | 
|  | Return name hash. 
 | 
|  | 
| unsigned | GetMemoryUse () const | 
|  | 
| unsigned | GetUseTimer () | 
|  | 
| AsyncLoadState | GetAsyncLoadState () const | 
|  | Return the asynchronous loading state. 
 | 
|  | 
|  | Object (Context *context) | 
|  | Construct. 
 | 
|  | 
|  | ~Object () override | 
|  | Destruct. Clean up self from event sender & receiver structures. 
 | 
|  | 
| virtual StringHash | GetType () const =0 | 
|  | 
| virtual const String & | GetTypeName () const =0 | 
|  | 
| virtual const TypeInfo * | GetTypeInfo () const =0 | 
|  | Return type info. 
 | 
|  | 
| virtual void | OnEvent (Object *sender, StringHash eventType, VariantMap &eventData) | 
|  | Handle event. 
 | 
|  | 
| bool | IsInstanceOf (StringHash type) const | 
|  | Check current instance is type of specified type. 
 | 
|  | 
| bool | IsInstanceOf (const TypeInfo *typeInfo) const | 
|  | Check current instance is type of specified type. 
 | 
|  | 
| template<typename T > | 
| bool | IsInstanceOf () const | 
|  | Check current instance is type of specified class. 
 | 
|  | 
| template<typename T > | 
| T * | Cast () | 
|  | Cast the object to specified most derived class. 
 | 
|  | 
| template<typename T > | 
| const T * | Cast () const | 
|  | Cast the object to specified most derived class. 
 | 
|  | 
| void | SubscribeToEvent (StringHash eventType, EventHandler *handler) | 
|  | Subscribe to an event that can be sent by any sender. 
 | 
|  | 
| void | SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler) | 
|  | Subscribe to a specific sender's event. 
 | 
|  | 
| void | SubscribeToEvent (StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) | 
|  | Subscribe to an event that can be sent by any sender. 
 | 
|  | 
| void | SubscribeToEvent (Object *sender, StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) | 
|  | Subscribe to a specific sender's event. 
 | 
|  | 
| void | UnsubscribeFromEvent (StringHash eventType) | 
|  | Unsubscribe from an event. 
 | 
|  | 
| void | UnsubscribeFromEvent (Object *sender, StringHash eventType) | 
|  | Unsubscribe from a specific sender's event. 
 | 
|  | 
| void | UnsubscribeFromEvents (Object *sender) | 
|  | Unsubscribe from a specific sender's events. 
 | 
|  | 
| void | UnsubscribeFromAllEvents () | 
|  | Unsubscribe from all events. 
 | 
|  | 
| void | UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData) | 
|  | Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events). 
 | 
|  | 
| void | SendEvent (StringHash eventType) | 
|  | Send event to all subscribers. 
 | 
|  | 
| void | SendEvent (StringHash eventType, VariantMap &eventData) | 
|  | Send event with parameters to all subscribers. 
 | 
|  | 
| VariantMap & | GetEventDataMap () const | 
|  | Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps. 
 | 
|  | 
| template<typename... Args> | 
| void | SendEvent (StringHash eventType, Args... args) | 
|  | Send event with variadic parameter pairs to all subscribers. The parameter pairs is a list of paramID and paramValue separated by comma, one pair after another. 
 | 
|  | 
| Context * | GetContext () const | 
|  | Return execution context. 
 | 
|  | 
| const Variant & | GetGlobalVar (StringHash key) const | 
|  | 
| const VariantMap & | GetGlobalVars () const | 
|  | 
| void | SetGlobalVar (StringHash key, const Variant &value) | 
|  | 
| Object * | GetSubsystem (StringHash type) const | 
|  | Return subsystem by type. 
 | 
|  | 
| Object * | GetEventSender () const | 
|  | Return active event sender. Null outside event handling. 
 | 
|  | 
| EventHandler * | GetEventHandler () const | 
|  | Return active event handler. Null outside event handling. 
 | 
|  | 
| bool | HasSubscribedToEvent (StringHash eventType) const | 
|  | Return whether has subscribed to an event without specific sender. 
 | 
|  | 
| bool | HasSubscribedToEvent (Object *sender, StringHash eventType) const | 
|  | Return whether has subscribed to a specific sender's event. 
 | 
|  | 
| bool | HasEventHandlers () const | 
|  | Return whether has subscribed to any event. 
 | 
|  | 
| template<class T > | 
| T * | GetSubsystem () const | 
|  | Template version of returning a subsystem. 
 | 
|  | 
| const String & | GetCategory () const | 
|  | 
| void | SetBlockEvents (bool block) | 
|  | Block object from sending and receiving events. 
 | 
|  | 
| bool | GetBlockEvents () const | 
|  | Return sending and receiving events blocking status. 
 | 
|  | 
|  | RefCounted () | 
|  | Construct. Allocate the reference count structure and set an initial self weak reference. 
 | 
|  | 
| virtual | ~RefCounted () | 
|  | Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist. 
 | 
|  | 
|  | RefCounted (const RefCounted &rhs)=delete | 
|  | Prevent copy construction. 
 | 
|  | 
| RefCounted & | operator= (const RefCounted &rhs)=delete | 
|  | Prevent assignment. 
 | 
|  | 
| void | AddRef () | 
|  | 
| void | ReleaseRef () | 
|  | 
| int | Refs () const | 
|  | 
| int | WeakRefs () const | 
|  | 
| RefCount * | RefCountPtr () | 
|  | Return pointer to the reference count structure. 
 | 
|  | 
Describes how to render 3D geometries.