\hypertarget{class_ogre_1_1_material_manager}{}\section{Ogre\+:\+:Material\+Manager Class Reference}
\label{class_ogre_1_1_material_manager}\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}


Class for managing \hyperlink{class_ogre_1_1_material}{Material} settings for \hyperlink{namespace_ogre}{Ogre}.  




{\ttfamily \#include $<$Ogre\+Material\+Manager.\+h$>$}



Inheritance diagram for Ogre\+:\+:Material\+Manager\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_ogre_1_1_material_manager__inherit__graph}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{class_ogre_1_1_material_manager_1_1_listener}{Listener}
\begin{DoxyCompactList}\small\item\em \hyperlink{class_ogre_1_1_material_manager_1_1_listener}{Listener} on any general material events. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef std\+::pair$<$ \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}, bool $>$ \hyperlink{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}{Resource\+Create\+Or\+Retrieve\+Result}
\item 
typedef std\+::map$<$ \hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}, \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} $>$ \hyperlink{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}{Resource\+Handle\+Map}
\item 
typedef std\+::unordered\+\_\+map$<$ \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}, \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} $>$ \hyperlink{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}{Resource\+Map}
\item 
typedef \hyperlink{class_ogre_1_1_map_iterator}{Map\+Iterator}$<$ \hyperlink{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}{Resource\+Handle\+Map} $>$ \hyperlink{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}{Resource\+Map\+Iterator}
\item 
typedef std\+::unordered\+\_\+map$<$ \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}, \hyperlink{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}{Resource\+Map} $>$ \hyperlink{class_ogre_1_1_resource_manager_a31a40854bf7ade620d6632550f2c474b}{Resource\+With\+Group\+Map}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_material_manager_aef0e85acfedd02d09bc78829607725b9}{Material\+Manager} ()
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
virtual \hyperlink{class_ogre_1_1_material_manager_aabb8080830988a13ac1ee7fa12898e39}{$\sim$\+Material\+Manager} ()
\begin{DoxyCompactList}\small\item\em Default destructor. \end{DoxyCompactList}\item 
virtual \hyperlink{class_ogre_1_1_technique}{Technique} $\ast$ \hyperlink{class_ogre_1_1_material_manager_a94dd6caf97604ba7ce310dd8f22dcb96}{\+\_\+arbitrate\+Missing\+Technique\+For\+Active\+Scheme} (\hyperlink{class_ogre_1_1_material}{Material} $\ast$mat, unsigned short lod\+Index, const \hyperlink{class_ogre_1_1_renderable}{Renderable} $\ast$rend)
\begin{DoxyCompactList}\small\item\em Internal method for sorting out missing technique for a scheme. \end{DoxyCompactList}\item 
virtual unsigned short \hyperlink{class_ogre_1_1_material_manager_a0c19cf09d58d3d2c327039faff0c1df4}{\+\_\+get\+Active\+Scheme\+Index} (void) const
\begin{DoxyCompactList}\small\item\em Internal method -\/ returns the active scheme index. \end{DoxyCompactList}\item 
virtual unsigned short \hyperlink{class_ogre_1_1_material_manager_aea9231e6fc04369c0440b16c65c8bb69}{\+\_\+get\+Scheme\+Index} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name)
\begin{DoxyCompactList}\small\item\em Internal method -\/ returns index for a given material scheme name. \end{DoxyCompactList}\item 
virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_material_manager_a3e444d262c470c29153ec9ccf9c68668}{\+\_\+get\+Scheme\+Name} (unsigned short index)
\begin{DoxyCompactList}\small\item\em Internal method -\/ returns name for a given material scheme index. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_manager_ac1c82898c82556003eb8314aea1a0a3c}{\+\_\+notify\+After\+Illumination\+Passes\+Created} (\hyperlink{class_ogre_1_1_technique}{Technique} $\ast$mat)
\begin{DoxyCompactList}\small\item\em Internal method for sorting out illumination passes for a scheme. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_manager_a8b2aa864d83fe5e423c3ebd4f2295b63}{\+\_\+notify\+Before\+Illumination\+Passes\+Cleared} (\hyperlink{class_ogre_1_1_technique}{Technique} $\ast$mat)
\begin{DoxyCompactList}\small\item\em Internal method for sorting out illumination passes for a scheme. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_manager_af1a871ac005af0be0b8c1857a4f8eea9}{\+\_\+notify\+Resource\+Loaded} (\hyperlink{class_ogre_1_1_resource}{Resource} $\ast$res)
\begin{DoxyCompactList}\small\item\em Notify this manager that a resource which it manages has been loaded. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_manager_a40769092850d5b296e1d1a9190631700}{\+\_\+notify\+Resource\+Touched} (\hyperlink{class_ogre_1_1_resource}{Resource} $\ast$res)
\begin{DoxyCompactList}\small\item\em Notify this manager that a resource which it manages has been \textquotesingle{}touched\textquotesingle{}, i.\+e. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_manager_a54d1843a43aebb13542312cd17134e6a}{\+\_\+notify\+Resource\+Unloaded} (\hyperlink{class_ogre_1_1_resource}{Resource} $\ast$res)
\begin{DoxyCompactList}\small\item\em Notify this manager that a resource which it manages has been unloaded. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_manager_a8ac18f4bd2e6302f1d92ae8f64195694}{add\+Listener} (\hyperlink{class_ogre_1_1_material_manager_1_1_listener}{Listener} $\ast$l, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&scheme\+Name=\hyperlink{group___general_gad842a4b416bd2f3245d2b44826a0aedc}{B\+L\+A\+N\+K\+S\+T\+R\+I\+NG})
\begin{DoxyCompactList}\small\item\em Add a listener to handle material events. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \hyperlink{class_ogre_1_1_material_manager_a3068599a5b10421e6203d568006f5f93}{create} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group, bool is\+Manual=false, \hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$loader=0, const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$create\+Params=0)
\begin{DoxyCompactList}\small\item\em Create a new material. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}{Resource\+Create\+Or\+Retrieve\+Result} \hyperlink{class_ogre_1_1_resource_manager_ac3f365e1d71fbe328637a681171d7acd}{create\+Or\+Retrieve} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group, bool is\+Manual=false, \hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$loader=0, const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$create\+Params=0)
\begin{DoxyCompactList}\small\item\em Create a new resource, or retrieve an existing one with the same name if it already exists. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} \hyperlink{class_ogre_1_1_resource_manager_a700088a63eabb0f6cb1fac96686db464}{create\+Resource} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group, bool is\+Manual=false, \hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$loader=0, const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$create\+Params=0)
\begin{DoxyCompactList}\small\item\em Creates a new blank resource, but does not immediately load it. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_a7913c36c02ef03007ff1a1c76ddf7710}{destroy\+All\+Resource\+Pools} ()
\begin{DoxyCompactList}\small\item\em destroy all pools \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_aa8b761abb06d74347e9636550307ccd9}{destroy\+Resource\+Pool} (\hyperlink{class_ogre_1_1_resource_manager_1_1_resource_pool}{Resource\+Pool} $\ast$pool)
\begin{DoxyCompactList}\small\item\em Destroy a resource pool. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_a00a7fe59aaaa4acdfda07edc704516ee}{destroy\+Resource\+Pool} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name)
\begin{DoxyCompactList}\small\item\em Destroy a resource pool. \end{DoxyCompactList}\item 
virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_material_manager_ad03ea02e140fc1e7312d14626e59d45d}{get\+Active\+Scheme} (void) const
\begin{DoxyCompactList}\small\item\em Returns the name of the active material scheme. \end{DoxyCompactList}\item 
virtual \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} \hyperlink{class_ogre_1_1_resource_manager_ab1c354fd2294c7c50b3f3e9ce42543f7}{get\+By\+Handle} (\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle} handle)
\begin{DoxyCompactList}\small\item\em Retrieves a pointer to a resource by handle, or null if the resource does not exist. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \hyperlink{class_ogre_1_1_material_manager_a8effa67ee128c4edecb7db1c3a318bf7}{get\+By\+Name} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group\+Name=\hyperlink{class_ogre_1_1_resource_group_manager_a2a3698b4303d782938455e649b2e22a2}{Resource\+Group\+Manager\+::\+A\+U\+T\+O\+D\+E\+T\+E\+C\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME})
\begin{DoxyCompactList}\small\item\em Get a resource by name. \end{DoxyCompactList}\item 
unsigned int \hyperlink{class_ogre_1_1_material_manager_a98dbe09017e4a6f18dbe774c9c6a58ce}{get\+Default\+Anisotropy} () const
\begin{DoxyCompactList}\small\item\em Get the default max\+Anisotropy. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \hyperlink{class_ogre_1_1_material_manager_a62274c30f4665856b238a1cd6e4badb4}{get\+Default\+Material} (bool use\+Lighting=true)
\begin{DoxyCompactList}\small\item\em Get a default material that is always available even when no resources were loaded. \end{DoxyCompactList}\item 
virtual \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \hyperlink{class_ogre_1_1_material_manager_ac70230fa9f123976d7f2b1257bd94bd4}{get\+Default\+Settings} (void) const
\begin{DoxyCompactList}\small\item\em Returns a pointer to the default \hyperlink{class_ogre_1_1_material}{Material} settings. \end{DoxyCompactList}\item 
virtual \hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options} \hyperlink{class_ogre_1_1_material_manager_af539c96100f246db31f8135aee5d15aa}{get\+Default\+Texture\+Filtering} (\hyperlink{group___general_gac1fc36ec2f4df4b2afa9fa39f9c66c06}{Filter\+Type} ftype) const
\begin{DoxyCompactList}\small\item\em Get the default texture filtering. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_resource_manager_a3ae7c3ae5494fc088fa8a17e736fef6b}{get\+Loading\+Order} (void) const
\begin{DoxyCompactList}\small\item\em Gets the relative loading order of resources of this type. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_resource_manager_abd807a5a8f5754af45fc60db40b455d5}{get\+Memory\+Budget} (void) const
\begin{DoxyCompactList}\small\item\em Get the limit on the amount of memory this resource handler may use. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_resource_manager_ac401b57afcc205728a3821065aef6238}{get\+Memory\+Usage} (void) const
\begin{DoxyCompactList}\small\item\em Gets the current memory usage, in bytes. \end{DoxyCompactList}\item 
virtual \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} \hyperlink{class_ogre_1_1_resource_manager_a735d1109ace47edb7a1cf6d32c14e141}{get\+Resource\+By\+Name} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group\+Name=\hyperlink{class_ogre_1_1_resource_group_manager_a3c7d7dc6bb59e43db49e77cd3d8a44c4}{Resource\+Group\+Manager\+::\+D\+E\+F\+A\+U\+L\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME})
\begin{DoxyCompactList}\small\item\em Retrieves a pointer to a resource by name, or null if the resource does not exist. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}{Resource\+Map\+Iterator} \hyperlink{class_ogre_1_1_resource_manager_a4d3289d4636168230da11c1c9794db59}{get\+Resource\+Iterator} (void)
\begin{DoxyCompactList}\small\item\em Returns an iterator over all resources in this manager. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_resource_manager_1_1_resource_pool}{Resource\+Pool} $\ast$ \hyperlink{class_ogre_1_1_resource_manager_ad18cc3f0a4b3e0553cfe715204f15359}{get\+Resource\+Pool} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name)
\begin{DoxyCompactList}\small\item\em Create a resource pool, or reuse one that already exists. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_resource_manager_abc20acc2d57fd224b218a07d802e8c1a}{get\+Resource\+Type} (void) const
\begin{DoxyCompactList}\small\item\em Gets a string identifying the type of resource this manager handles. \end{DoxyCompactList}\item 
const \hyperlink{group___general_ga783e5227595f351519627abfb740ec85}{String\+Vector} \& \hyperlink{class_ogre_1_1_resource_manager_a356d42e699011a2d86770c9b3ee55e6d}{get\+Script\+Patterns} (void) const
\begin{DoxyCompactList}\small\item\em Gets the file patterns which should be used to find scripts for this \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_resource_manager_ae071093e2681923ddf1d661087b44e4d}{get\+Verbose} (void)
\begin{DoxyCompactList}\small\item\em Gets whether this manager and its resources habitually produce log output. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_material_manager_a39d14d6f640b2dd089a16a9c0b149222}{initialise} (void)
\begin{DoxyCompactList}\small\item\em Initialises the material manager, which also triggers it to parse all available .program and .material scripts. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} \hyperlink{class_ogre_1_1_resource_manager_a379c3ff20c97fcd13db3bc7841b4b560}{load} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group, bool is\+Manual=false, \hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$loader=0, const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$load\+Params=0, bool background\+Thread=false)
\begin{DoxyCompactList}\small\item\em Generic load method, used to create a \hyperlink{class_ogre_1_1_resource}{Resource} specific to this \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} without using one of the specialised \textquotesingle{}load\textquotesingle{} methods (containing per-\/\+Resource-\/type parameters). \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_material_manager_a7e3d13469f80b5814e20f9f959384119}{parse\+Script} (\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&stream, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group\+Name)
\item 
\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} \hyperlink{class_ogre_1_1_resource_manager_a4350b30d83790f208a9fdd1197ce9c95}{prepare} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group, bool is\+Manual=false, \hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$loader=0, const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$load\+Params=0, bool background\+Thread=false)
\begin{DoxyCompactList}\small\item\em Generic prepare method, used to create a \hyperlink{class_ogre_1_1_resource}{Resource} specific to this \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} without using one of the specialised \textquotesingle{}prepare\textquotesingle{} methods (containing per-\/\+Resource-\/type parameters). \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_aa9608544a7beb1b0e43835877ab62788}{reload\+All} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Caused all currently loaded resources to be reloaded. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_manager_a84e25cc5ad09ff7567d1fed7429433a3}{reload\+All} (\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags} flags)
\begin{DoxyCompactList}\small\item\em Caused all currently loaded resources to be reloaded. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_a4dda8323b265a00638dd29a4fa6510bc}{reload\+Unreferenced\+Resources} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Caused all currently loaded but not referenced by any other object resources to be reloaded. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_a257ae8a9ac7538581173b7ddcf7b3f19}{remove} (const \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} \&r)
\begin{DoxyCompactList}\small\item\em Remove a single resource. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_a21344fefa1d01e03fdc0093018b7690f}{remove} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group=\hyperlink{class_ogre_1_1_resource_group_manager_a3c7d7dc6bb59e43db49e77cd3d8a44c4}{Resource\+Group\+Manager\+::\+D\+E\+F\+A\+U\+L\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME})
\item 
void \hyperlink{class_ogre_1_1_resource_manager_a6871e913a62e1b419438e3169bc72bd3}{remove} (\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle} handle)
\item 
virtual void \hyperlink{class_ogre_1_1_resource_manager_a6ff50fee06a678837cbeeea75e4372a5}{remove\+All} (void)
\begin{DoxyCompactList}\small\item\em Removes all resources. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_manager_a8d14d2e8450b0886c6b72c9996200b17}{remove\+Listener} (\hyperlink{class_ogre_1_1_material_manager_1_1_listener}{Listener} $\ast$l, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&scheme\+Name=\hyperlink{group___general_gad842a4b416bd2f3245d2b44826a0aedc}{B\+L\+A\+N\+K\+S\+T\+R\+I\+NG})
\begin{DoxyCompactList}\small\item\em Remove a listener handling material events. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_manager_a6ce966e769770ce9f90d77eddc2c30a3}{remove\+Unreferenced\+Resources} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Remove all resources which are not referenced by any other object. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_resource_manager_a586351b1eed6a528c99e4d66b248c08b}{resource\+Exists} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group=\hyperlink{class_ogre_1_1_resource_group_manager_a3c7d7dc6bb59e43db49e77cd3d8a44c4}{Resource\+Group\+Manager\+::\+D\+E\+F\+A\+U\+L\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME})
\begin{DoxyCompactList}\small\item\em Returns whether the named resource exists in this manager. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_resource_manager_a6a58b96feb67c25e123ccc3b287fcd2c}{resource\+Exists} (\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle} handle)
\begin{DoxyCompactList}\small\item\em Returns whether a resource with the given handle exists in this manager. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_manager_a95decc3900f547bb68b74ba28d3013e0}{set\+Active\+Scheme} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&scheme\+Name)
\begin{DoxyCompactList}\small\item\em Sets the name of the active material scheme. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_material_manager_a1441e706797bc1e791460b01432aa940}{set\+Default\+Anisotropy} (unsigned int max\+Aniso)
\begin{DoxyCompactList}\small\item\em Sets the default anisotropy level to be used for loaded textures, for when textures are loaded automatically (e.\+g. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_manager_a9626875e139f48903af4674b6e555125}{set\+Default\+Texture\+Filtering} (\hyperlink{group___general_ga21a0186392e9c9ce16d29c5568a773c5}{Texture\+Filter\+Options} fo)
\begin{DoxyCompactList}\small\item\em Sets the default texture filtering to be used for loaded textures, for when textures are loaded automatically (e.\+g. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_manager_a71bf725e4cbc904f4c7495cd92f98202}{set\+Default\+Texture\+Filtering} (\hyperlink{group___general_gac1fc36ec2f4df4b2afa9fa39f9c66c06}{Filter\+Type} ftype, \hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options} opts)
\begin{DoxyCompactList}\small\item\em Sets the default texture filtering to be used for loaded textures, for when textures are loaded automatically (e.\+g. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_material_manager_ade1220f7e605c679356e6975e5e064dd}{set\+Default\+Texture\+Filtering} (\hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options} min\+Filter, \hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options} mag\+Filter, \hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options} mip\+Filter)
\begin{DoxyCompactList}\small\item\em Sets the default texture filtering to be used for loaded textures, for when textures are loaded automatically (e.\+g. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_a532e96fbeac065b4a7866b4302a90618}{set\+Memory\+Budget} (size\+\_\+t bytes)
\begin{DoxyCompactList}\small\item\em Set a limit on the amount of memory this resource handler may use. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_a82b76280229c498b8d66f64b2a848447}{set\+Verbose} (bool v)
\begin{DoxyCompactList}\small\item\em Sets whether this manager and its resources habitually produce log output. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_ae81042ca7b4622594e30158950813e73}{unload} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group=\hyperlink{class_ogre_1_1_resource_group_manager_a3c7d7dc6bb59e43db49e77cd3d8a44c4}{Resource\+Group\+Manager\+::\+D\+E\+F\+A\+U\+L\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME})
\begin{DoxyCompactList}\small\item\em Unloads a single resource by name. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_a2514952116c93b5b5eba051492d2caa9}{unload} (\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle} handle)
\begin{DoxyCompactList}\small\item\em Unloads a single resource by handle. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_a1fe343406d15d5367cfc4f86ba589b55}{unload\+All} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Unloads all resources. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_resource_manager_a93b40c858020f2bbbcebcd4dc72a6321}{unload\+All} (\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags} flags)
\begin{DoxyCompactList}\small\item\em Unloads all resources. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_resource_manager_aeaa1410333b7bcea14b00c360112a528}{unload\+Unreferenced\+Resources} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Unload all resources which are not referenced by any other object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{class_ogre_1_1_material_manager}{Material\+Manager} \& \hyperlink{class_ogre_1_1_material_manager_a100f413d9d2316028e7ae740e5a43161}{get\+Singleton} (void)
\begin{DoxyCompactList}\small\item\em Get the singleton instance. \end{DoxyCompactList}\item 
static \hyperlink{class_ogre_1_1_material_manager}{Material\+Manager} $\ast$ \hyperlink{class_ogre_1_1_material_manager_a17b3b6ea6c91c7713769854606a58889}{get\+Singleton\+Ptr} (void)
\begin{DoxyCompactList}\small\item\em Get the singleton instance. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_resource_manager_abbb523a827bc6ea90d3b5ec80f0cf770}{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX}
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{class_ogre_1_1_material_manager_a290b828b5d44637ee4d247a09ea81bd6}{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+C\+H\+E\+M\+E\+\_\+\+N\+A\+ME}
\begin{DoxyCompactList}\small\item\em Default material scheme. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class for managing \hyperlink{class_ogre_1_1_material}{Material} settings for \hyperlink{namespace_ogre}{Ogre}. 

\begin{DoxyRemark}{Remarks}
Materials control the eventual surface rendering properties of geometry. This class manages the library of materials, dealing with programmatic registrations and lookups, as well as loading predefined \hyperlink{class_ogre_1_1_material}{Material} settings from scripts. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
When loaded from a script, a \hyperlink{class_ogre_1_1_material}{Material} is in an \textquotesingle{}unloaded\textquotesingle{} state and only stores the settings required. It does not at that stage load any textures. This is because the material settings may be loaded \textquotesingle{}en masse\textquotesingle{} from bulk material script files, but only a subset will actually be required. 
\end{DoxyParagraph}
\begin{DoxyParagraph}{}
Because this is a subclass of \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}, any files loaded will be searched for in any path or archive added to the resource paths/archives. See \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} for details. 
\end{DoxyParagraph}
\begin{DoxyParagraph}{}
For a definition of the material script format, see the Tutorials/\+Material\+Script.\+html file. 
\end{DoxyParagraph}


\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}\label{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!Resource\+Create\+Or\+Retrieve\+Result@{Resource\+Create\+Or\+Retrieve\+Result}}
\index{Resource\+Create\+Or\+Retrieve\+Result@{Resource\+Create\+Or\+Retrieve\+Result}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{Resource\+Create\+Or\+Retrieve\+Result}{ResourceCreateOrRetrieveResult}}
{\footnotesize\ttfamily typedef std\+::pair$<$\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}, bool$>$ \hyperlink{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}{Ogre\+::\+Resource\+Manager\+::\+Resource\+Create\+Or\+Retrieve\+Result}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}\label{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!Resource\+Map@{Resource\+Map}}
\index{Resource\+Map@{Resource\+Map}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{Resource\+Map}{ResourceMap}}
{\footnotesize\ttfamily typedef std\+::unordered\+\_\+map$<$ \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}, \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} $>$ \hyperlink{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}{Ogre\+::\+Resource\+Manager\+::\+Resource\+Map}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a31a40854bf7ade620d6632550f2c474b}\label{class_ogre_1_1_resource_manager_a31a40854bf7ade620d6632550f2c474b}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!Resource\+With\+Group\+Map@{Resource\+With\+Group\+Map}}
\index{Resource\+With\+Group\+Map@{Resource\+With\+Group\+Map}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{Resource\+With\+Group\+Map}{ResourceWithGroupMap}}
{\footnotesize\ttfamily typedef std\+::unordered\+\_\+map$<$ \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}, \hyperlink{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}{Resource\+Map} $>$ \hyperlink{class_ogre_1_1_resource_manager_a31a40854bf7ade620d6632550f2c474b}{Ogre\+::\+Resource\+Manager\+::\+Resource\+With\+Group\+Map}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}\label{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!Resource\+Handle\+Map@{Resource\+Handle\+Map}}
\index{Resource\+Handle\+Map@{Resource\+Handle\+Map}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{Resource\+Handle\+Map}{ResourceHandleMap}}
{\footnotesize\ttfamily typedef std\+::map$<$\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}, \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}$>$ \hyperlink{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}{Ogre\+::\+Resource\+Manager\+::\+Resource\+Handle\+Map}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}\label{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!Resource\+Map\+Iterator@{Resource\+Map\+Iterator}}
\index{Resource\+Map\+Iterator@{Resource\+Map\+Iterator}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{Resource\+Map\+Iterator}{ResourceMapIterator}}
{\footnotesize\ttfamily typedef \hyperlink{class_ogre_1_1_map_iterator}{Map\+Iterator}$<$\hyperlink{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}{Resource\+Handle\+Map}$>$ \hyperlink{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}{Ogre\+::\+Resource\+Manager\+::\+Resource\+Map\+Iterator}\hspace{0.3cm}{\ttfamily [inherited]}}



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_aef0e85acfedd02d09bc78829607725b9}\label{class_ogre_1_1_material_manager_aef0e85acfedd02d09bc78829607725b9}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!Material\+Manager@{Material\+Manager}}
\index{Material\+Manager@{Material\+Manager}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{Material\+Manager()}{MaterialManager()}}
{\footnotesize\ttfamily Ogre\+::\+Material\+Manager\+::\+Material\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Default constructor. 

\mbox{\Hypertarget{class_ogre_1_1_material_manager_aabb8080830988a13ac1ee7fa12898e39}\label{class_ogre_1_1_material_manager_aabb8080830988a13ac1ee7fa12898e39}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!````~Material\+Manager@{$\sim$\+Material\+Manager}}
\index{````~Material\+Manager@{$\sim$\+Material\+Manager}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{$\sim$\+Material\+Manager()}{~MaterialManager()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Material\+Manager\+::$\sim$\+Material\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Default destructor. 



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a3068599a5b10421e6203d568006f5f93}\label{class_ogre_1_1_material_manager_a3068599a5b10421e6203d568006f5f93}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!create@{create}}
\index{create@{create}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{create()}{create()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} Ogre\+::\+Material\+Manager\+::create (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$}]{loader = {\ttfamily 0},  }\item[{const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$}]{create\+Params = {\ttfamily 0} }\end{DoxyParamCaption})}



Create a new material. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_manager_a700088a63eabb0f6cb1fac96686db464}{Resource\+Manager\+::create\+Resource} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a8effa67ee128c4edecb7db1c3a318bf7}\label{class_ogre_1_1_material_manager_a8effa67ee128c4edecb7db1c3a318bf7}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+By\+Name@{get\+By\+Name}}
\index{get\+By\+Name@{get\+By\+Name}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+By\+Name()}{getByName()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} Ogre\+::\+Material\+Manager\+::get\+By\+Name (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group\+Name = {\ttfamily \hyperlink{class_ogre_1_1_resource_group_manager_a2a3698b4303d782938455e649b2e22a2}{Resource\+Group\+Manager\+::\+A\+U\+T\+O\+D\+E\+T\+E\+C\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME}} }\end{DoxyParamCaption})}



Get a resource by name. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_manager_a735d1109ace47edb7a1cf6d32c14e141}{Resource\+Manager\+::get\+Resource\+By\+Name} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a62274c30f4665856b238a1cd6e4badb4}\label{class_ogre_1_1_material_manager_a62274c30f4665856b238a1cd6e4badb4}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Default\+Material@{get\+Default\+Material}}
\index{get\+Default\+Material@{get\+Default\+Material}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Default\+Material()}{getDefaultMaterial()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} Ogre\+::\+Material\+Manager\+::get\+Default\+Material (\begin{DoxyParamCaption}\item[{bool}]{use\+Lighting = {\ttfamily true} }\end{DoxyParamCaption})}



Get a default material that is always available even when no resources were loaded. 


\begin{DoxyParams}{Parameters}
{\em use\+Lighting} & whether the material should be lit \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a39d14d6f640b2dd089a16a9c0b149222}\label{class_ogre_1_1_material_manager_a39d14d6f640b2dd089a16a9c0b149222}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!initialise@{initialise}}
\index{initialise@{initialise}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{initialise()}{initialise()}}
{\footnotesize\ttfamily void Ogre\+::\+Material\+Manager\+::initialise (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Initialises the material manager, which also triggers it to parse all available .program and .material scripts. 

\mbox{\Hypertarget{class_ogre_1_1_material_manager_a7e3d13469f80b5814e20f9f959384119}\label{class_ogre_1_1_material_manager_a7e3d13469f80b5814e20f9f959384119}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!parse\+Script@{parse\+Script}}
\index{parse\+Script@{parse\+Script}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{parse\+Script()}{parseScript()}}
{\footnotesize\ttfamily void Ogre\+::\+Material\+Manager\+::parse\+Script (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{stream,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_script_loader_a6bd73a15503c5cb29ed8b7e264e12293}{Script\+Loader\+::parse\+Script} 
\end{DoxySeeAlso}


Implements \hyperlink{class_ogre_1_1_script_loader_a6bd73a15503c5cb29ed8b7e264e12293}{Ogre\+::\+Script\+Loader}.

\mbox{\Hypertarget{class_ogre_1_1_material_manager_a9626875e139f48903af4674b6e555125}\label{class_ogre_1_1_material_manager_a9626875e139f48903af4674b6e555125}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!set\+Default\+Texture\+Filtering@{set\+Default\+Texture\+Filtering}}
\index{set\+Default\+Texture\+Filtering@{set\+Default\+Texture\+Filtering}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{set\+Default\+Texture\+Filtering()}{setDefaultTextureFiltering()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Manager\+::set\+Default\+Texture\+Filtering (\begin{DoxyParamCaption}\item[{\hyperlink{group___general_ga21a0186392e9c9ce16d29c5568a773c5}{Texture\+Filter\+Options}}]{fo }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Sets the default texture filtering to be used for loaded textures, for when textures are loaded automatically (e.\+g. 

by \hyperlink{class_ogre_1_1_material}{Material} class) or when \textquotesingle{}load\textquotesingle{} is called with the default parameters by the application. \begin{DoxyNote}{Note}
The default value is T\+F\+O\+\_\+\+B\+I\+L\+I\+N\+E\+AR. 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a71bf725e4cbc904f4c7495cd92f98202}\label{class_ogre_1_1_material_manager_a71bf725e4cbc904f4c7495cd92f98202}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!set\+Default\+Texture\+Filtering@{set\+Default\+Texture\+Filtering}}
\index{set\+Default\+Texture\+Filtering@{set\+Default\+Texture\+Filtering}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{set\+Default\+Texture\+Filtering()}{setDefaultTextureFiltering()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Manager\+::set\+Default\+Texture\+Filtering (\begin{DoxyParamCaption}\item[{\hyperlink{group___general_gac1fc36ec2f4df4b2afa9fa39f9c66c06}{Filter\+Type}}]{ftype,  }\item[{\hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options}}]{opts }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Sets the default texture filtering to be used for loaded textures, for when textures are loaded automatically (e.\+g. 

by \hyperlink{class_ogre_1_1_material}{Material} class) or when \textquotesingle{}load\textquotesingle{} is called with the default parameters by the application. \mbox{\Hypertarget{class_ogre_1_1_material_manager_ade1220f7e605c679356e6975e5e064dd}\label{class_ogre_1_1_material_manager_ade1220f7e605c679356e6975e5e064dd}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!set\+Default\+Texture\+Filtering@{set\+Default\+Texture\+Filtering}}
\index{set\+Default\+Texture\+Filtering@{set\+Default\+Texture\+Filtering}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{set\+Default\+Texture\+Filtering()}{setDefaultTextureFiltering()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Manager\+::set\+Default\+Texture\+Filtering (\begin{DoxyParamCaption}\item[{\hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options}}]{min\+Filter,  }\item[{\hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options}}]{mag\+Filter,  }\item[{\hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options}}]{mip\+Filter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Sets the default texture filtering to be used for loaded textures, for when textures are loaded automatically (e.\+g. 

by \hyperlink{class_ogre_1_1_material}{Material} class) or when \textquotesingle{}load\textquotesingle{} is called with the default parameters by the application. \mbox{\Hypertarget{class_ogre_1_1_material_manager_af539c96100f246db31f8135aee5d15aa}\label{class_ogre_1_1_material_manager_af539c96100f246db31f8135aee5d15aa}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Default\+Texture\+Filtering@{get\+Default\+Texture\+Filtering}}
\index{get\+Default\+Texture\+Filtering@{get\+Default\+Texture\+Filtering}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Default\+Texture\+Filtering()}{getDefaultTextureFiltering()}}
{\footnotesize\ttfamily virtual \hyperlink{group___general_ga02306c6246268d35f45ad22278bd5d3d}{Filter\+Options} Ogre\+::\+Material\+Manager\+::get\+Default\+Texture\+Filtering (\begin{DoxyParamCaption}\item[{\hyperlink{group___general_gac1fc36ec2f4df4b2afa9fa39f9c66c06}{Filter\+Type}}]{ftype }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get the default texture filtering. 

\mbox{\Hypertarget{class_ogre_1_1_material_manager_a1441e706797bc1e791460b01432aa940}\label{class_ogre_1_1_material_manager_a1441e706797bc1e791460b01432aa940}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!set\+Default\+Anisotropy@{set\+Default\+Anisotropy}}
\index{set\+Default\+Anisotropy@{set\+Default\+Anisotropy}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{set\+Default\+Anisotropy()}{setDefaultAnisotropy()}}
{\footnotesize\ttfamily void Ogre\+::\+Material\+Manager\+::set\+Default\+Anisotropy (\begin{DoxyParamCaption}\item[{unsigned int}]{max\+Aniso }\end{DoxyParamCaption})}



Sets the default anisotropy level to be used for loaded textures, for when textures are loaded automatically (e.\+g. 

by \hyperlink{class_ogre_1_1_material}{Material} class) or when \textquotesingle{}load\textquotesingle{} is called with the default parameters by the application. \begin{DoxyNote}{Note}
The default value is 1 (no anisotropy). 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a98dbe09017e4a6f18dbe774c9c6a58ce}\label{class_ogre_1_1_material_manager_a98dbe09017e4a6f18dbe774c9c6a58ce}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Default\+Anisotropy@{get\+Default\+Anisotropy}}
\index{get\+Default\+Anisotropy@{get\+Default\+Anisotropy}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Default\+Anisotropy()}{getDefaultAnisotropy()}}
{\footnotesize\ttfamily unsigned int Ogre\+::\+Material\+Manager\+::get\+Default\+Anisotropy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Get the default max\+Anisotropy. 

\mbox{\Hypertarget{class_ogre_1_1_material_manager_ac70230fa9f123976d7f2b1257bd94bd4}\label{class_ogre_1_1_material_manager_ac70230fa9f123976d7f2b1257bd94bd4}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Default\+Settings@{get\+Default\+Settings}}
\index{get\+Default\+Settings@{get\+Default\+Settings}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Default\+Settings()}{getDefaultSettings()}}
{\footnotesize\ttfamily virtual \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} Ogre\+::\+Material\+Manager\+::get\+Default\+Settings (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Returns a pointer to the default \hyperlink{class_ogre_1_1_material}{Material} settings. 

\begin{DoxyRemark}{Remarks}
\hyperlink{namespace_ogre}{Ogre} comes configured with a set of defaults for newly created materials. If you wish to have a different set of defaults, simply call this method and change the returned \hyperlink{class_ogre_1_1_material}{Material}\textquotesingle{}s settings. All materials created from then on will be configured with the new defaults you have specified. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
The default settings begin as a single \hyperlink{class_ogre_1_1_technique}{Technique} with a single, non-\/programmable \hyperlink{class_ogre_1_1_pass}{Pass}\+: 
\begin{DoxyItemize}
\item ambient = \hyperlink{class_ogre_1_1_colour_value_a8eba66b2908f44f00f8d9c9ec25877de}{Colour\+Value\+::\+White} 
\item diffuse = \hyperlink{class_ogre_1_1_colour_value_a8eba66b2908f44f00f8d9c9ec25877de}{Colour\+Value\+::\+White} 
\item specular = \hyperlink{class_ogre_1_1_colour_value_a7f8a06f2a9dd645417c36b560f496c1a}{Colour\+Value\+::\+Black} 
\item emmissive = \hyperlink{class_ogre_1_1_colour_value_a7f8a06f2a9dd645417c36b560f496c1a}{Colour\+Value\+::\+Black} 
\item shininess = 0 
\item No texture unit settings (\& hence no textures) 
\item Source\+Blend\+Factor = S\+B\+F\+\_\+\+O\+NE 
\item Dest\+Blend\+Factor = S\+B\+F\+\_\+\+Z\+E\+RO (no blend, replace with new colour) 
\item Depth buffer checking on 
\item Depth buffer writing on 
\item Depth buffer comparison function = C\+M\+P\+F\+\_\+\+L\+E\+S\+S\+\_\+\+E\+Q\+U\+AL 
\item Colour buffer writing on for all channels 
\item Culling mode = C\+U\+L\+L\+\_\+\+C\+L\+O\+C\+K\+W\+I\+SE 
\item Ambient lighting = \hyperlink{class_ogre_1_1_colour_value}{Colour\+Value}(0.\+5, 0.\+5, 0.\+5) (mid-\/grey) 
\item Dynamic lighting enabled 
\item Gourad shading mode 
\item Bilinear texture filtering 
\end{DoxyItemize}
\end{DoxyParagraph}


References Ogre\+::\+B\+L\+A\+N\+K\+S\+T\+R\+I\+NG.

\mbox{\Hypertarget{class_ogre_1_1_material_manager_aea9231e6fc04369c0440b16c65c8bb69}\label{class_ogre_1_1_material_manager_aea9231e6fc04369c0440b16c65c8bb69}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!\+\_\+get\+Scheme\+Index@{\+\_\+get\+Scheme\+Index}}
\index{\+\_\+get\+Scheme\+Index@{\+\_\+get\+Scheme\+Index}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{\+\_\+get\+Scheme\+Index()}{\_getSchemeIndex()}}
{\footnotesize\ttfamily virtual unsigned short Ogre\+::\+Material\+Manager\+::\+\_\+get\+Scheme\+Index (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Internal method -\/ returns index for a given material scheme name. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_technique_a43b6c4e9e48c4e56f96633b916ee90a3}{Technique\+::set\+Scheme\+Name} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a3e444d262c470c29153ec9ccf9c68668}\label{class_ogre_1_1_material_manager_a3e444d262c470c29153ec9ccf9c68668}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!\+\_\+get\+Scheme\+Name@{\+\_\+get\+Scheme\+Name}}
\index{\+\_\+get\+Scheme\+Name@{\+\_\+get\+Scheme\+Name}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{\+\_\+get\+Scheme\+Name()}{\_getSchemeName()}}
{\footnotesize\ttfamily virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Material\+Manager\+::\+\_\+get\+Scheme\+Name (\begin{DoxyParamCaption}\item[{unsigned short}]{index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Internal method -\/ returns name for a given material scheme index. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_technique_a43b6c4e9e48c4e56f96633b916ee90a3}{Technique\+::set\+Scheme\+Name} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a0c19cf09d58d3d2c327039faff0c1df4}\label{class_ogre_1_1_material_manager_a0c19cf09d58d3d2c327039faff0c1df4}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!\+\_\+get\+Active\+Scheme\+Index@{\+\_\+get\+Active\+Scheme\+Index}}
\index{\+\_\+get\+Active\+Scheme\+Index@{\+\_\+get\+Active\+Scheme\+Index}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{\+\_\+get\+Active\+Scheme\+Index()}{\_getActiveSchemeIndex()}}
{\footnotesize\ttfamily virtual unsigned short Ogre\+::\+Material\+Manager\+::\+\_\+get\+Active\+Scheme\+Index (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Internal method -\/ returns the active scheme index. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_technique_a43b6c4e9e48c4e56f96633b916ee90a3}{Technique\+::set\+Scheme\+Name} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_ad03ea02e140fc1e7312d14626e59d45d}\label{class_ogre_1_1_material_manager_ad03ea02e140fc1e7312d14626e59d45d}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Active\+Scheme@{get\+Active\+Scheme}}
\index{get\+Active\+Scheme@{get\+Active\+Scheme}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Active\+Scheme()}{getActiveScheme()}}
{\footnotesize\ttfamily virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Material\+Manager\+::get\+Active\+Scheme (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the name of the active material scheme. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_technique_a43b6c4e9e48c4e56f96633b916ee90a3}{Technique\+::set\+Scheme\+Name} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a95decc3900f547bb68b74ba28d3013e0}\label{class_ogre_1_1_material_manager_a95decc3900f547bb68b74ba28d3013e0}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!set\+Active\+Scheme@{set\+Active\+Scheme}}
\index{set\+Active\+Scheme@{set\+Active\+Scheme}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{set\+Active\+Scheme()}{setActiveScheme()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Manager\+::set\+Active\+Scheme (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{scheme\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Sets the name of the active material scheme. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_technique_a43b6c4e9e48c4e56f96633b916ee90a3}{Technique\+::set\+Scheme\+Name} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a8ac18f4bd2e6302f1d92ae8f64195694}\label{class_ogre_1_1_material_manager_a8ac18f4bd2e6302f1d92ae8f64195694}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!add\+Listener@{add\+Listener}}
\index{add\+Listener@{add\+Listener}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{add\+Listener()}{addListener()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Manager\+::add\+Listener (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_material_manager_1_1_listener}{Listener} $\ast$}]{l,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&}]{scheme\+Name = {\ttfamily \hyperlink{group___general_gad842a4b416bd2f3245d2b44826a0aedc}{B\+L\+A\+N\+K\+S\+T\+R\+I\+NG}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Add a listener to handle material events. 

If scheme\+Name is supplied, the listener will only receive events for that certain scheme. \mbox{\Hypertarget{class_ogre_1_1_material_manager_a8d14d2e8450b0886c6b72c9996200b17}\label{class_ogre_1_1_material_manager_a8d14d2e8450b0886c6b72c9996200b17}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!remove\+Listener@{remove\+Listener}}
\index{remove\+Listener@{remove\+Listener}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{remove\+Listener()}{removeListener()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Manager\+::remove\+Listener (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_material_manager_1_1_listener}{Listener} $\ast$}]{l,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&}]{scheme\+Name = {\ttfamily \hyperlink{group___general_gad842a4b416bd2f3245d2b44826a0aedc}{B\+L\+A\+N\+K\+S\+T\+R\+I\+NG}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Remove a listener handling material events. 

If the listener was added with a custom scheme name, it needs to be supplied here as well. \mbox{\Hypertarget{class_ogre_1_1_material_manager_a94dd6caf97604ba7ce310dd8f22dcb96}\label{class_ogre_1_1_material_manager_a94dd6caf97604ba7ce310dd8f22dcb96}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!\+\_\+arbitrate\+Missing\+Technique\+For\+Active\+Scheme@{\+\_\+arbitrate\+Missing\+Technique\+For\+Active\+Scheme}}
\index{\+\_\+arbitrate\+Missing\+Technique\+For\+Active\+Scheme@{\+\_\+arbitrate\+Missing\+Technique\+For\+Active\+Scheme}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{\+\_\+arbitrate\+Missing\+Technique\+For\+Active\+Scheme()}{\_arbitrateMissingTechniqueForActiveScheme()}}
{\footnotesize\ttfamily virtual \hyperlink{class_ogre_1_1_technique}{Technique}$\ast$ Ogre\+::\+Material\+Manager\+::\+\_\+arbitrate\+Missing\+Technique\+For\+Active\+Scheme (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_material}{Material} $\ast$}]{mat,  }\item[{unsigned short}]{lod\+Index,  }\item[{const \hyperlink{class_ogre_1_1_renderable}{Renderable} $\ast$}]{rend }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Internal method for sorting out missing technique for a scheme. 

\mbox{\Hypertarget{class_ogre_1_1_material_manager_ac1c82898c82556003eb8314aea1a0a3c}\label{class_ogre_1_1_material_manager_ac1c82898c82556003eb8314aea1a0a3c}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!\+\_\+notify\+After\+Illumination\+Passes\+Created@{\+\_\+notify\+After\+Illumination\+Passes\+Created}}
\index{\+\_\+notify\+After\+Illumination\+Passes\+Created@{\+\_\+notify\+After\+Illumination\+Passes\+Created}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{\+\_\+notify\+After\+Illumination\+Passes\+Created()}{\_notifyAfterIlluminationPassesCreated()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Manager\+::\+\_\+notify\+After\+Illumination\+Passes\+Created (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_technique}{Technique} $\ast$}]{mat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Internal method for sorting out illumination passes for a scheme. 

\mbox{\Hypertarget{class_ogre_1_1_material_manager_a8b2aa864d83fe5e423c3ebd4f2295b63}\label{class_ogre_1_1_material_manager_a8b2aa864d83fe5e423c3ebd4f2295b63}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!\+\_\+notify\+Before\+Illumination\+Passes\+Cleared@{\+\_\+notify\+Before\+Illumination\+Passes\+Cleared}}
\index{\+\_\+notify\+Before\+Illumination\+Passes\+Cleared@{\+\_\+notify\+Before\+Illumination\+Passes\+Cleared}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Before\+Illumination\+Passes\+Cleared()}{\_notifyBeforeIlluminationPassesCleared()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Material\+Manager\+::\+\_\+notify\+Before\+Illumination\+Passes\+Cleared (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_technique}{Technique} $\ast$}]{mat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Internal method for sorting out illumination passes for a scheme. 

\mbox{\Hypertarget{class_ogre_1_1_material_manager_a100f413d9d2316028e7ae740e5a43161}\label{class_ogre_1_1_material_manager_a100f413d9d2316028e7ae740e5a43161}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Singleton@{get\+Singleton}}
\index{get\+Singleton@{get\+Singleton}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Singleton()}{getSingleton()}}
{\footnotesize\ttfamily static \hyperlink{class_ogre_1_1_material_manager}{Material\+Manager}\& Ogre\+::\+Material\+Manager\+::get\+Singleton (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the singleton instance. 

\mbox{\Hypertarget{class_ogre_1_1_material_manager_a17b3b6ea6c91c7713769854606a58889}\label{class_ogre_1_1_material_manager_a17b3b6ea6c91c7713769854606a58889}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Singleton\+Ptr@{get\+Singleton\+Ptr}}
\index{get\+Singleton\+Ptr@{get\+Singleton\+Ptr}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Singleton\+Ptr()}{getSingletonPtr()}}
{\footnotesize\ttfamily static \hyperlink{class_ogre_1_1_material_manager}{Material\+Manager}$\ast$ Ogre\+::\+Material\+Manager\+::get\+Singleton\+Ptr (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the singleton instance. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a700088a63eabb0f6cb1fac96686db464}\label{class_ogre_1_1_resource_manager_a700088a63eabb0f6cb1fac96686db464}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!create\+Resource@{create\+Resource}}
\index{create\+Resource@{create\+Resource}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{create\+Resource()}{createResource()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} Ogre\+::\+Resource\+Manager\+::create\+Resource (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$}]{loader = {\ttfamily 0},  }\item[{const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$}]{create\+Params = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Creates a new blank resource, but does not immediately load it. 


\begin{DoxyParams}{Parameters}
{\em name} & The unique name of the Resource \\
\hline
{\em group} & The name of the resource group to attach this new resource to \\
\hline
{\em is\+Manual} & Is this resource manually loaded? If so, you should really populate the loader parameter in order that the load process can call the loader back when loading is required. \\
\hline
{\em loader} & Pointer to a Manual\+Loader implementation which will be called when the \hyperlink{class_ogre_1_1_resource}{Resource} wishes to load (should be supplied if you set is\+Manual to true). You can in fact leave this parameter null if you wish, but the \hyperlink{class_ogre_1_1_resource}{Resource} will never be able to reload if anything ever causes it to unload. Therefore provision of a proper Manual\+Loader instance is strongly recommended. \\
\hline
{\em create\+Params} & If any parameters are required to create an instance, they should be supplied here as name / value pairs \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ac3f365e1d71fbe328637a681171d7acd}\label{class_ogre_1_1_resource_manager_ac3f365e1d71fbe328637a681171d7acd}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!create\+Or\+Retrieve@{create\+Or\+Retrieve}}
\index{create\+Or\+Retrieve@{create\+Or\+Retrieve}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{create\+Or\+Retrieve()}{createOrRetrieve()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}{Resource\+Create\+Or\+Retrieve\+Result} Ogre\+::\+Resource\+Manager\+::create\+Or\+Retrieve (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$}]{loader = {\ttfamily 0},  }\item[{const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$}]{create\+Params = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Create a new resource, or retrieve an existing one with the same name if it already exists. 

\begin{DoxyRemark}{Remarks}
This method performs the same task as calling \hyperlink{class_ogre_1_1_material_manager_a8effa67ee128c4edecb7db1c3a318bf7}{get\+By\+Name()} followed by \hyperlink{class_ogre_1_1_material_manager_a3068599a5b10421e6203d568006f5f93}{create()} if that returns null. The advantage is that it does it in one call so there are no race conditions if using multiple threads that could cause \hyperlink{class_ogre_1_1_material_manager_a8effa67ee128c4edecb7db1c3a318bf7}{get\+By\+Name()} to return null, but \hyperlink{class_ogre_1_1_material_manager_a3068599a5b10421e6203d568006f5f93}{create()} to fail because another thread created a resource in between. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em name} & The unique name of the Resource \\
\hline
{\em group} & The name of the resource group to attach this new resource to \\
\hline
{\em is\+Manual} & Is this resource manually loaded? If so, you should really populate the loader parameter in order that the load process can call the loader back when loading is required. \\
\hline
{\em loader} & Pointer to a Manual\+Loader implementation which will be called when the \hyperlink{class_ogre_1_1_resource}{Resource} wishes to load (should be supplied if you set is\+Manual to true). You can in fact leave this parameter null if you wish, but the \hyperlink{class_ogre_1_1_resource}{Resource} will never be able to reload if anything ever causes it to unload. Therefore provision of a proper Manual\+Loader instance is strongly recommended. \\
\hline
{\em create\+Params} & If any parameters are required to create an instance, they should be supplied here as name / value pairs \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pair, the first element being the pointer, and the second being an indicator specifying whether the resource was newly created. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a532e96fbeac065b4a7866b4302a90618}\label{class_ogre_1_1_resource_manager_a532e96fbeac065b4a7866b4302a90618}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!set\+Memory\+Budget@{set\+Memory\+Budget}}
\index{set\+Memory\+Budget@{set\+Memory\+Budget}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{set\+Memory\+Budget()}{setMemoryBudget()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::set\+Memory\+Budget (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{bytes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Set a limit on the amount of memory this resource handler may use. 

\begin{DoxyRemark}{Remarks}
If, when asked to load a new resource, the manager believes it will exceed this memory budget, it will temporarily unload a resource to make room for the new one. This unloading is not permanent and the \hyperlink{class_ogre_1_1_resource}{Resource} is not destroyed; it simply needs to be reloaded when next used. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_abd807a5a8f5754af45fc60db40b455d5}\label{class_ogre_1_1_resource_manager_abd807a5a8f5754af45fc60db40b455d5}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Memory\+Budget@{get\+Memory\+Budget}}
\index{get\+Memory\+Budget@{get\+Memory\+Budget}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Memory\+Budget()}{getMemoryBudget()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Resource\+Manager\+::get\+Memory\+Budget (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the limit on the amount of memory this resource handler may use. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ac401b57afcc205728a3821065aef6238}\label{class_ogre_1_1_resource_manager_ac401b57afcc205728a3821065aef6238}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Memory\+Usage@{get\+Memory\+Usage}}
\index{get\+Memory\+Usage@{get\+Memory\+Usage}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Memory\+Usage()}{getMemoryUsage()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Resource\+Manager\+::get\+Memory\+Usage (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Gets the current memory usage, in bytes. 



References O\+G\+R\+E\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+I\+N\+IT.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ae81042ca7b4622594e30158950813e73}\label{class_ogre_1_1_resource_manager_ae81042ca7b4622594e30158950813e73}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!unload@{unload}}
\index{unload@{unload}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{unload()}{unload()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::unload (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group = {\ttfamily \hyperlink{class_ogre_1_1_resource_group_manager_a3c7d7dc6bb59e43db49e77cd3d8a44c4}{Resource\+Group\+Manager\+::\+D\+E\+F\+A\+U\+L\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Unloads a single resource by name. 

\begin{DoxyRemark}{Remarks}
Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager} for unloading of resource groups. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a2514952116c93b5b5eba051492d2caa9}\label{class_ogre_1_1_resource_manager_a2514952116c93b5b5eba051492d2caa9}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!unload@{unload}}
\index{unload@{unload}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{unload()}{unload()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::unload (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}]{handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Unloads a single resource by handle. 

\begin{DoxyRemark}{Remarks}
Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager} for unloading of resource groups. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a1fe343406d15d5367cfc4f86ba589b55}\label{class_ogre_1_1_resource_manager_a1fe343406d15d5367cfc4f86ba589b55}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!unload\+All@{unload\+All}}
\index{unload\+All@{unload\+All}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{unload\+All()}{unloadAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::unload\+All (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Unloads all resources. 

\begin{DoxyRemark}{Remarks}
Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager} for unloading of resource groups. 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only unload the resource that is reloadable. Because some resources isn\textquotesingle{}t reloadable, they will be unloaded but can\textquotesingle{}t load them later. Thus, you might not want to them unloaded. Or, you might unload all of them, and then populate them manually later. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_a8eb34a9034aab62fd537c021a79e3366}{Resource\+::is\+Reloadable} for resource is reloadable. 
\end{DoxySeeAlso}


References Ogre\+::\+Resource\+::\+L\+F\+\_\+\+D\+E\+F\+A\+U\+LT, and Ogre\+::\+Resource\+::\+L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a93b40c858020f2bbbcebcd4dc72a6321}\label{class_ogre_1_1_resource_manager_a93b40c858020f2bbbcebcd4dc72a6321}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!unload\+All@{unload\+All}}
\index{unload\+All@{unload\+All}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{unload\+All()}{unloadAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::unload\+All (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags}}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Unloads all resources. 

\begin{DoxyRemark}{Remarks}
Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager} for unloading of resource groups. 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em flags} & Allow to restrict processing to only reloadable and/or unreferenced resources. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags} for additional information. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_aa9608544a7beb1b0e43835877ab62788}\label{class_ogre_1_1_resource_manager_aa9608544a7beb1b0e43835877ab62788}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!reload\+All@{reload\+All}}
\index{reload\+All@{reload\+All}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{reload\+All()}{reloadAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::reload\+All (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Caused all currently loaded resources to be reloaded. 

\begin{DoxyRemark}{Remarks}
All resources currently being held in this manager which are also marked as currently loaded will be unloaded, then loaded again. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only reload the resource that is reloadable. Because some resources isn\textquotesingle{}t reloadable, they will be unloaded but can\textquotesingle{}t loaded again. Thus, you might not want to them unloaded. Or, you might unload all of them, and then populate them manually later. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_a8eb34a9034aab62fd537c021a79e3366}{Resource\+::is\+Reloadable} for resource is reloadable. 
\end{DoxySeeAlso}


References Ogre\+::\+Resource\+::\+L\+F\+\_\+\+D\+E\+F\+A\+U\+LT, and Ogre\+::\+Resource\+::\+L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a84e25cc5ad09ff7567d1fed7429433a3}\label{class_ogre_1_1_resource_manager_a84e25cc5ad09ff7567d1fed7429433a3}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!reload\+All@{reload\+All}}
\index{reload\+All@{reload\+All}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{reload\+All()}{reloadAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::reload\+All (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags}}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Caused all currently loaded resources to be reloaded. 

\begin{DoxyRemark}{Remarks}
All resources currently being held in this manager which are also marked as currently loaded will be unloaded, then loaded again. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em flags} & Allow to restrict processing to only reloadable and/or unreferenced resources. Additionally, reloading could be done with preserving some selected resource states that could be used elsewhere. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags} for additional information. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_aeaa1410333b7bcea14b00c360112a528}\label{class_ogre_1_1_resource_manager_aeaa1410333b7bcea14b00c360112a528}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!unload\+Unreferenced\+Resources@{unload\+Unreferenced\+Resources}}
\index{unload\+Unreferenced\+Resources@{unload\+Unreferenced\+Resources}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{unload\+Unreferenced\+Resources()}{unloadUnreferencedResources()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::unload\+Unreferenced\+Resources (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Unload all resources which are not referenced by any other object. 

\begin{DoxyRemark}{Remarks}
This method behaves like unload\+All, except that it only unloads resources which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
Some referenced resource may exists \textquotesingle{}weak\textquotesingle{} pointer to their sub-\/components (e.\+g. \hyperlink{class_ogre_1_1_entity}{Entity} held pointer to \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh}), in this case, unload or reload that resource will cause dangerous pointer access. Use this function instead of unload\+All allows you avoid fail in those situations. 
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only unloads resources which can be subsequently automatically reloaded. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Resource\+::\+L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED, and Ogre\+::\+Resource\+::\+L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a4dda8323b265a00638dd29a4fa6510bc}\label{class_ogre_1_1_resource_manager_a4dda8323b265a00638dd29a4fa6510bc}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!reload\+Unreferenced\+Resources@{reload\+Unreferenced\+Resources}}
\index{reload\+Unreferenced\+Resources@{reload\+Unreferenced\+Resources}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{reload\+Unreferenced\+Resources()}{reloadUnreferencedResources()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::reload\+Unreferenced\+Resources (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Caused all currently loaded but not referenced by any other object resources to be reloaded. 

\begin{DoxyRemark}{Remarks}
This method behaves like reload\+All, except that it only reloads resources which are not in use, i.\+e. not referenced by other objects. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
Some referenced resource may exists \textquotesingle{}weak\textquotesingle{} pointer to their sub-\/components (e.\+g. \hyperlink{class_ogre_1_1_entity}{Entity} held pointer to \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh}), in this case, unload or reload that resource will cause dangerous pointer access. Use this function instead of reload\+All allows you avoid fail in those situations. 
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only reloads resources which can be subsequently automatically reloaded. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Resource\+::\+L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED, Ogre\+::\+Resource\+::\+L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE, and O\+G\+R\+E\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+I\+N\+IT.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a257ae8a9ac7538581173b7ddcf7b3f19}\label{class_ogre_1_1_resource_manager_a257ae8a9ac7538581173b7ddcf7b3f19}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!remove@{remove}}
\index{remove@{remove}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{remove()}{remove()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::remove (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} \&}]{r }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Remove a single resource. 

\begin{DoxyRemark}{Remarks}
Removes a single resource, meaning it will be removed from the list of valid resources in this manager, also causing it to be unloaded. 
\end{DoxyRemark}
\begin{DoxyNote}{Note}
The word \textquotesingle{}Destroy\textquotesingle{} is not used here, since if any other pointers are referring to this resource, it will persist until they have finished with it; however to all intents and purposes it no longer exists and will likely get destroyed imminently. 

If you do have shared pointers to resources hanging around after the \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} is destroyed, you may get problems on destruction of these resources if they were relying on the manager (especially if it is a plugin). If you find you get problems on shutdown in the destruction of resources, try making sure you release all your shared pointers before you shutdown O\+G\+RE. 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a21344fefa1d01e03fdc0093018b7690f}\label{class_ogre_1_1_resource_manager_a21344fefa1d01e03fdc0093018b7690f}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!remove@{remove}}
\index{remove@{remove}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{remove()}{remove()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::remove (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group = {\ttfamily \hyperlink{class_ogre_1_1_resource_group_manager_a3c7d7dc6bb59e43db49e77cd3d8a44c4}{Resource\+Group\+Manager\+::\+D\+E\+F\+A\+U\+L\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. \mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6871e913a62e1b419438e3169bc72bd3}\label{class_ogre_1_1_resource_manager_a6871e913a62e1b419438e3169bc72bd3}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!remove@{remove}}
\index{remove@{remove}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{remove()}{remove()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::remove (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}]{handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. \mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6ff50fee06a678837cbeeea75e4372a5}\label{class_ogre_1_1_resource_manager_a6ff50fee06a678837cbeeea75e4372a5}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!remove\+All@{remove\+All}}
\index{remove\+All@{remove\+All}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{remove\+All()}{removeAll()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::remove\+All (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Removes all resources. 

\begin{DoxyNote}{Note}
The word \textquotesingle{}Destroy\textquotesingle{} is not used here, since if any other pointers are referring to these resources, they will persist until they have been finished with; however to all intents and purposes the resources no longer exist and will get destroyed imminently. 

If you do have shared pointers to resources hanging around after the \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} is destroyed, you may get problems on destruction of these resources if they were relying on the manager (especially if it is a plugin). If you find you get problems on shutdown in the destruction of resources, try making sure you release all your shared pointers before you shutdown O\+G\+RE. 
\end{DoxyNote}


Reimplemented in \hyperlink{class_ogre_1_1_compositor_manager_a565f51a7a31bc6848c9e334d1c699242}{Ogre\+::\+Compositor\+Manager}.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6ce966e769770ce9f90d77eddc2c30a3}\label{class_ogre_1_1_resource_manager_a6ce966e769770ce9f90d77eddc2c30a3}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!remove\+Unreferenced\+Resources@{remove\+Unreferenced\+Resources}}
\index{remove\+Unreferenced\+Resources@{remove\+Unreferenced\+Resources}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{remove\+Unreferenced\+Resources()}{removeUnreferencedResources()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::remove\+Unreferenced\+Resources (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Remove all resources which are not referenced by any other object. 

\begin{DoxyRemark}{Remarks}
This method behaves like remove\+All, except that it only removes resources which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
Some referenced resource may exists \textquotesingle{}weak\textquotesingle{} pointer to their sub-\/components (e.\+g. \hyperlink{class_ogre_1_1_entity}{Entity} held pointer to \hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh}), in this case, remove or reload that resource will cause dangerous pointer access. Use this function instead of remove\+All allows you avoid fail in those situations. 
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only removes resources which can be subsequently automatically reloaded. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a735d1109ace47edb7a1cf6d32c14e141}\label{class_ogre_1_1_resource_manager_a735d1109ace47edb7a1cf6d32c14e141}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Resource\+By\+Name@{get\+Resource\+By\+Name}}
\index{get\+Resource\+By\+Name@{get\+Resource\+By\+Name}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Resource\+By\+Name()}{getResourceByName()}}
{\footnotesize\ttfamily virtual \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} Ogre\+::\+Resource\+Manager\+::get\+Resource\+By\+Name (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group\+Name = {\ttfamily \hyperlink{class_ogre_1_1_resource_group_manager_a3c7d7dc6bb59e43db49e77cd3d8a44c4}{Resource\+Group\+Manager\+::\+D\+E\+F\+A\+U\+L\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Retrieves a pointer to a resource by name, or null if the resource does not exist. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ab1c354fd2294c7c50b3f3e9ce42543f7}\label{class_ogre_1_1_resource_manager_ab1c354fd2294c7c50b3f3e9ce42543f7}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+By\+Handle@{get\+By\+Handle}}
\index{get\+By\+Handle@{get\+By\+Handle}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+By\+Handle()}{getByHandle()}}
{\footnotesize\ttfamily virtual \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} Ogre\+::\+Resource\+Manager\+::get\+By\+Handle (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}]{handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Retrieves a pointer to a resource by handle, or null if the resource does not exist. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a586351b1eed6a528c99e4d66b248c08b}\label{class_ogre_1_1_resource_manager_a586351b1eed6a528c99e4d66b248c08b}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!resource\+Exists@{resource\+Exists}}
\index{resource\+Exists@{resource\+Exists}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{resource\+Exists()}{resourceExists()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Ogre\+::\+Resource\+Manager\+::resource\+Exists (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group = {\ttfamily \hyperlink{class_ogre_1_1_resource_group_manager_a3c7d7dc6bb59e43db49e77cd3d8a44c4}{Resource\+Group\+Manager\+::\+D\+E\+F\+A\+U\+L\+T\+\_\+\+R\+E\+S\+O\+U\+R\+C\+E\+\_\+\+G\+R\+O\+U\+P\+\_\+\+N\+A\+ME}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Returns whether the named resource exists in this manager. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6a58b96feb67c25e123ccc3b287fcd2c}\label{class_ogre_1_1_resource_manager_a6a58b96feb67c25e123ccc3b287fcd2c}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!resource\+Exists@{resource\+Exists}}
\index{resource\+Exists@{resource\+Exists}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{resource\+Exists()}{resourceExists()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool Ogre\+::\+Resource\+Manager\+::resource\+Exists (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}]{handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Returns whether a resource with the given handle exists in this manager. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a40769092850d5b296e1d1a9190631700}\label{class_ogre_1_1_resource_manager_a40769092850d5b296e1d1a9190631700}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!\+\_\+notify\+Resource\+Touched@{\+\_\+notify\+Resource\+Touched}}
\index{\+\_\+notify\+Resource\+Touched@{\+\_\+notify\+Resource\+Touched}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Resource\+Touched()}{\_notifyResourceTouched()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::\+\_\+notify\+Resource\+Touched (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource}{Resource} $\ast$}]{res }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Notify this manager that a resource which it manages has been \textquotesingle{}touched\textquotesingle{}, i.\+e. 

used. \mbox{\Hypertarget{class_ogre_1_1_resource_manager_af1a871ac005af0be0b8c1857a4f8eea9}\label{class_ogre_1_1_resource_manager_af1a871ac005af0be0b8c1857a4f8eea9}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!\+\_\+notify\+Resource\+Loaded@{\+\_\+notify\+Resource\+Loaded}}
\index{\+\_\+notify\+Resource\+Loaded@{\+\_\+notify\+Resource\+Loaded}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Resource\+Loaded()}{\_notifyResourceLoaded()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::\+\_\+notify\+Resource\+Loaded (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource}{Resource} $\ast$}]{res }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Notify this manager that a resource which it manages has been loaded. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a54d1843a43aebb13542312cd17134e6a}\label{class_ogre_1_1_resource_manager_a54d1843a43aebb13542312cd17134e6a}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!\+\_\+notify\+Resource\+Unloaded@{\+\_\+notify\+Resource\+Unloaded}}
\index{\+\_\+notify\+Resource\+Unloaded@{\+\_\+notify\+Resource\+Unloaded}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{\+\_\+notify\+Resource\+Unloaded()}{\_notifyResourceUnloaded()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::\+\_\+notify\+Resource\+Unloaded (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource}{Resource} $\ast$}]{res }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Notify this manager that a resource which it manages has been unloaded. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a4350b30d83790f208a9fdd1197ce9c95}\label{class_ogre_1_1_resource_manager_a4350b30d83790f208a9fdd1197ce9c95}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!prepare@{prepare}}
\index{prepare@{prepare}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{prepare()}{prepare()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} Ogre\+::\+Resource\+Manager\+::prepare (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$}]{loader = {\ttfamily 0},  }\item[{const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$}]{load\+Params = {\ttfamily 0},  }\item[{bool}]{background\+Thread = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Generic prepare method, used to create a \hyperlink{class_ogre_1_1_resource}{Resource} specific to this \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} without using one of the specialised \textquotesingle{}prepare\textquotesingle{} methods (containing per-\/\+Resource-\/type parameters). 


\begin{DoxyParams}{Parameters}
{\em name} & The name of the Resource \\
\hline
{\em group} & The resource group to which this resource will belong \\
\hline
{\em is\+Manual} & Is the resource to be manually loaded? If so, you should provide a value for the loader parameter \\
\hline
{\em loader} & The manual loader which is to perform the required actions when this resource is loaded; only applicable when you specify true for the previous parameter \\
\hline
{\em load\+Params} & Optional pointer to a list of name/value pairs containing loading parameters for this type of resource. \\
\hline
{\em background\+Thread} & Optional boolean which lets the load routine know if it is being run on the background resource loading thread \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a379c3ff20c97fcd13db3bc7841b4b560}\label{class_ogre_1_1_resource_manager_a379c3ff20c97fcd13db3bc7841b4b560}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!load@{load}}
\index{load@{load}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{load()}{load()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr} Ogre\+::\+Resource\+Manager\+::load (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader} $\ast$}]{loader = {\ttfamily 0},  }\item[{const \hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List} $\ast$}]{load\+Params = {\ttfamily 0},  }\item[{bool}]{background\+Thread = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Generic load method, used to create a \hyperlink{class_ogre_1_1_resource}{Resource} specific to this \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} without using one of the specialised \textquotesingle{}load\textquotesingle{} methods (containing per-\/\+Resource-\/type parameters). 


\begin{DoxyParams}{Parameters}
{\em name} & The name of the Resource \\
\hline
{\em group} & The resource group to which this resource will belong \\
\hline
{\em is\+Manual} & Is the resource to be manually loaded? If so, you should provide a value for the loader parameter \\
\hline
{\em loader} & The manual loader which is to perform the required actions when this resource is loaded; only applicable when you specify true for the previous parameter \\
\hline
{\em load\+Params} & Optional pointer to a list of name/value pairs containing loading parameters for this type of resource. \\
\hline
{\em background\+Thread} & Optional boolean which lets the load routine know if it is being run on the background resource loading thread \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a356d42e699011a2d86770c9b3ee55e6d}\label{class_ogre_1_1_resource_manager_a356d42e699011a2d86770c9b3ee55e6d}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Script\+Patterns@{get\+Script\+Patterns}}
\index{get\+Script\+Patterns@{get\+Script\+Patterns}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Script\+Patterns()}{getScriptPatterns()}}
{\footnotesize\ttfamily const \hyperlink{group___general_ga783e5227595f351519627abfb740ec85}{String\+Vector}\& Ogre\+::\+Resource\+Manager\+::get\+Script\+Patterns (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Gets the file patterns which should be used to find scripts for this \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}. 

\begin{DoxyRemark}{Remarks}
Some resource managers can read script files in order to define resources ahead of time. These resources are added to the available list inside the manager, but none are loaded initially. This allows you to load the items that are used on demand, or to load them all as a group if you wish (through \hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager}). 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
This method lets you determine the file pattern which will be used to identify scripts intended for this manager. 
\end{DoxyParagraph}
\begin{DoxyReturn}{Returns}
A list of file patterns, in the order they should be searched in. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
is\+Scripting\+Supported, \hyperlink{class_ogre_1_1_material_manager_a7e3d13469f80b5814e20f9f959384119}{parse\+Script} 
\end{DoxySeeAlso}


Implements \hyperlink{class_ogre_1_1_script_loader_a78189fd757a233f34d5d272f76f6abf6}{Ogre\+::\+Script\+Loader}.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a3ae7c3ae5494fc088fa8a17e736fef6b}\label{class_ogre_1_1_resource_manager_a3ae7c3ae5494fc088fa8a17e736fef6b}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Loading\+Order@{get\+Loading\+Order}}
\index{get\+Loading\+Order@{get\+Loading\+Order}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Loading\+Order()}{getLoadingOrder()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Resource\+Manager\+::get\+Loading\+Order (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Gets the relative loading order of resources of this type. 

\begin{DoxyRemark}{Remarks}
There are dependencies between some kinds of resource in terms of loading order, and this value enumerates that. Higher values load later during bulk loading tasks. 
\end{DoxyRemark}


Implements \hyperlink{class_ogre_1_1_script_loader_a12af311e1399d48c02c57bb545b50497}{Ogre\+::\+Script\+Loader}.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_abc20acc2d57fd224b218a07d802e8c1a}\label{class_ogre_1_1_resource_manager_abc20acc2d57fd224b218a07d802e8c1a}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Resource\+Type@{get\+Resource\+Type}}
\index{get\+Resource\+Type@{get\+Resource\+Type}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Resource\+Type()}{getResourceType()}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+Resource\+Manager\+::get\+Resource\+Type (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Gets a string identifying the type of resource this manager handles. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a82b76280229c498b8d66f64b2a848447}\label{class_ogre_1_1_resource_manager_a82b76280229c498b8d66f64b2a848447}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!set\+Verbose@{set\+Verbose}}
\index{set\+Verbose@{set\+Verbose}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{set\+Verbose()}{setVerbose()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::set\+Verbose (\begin{DoxyParamCaption}\item[{bool}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Sets whether this manager and its resources habitually produce log output. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ae071093e2681923ddf1d661087b44e4d}\label{class_ogre_1_1_resource_manager_ae071093e2681923ddf1d661087b44e4d}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Verbose@{get\+Verbose}}
\index{get\+Verbose@{get\+Verbose}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Verbose()}{getVerbose()}}
{\footnotesize\ttfamily bool Ogre\+::\+Resource\+Manager\+::get\+Verbose (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Gets whether this manager and its resources habitually produce log output. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ad18cc3f0a4b3e0553cfe715204f15359}\label{class_ogre_1_1_resource_manager_ad18cc3f0a4b3e0553cfe715204f15359}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Resource\+Pool@{get\+Resource\+Pool}}
\index{get\+Resource\+Pool@{get\+Resource\+Pool}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Resource\+Pool()}{getResourcePool()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_resource_manager_1_1_resource_pool}{Resource\+Pool}$\ast$ Ogre\+::\+Resource\+Manager\+::get\+Resource\+Pool (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Create a resource pool, or reuse one that already exists. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_aa8b761abb06d74347e9636550307ccd9}\label{class_ogre_1_1_resource_manager_aa8b761abb06d74347e9636550307ccd9}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!destroy\+Resource\+Pool@{destroy\+Resource\+Pool}}
\index{destroy\+Resource\+Pool@{destroy\+Resource\+Pool}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{destroy\+Resource\+Pool()}{destroyResourcePool()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::destroy\+Resource\+Pool (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_resource_manager_1_1_resource_pool}{Resource\+Pool} $\ast$}]{pool }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Destroy a resource pool. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a00a7fe59aaaa4acdfda07edc704516ee}\label{class_ogre_1_1_resource_manager_a00a7fe59aaaa4acdfda07edc704516ee}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!destroy\+Resource\+Pool@{destroy\+Resource\+Pool}}
\index{destroy\+Resource\+Pool@{destroy\+Resource\+Pool}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{destroy\+Resource\+Pool()}{destroyResourcePool()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::destroy\+Resource\+Pool (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Destroy a resource pool. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a7913c36c02ef03007ff1a1c76ddf7710}\label{class_ogre_1_1_resource_manager_a7913c36c02ef03007ff1a1c76ddf7710}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!destroy\+All\+Resource\+Pools@{destroy\+All\+Resource\+Pools}}
\index{destroy\+All\+Resource\+Pools@{destroy\+All\+Resource\+Pools}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{destroy\+All\+Resource\+Pools()}{destroyAllResourcePools()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::destroy\+All\+Resource\+Pools (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



destroy all pools 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a4d3289d4636168230da11c1c9794db59}\label{class_ogre_1_1_resource_manager_a4d3289d4636168230da11c1c9794db59}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!get\+Resource\+Iterator@{get\+Resource\+Iterator}}
\index{get\+Resource\+Iterator@{get\+Resource\+Iterator}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{get\+Resource\+Iterator()}{getResourceIterator()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}{Resource\+Map\+Iterator} Ogre\+::\+Resource\+Manager\+::get\+Resource\+Iterator (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Returns an iterator over all resources in this manager. 

\begin{DoxyNote}{Note}
Use of this iterator is N\+OT thread safe! 
\end{DoxyNote}


\subsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_material_manager_a290b828b5d44637ee4d247a09ea81bd6}\label{class_ogre_1_1_material_manager_a290b828b5d44637ee4d247a09ea81bd6}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+C\+H\+E\+M\+E\+\_\+\+N\+A\+ME@{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+C\+H\+E\+M\+E\+\_\+\+N\+A\+ME}}
\index{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+C\+H\+E\+M\+E\+\_\+\+N\+A\+ME@{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+C\+H\+E\+M\+E\+\_\+\+N\+A\+ME}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+C\+H\+E\+M\+E\+\_\+\+N\+A\+ME}{DEFAULT\_SCHEME\_NAME}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+Material\+Manager\+::\+D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+C\+H\+E\+M\+E\+\_\+\+N\+A\+ME\hspace{0.3cm}{\ttfamily [static]}}



Default material scheme. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_abbb523a827bc6ea90d3b5ec80f0cf770}\label{class_ogre_1_1_resource_manager_abbb523a827bc6ea90d3b5ec80f0cf770}} 
\index{Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}!O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX@{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX}}
\index{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX@{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX}!Ogre\+::\+Material\+Manager@{Ogre\+::\+Material\+Manager}}
\subsubsection{\texorpdfstring{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX}{OGRE\_AUTO\_MUTEX}}
{\footnotesize\ttfamily Ogre\+::\+Resource\+Manager\+::\+O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX\hspace{0.3cm}{\ttfamily [inherited]}}



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_material_manager_8h}{Ogre\+Material\+Manager.\+h}\end{DoxyCompactItemize}
