\hypertarget{class_ogre_1_1_quake3_shader}{}\section{Ogre\+:\+:Quake3\+Shader Class Reference}
\label{class_ogre_1_1_quake3_shader}\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}


Class for recording Quake3 shaders.  




{\ttfamily \#include $<$Ogre\+Quake3\+Shader.\+h$>$}



Inheritance diagram for Ogre\+:\+:Quake3\+Shader\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=197pt]{class_ogre_1_1_quake3_shader__inherit__graph}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct_ogre_1_1_quake3_shader_1_1_pass}{Pass}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef std\+::vector$<$ \hyperlink{struct_ogre_1_1_quake3_shader_1_1_pass}{Pass} $>$ \hyperlink{class_ogre_1_1_quake3_shader_ad7b3d5bf7769ee2f2a676e083e0bb095}{Pass\+List}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_quake3_shader_ac0b6f67499f46ba23725a05a0e60d17d}{Quake3\+Shader} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name)
\begin{DoxyCompactList}\small\item\em Default constructor -\/ used by \hyperlink{class_ogre_1_1_quake3_shader_manager}{Quake3\+Shader\+Manager} (do not call directly) \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_quake3_shader_a3efafbb73d988f264688b9717f27ce88}{$\sim$\+Quake3\+Shader} ()
\item 
\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} \hyperlink{class_ogre_1_1_quake3_shader_a4f1c3ec931337a69a7edcb2fa62cb0ee}{create\+As\+Material} (int lightmap\+Number)
\begin{DoxyCompactList}\small\item\em Creates this shader as an O\+G\+RE material. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_quake3_shader_a9af19367349f5a64cbd834b3088ce770}{cloud\+Height}
\item 
\hyperlink{group___general_ga07ec94cf178172a6778223e6f70f23fc}{Manual\+Culling\+Mode} \hyperlink{class_ogre_1_1_quake3_shader_a3a28219c238c5963fefda9e2c78a91bd}{cull\+Mode}
\item 
\hyperlink{_ogre_quake3_types_8h_a48a11311dd79091d26fbf9aa6ae7efde}{Deform\+Func} \hyperlink{class_ogre_1_1_quake3_shader_a8cbcb41829eb6122ed616d9cff4979fb}{deform\+Func}
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_quake3_shader_a79044175c8a5a07064385a9b274e2106}{deform\+Params} \mbox{[}5\mbox{]}
\item 
bool \hyperlink{class_ogre_1_1_quake3_shader_a2f7423114a04b0658cdd7054cb3e74b1}{farbox}
\item 
\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{class_ogre_1_1_quake3_shader_a6f3023f6aa4b588ff439f71f3f4f7963}{farbox\+Name}
\item 
unsigned int \hyperlink{class_ogre_1_1_quake3_shader_a998c167411f07d9ee3e7f95cc5c1554a}{flags}
\item 
bool \hyperlink{class_ogre_1_1_quake3_shader_a850367a4b81bc8cca5038a933e7a1bec}{fog}
\item 
\hyperlink{class_ogre_1_1_colour_value}{Colour\+Value} \hyperlink{class_ogre_1_1_quake3_shader_acf534e3515696efa77c494c5cdc81037}{fog\+Colour}
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_quake3_shader_a93981881b949bba28d70cbdc5b4aec23}{fog\+Distance}
\item 
int \hyperlink{class_ogre_1_1_quake3_shader_a48f817b66499c02d8d4f47ae8198066e}{num\+Passes}
\item 
\hyperlink{class_ogre_1_1_quake3_shader_ad7b3d5bf7769ee2f2a676e083e0bb095}{Pass\+List} \hyperlink{class_ogre_1_1_quake3_shader_aeca19371ba22a7d01df9eaeab3ed9d66}{pass}
\item 
bool \hyperlink{class_ogre_1_1_quake3_shader_a74e4651c3b9dec1d99c402ad756d0595}{sky\+Dome}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class for recording Quake3 shaders. 

This is a temporary holding area since shaders are actually converted into \hyperlink{class_ogre_1_1_material}{Material} objects for use in the engine proper. However, because we have to read in shader definitions en masse (because they are stored in shared .shader files) without knowing which will actually be used, we store their definitions here temporarily since their instantiations as Materials would use precious resources because of the automatic loading of textures etc. 

\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_ad7b3d5bf7769ee2f2a676e083e0bb095}\label{class_ogre_1_1_quake3_shader_ad7b3d5bf7769ee2f2a676e083e0bb095}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!Pass\+List@{Pass\+List}}
\index{Pass\+List@{Pass\+List}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{Pass\+List}{PassList}}
{\footnotesize\ttfamily typedef std\+::vector$<$\hyperlink{struct_ogre_1_1_quake3_shader_1_1_pass}{Pass}$>$ \hyperlink{class_ogre_1_1_quake3_shader_ad7b3d5bf7769ee2f2a676e083e0bb095}{Ogre\+::\+Quake3\+Shader\+::\+Pass\+List}}



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_ac0b6f67499f46ba23725a05a0e60d17d}\label{class_ogre_1_1_quake3_shader_ac0b6f67499f46ba23725a05a0e60d17d}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!Quake3\+Shader@{Quake3\+Shader}}
\index{Quake3\+Shader@{Quake3\+Shader}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{Quake3\+Shader()}{Quake3Shader()}}
{\footnotesize\ttfamily Ogre\+::\+Quake3\+Shader\+::\+Quake3\+Shader (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name }\end{DoxyParamCaption})}



Default constructor -\/ used by \hyperlink{class_ogre_1_1_quake3_shader_manager}{Quake3\+Shader\+Manager} (do not call directly) 

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a3efafbb73d988f264688b9717f27ce88}\label{class_ogre_1_1_quake3_shader_a3efafbb73d988f264688b9717f27ce88}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!````~Quake3\+Shader@{$\sim$\+Quake3\+Shader}}
\index{````~Quake3\+Shader@{$\sim$\+Quake3\+Shader}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{$\sim$\+Quake3\+Shader()}{~Quake3Shader()}}
{\footnotesize\ttfamily Ogre\+::\+Quake3\+Shader\+::$\sim$\+Quake3\+Shader (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a4f1c3ec931337a69a7edcb2fa62cb0ee}\label{class_ogre_1_1_quake3_shader_a4f1c3ec931337a69a7edcb2fa62cb0ee}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!create\+As\+Material@{create\+As\+Material}}
\index{create\+As\+Material@{create\+As\+Material}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{create\+As\+Material()}{createAsMaterial()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr} Ogre\+::\+Quake3\+Shader\+::create\+As\+Material (\begin{DoxyParamCaption}\item[{int}]{lightmap\+Number }\end{DoxyParamCaption})}



Creates this shader as an O\+G\+RE material. 

Creates a new material based on this shaders settings. \hyperlink{class_ogre_1_1_material}{Material} name shader\+::lightmap. 

\subsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a998c167411f07d9ee3e7f95cc5c1554a}\label{class_ogre_1_1_quake3_shader_a998c167411f07d9ee3e7f95cc5c1554a}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!flags@{flags}}
\index{flags@{flags}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{flags}{flags}}
{\footnotesize\ttfamily unsigned int Ogre\+::\+Quake3\+Shader\+::flags}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a48f817b66499c02d8d4f47ae8198066e}\label{class_ogre_1_1_quake3_shader_a48f817b66499c02d8d4f47ae8198066e}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!num\+Passes@{num\+Passes}}
\index{num\+Passes@{num\+Passes}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{num\+Passes}{numPasses}}
{\footnotesize\ttfamily int Ogre\+::\+Quake3\+Shader\+::num\+Passes}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_aeca19371ba22a7d01df9eaeab3ed9d66}\label{class_ogre_1_1_quake3_shader_aeca19371ba22a7d01df9eaeab3ed9d66}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!pass@{pass}}
\index{pass@{pass}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{pass}{pass}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_quake3_shader_ad7b3d5bf7769ee2f2a676e083e0bb095}{Pass\+List} Ogre\+::\+Quake3\+Shader\+::pass}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a2f7423114a04b0658cdd7054cb3e74b1}\label{class_ogre_1_1_quake3_shader_a2f7423114a04b0658cdd7054cb3e74b1}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!farbox@{farbox}}
\index{farbox@{farbox}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{farbox}{farbox}}
{\footnotesize\ttfamily bool Ogre\+::\+Quake3\+Shader\+::farbox}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a6f3023f6aa4b588ff439f71f3f4f7963}\label{class_ogre_1_1_quake3_shader_a6f3023f6aa4b588ff439f71f3f4f7963}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!farbox\+Name@{farbox\+Name}}
\index{farbox\+Name@{farbox\+Name}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{farbox\+Name}{farboxName}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+Quake3\+Shader\+::farbox\+Name}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a74e4651c3b9dec1d99c402ad756d0595}\label{class_ogre_1_1_quake3_shader_a74e4651c3b9dec1d99c402ad756d0595}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!sky\+Dome@{sky\+Dome}}
\index{sky\+Dome@{sky\+Dome}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{sky\+Dome}{skyDome}}
{\footnotesize\ttfamily bool Ogre\+::\+Quake3\+Shader\+::sky\+Dome}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a9af19367349f5a64cbd834b3088ce770}\label{class_ogre_1_1_quake3_shader_a9af19367349f5a64cbd834b3088ce770}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!cloud\+Height@{cloud\+Height}}
\index{cloud\+Height@{cloud\+Height}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{cloud\+Height}{cloudHeight}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Quake3\+Shader\+::cloud\+Height}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a8cbcb41829eb6122ed616d9cff4979fb}\label{class_ogre_1_1_quake3_shader_a8cbcb41829eb6122ed616d9cff4979fb}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!deform\+Func@{deform\+Func}}
\index{deform\+Func@{deform\+Func}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{deform\+Func}{deformFunc}}
{\footnotesize\ttfamily \hyperlink{_ogre_quake3_types_8h_a48a11311dd79091d26fbf9aa6ae7efde}{Deform\+Func} Ogre\+::\+Quake3\+Shader\+::deform\+Func}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a79044175c8a5a07064385a9b274e2106}\label{class_ogre_1_1_quake3_shader_a79044175c8a5a07064385a9b274e2106}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!deform\+Params@{deform\+Params}}
\index{deform\+Params@{deform\+Params}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{deform\+Params}{deformParams}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Quake3\+Shader\+::deform\+Params\mbox{[}5\mbox{]}}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a3a28219c238c5963fefda9e2c78a91bd}\label{class_ogre_1_1_quake3_shader_a3a28219c238c5963fefda9e2c78a91bd}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!cull\+Mode@{cull\+Mode}}
\index{cull\+Mode@{cull\+Mode}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{cull\+Mode}{cullMode}}
{\footnotesize\ttfamily \hyperlink{group___general_ga07ec94cf178172a6778223e6f70f23fc}{Manual\+Culling\+Mode} Ogre\+::\+Quake3\+Shader\+::cull\+Mode}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a850367a4b81bc8cca5038a933e7a1bec}\label{class_ogre_1_1_quake3_shader_a850367a4b81bc8cca5038a933e7a1bec}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!fog@{fog}}
\index{fog@{fog}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{fog}{fog}}
{\footnotesize\ttfamily bool Ogre\+::\+Quake3\+Shader\+::fog}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_acf534e3515696efa77c494c5cdc81037}\label{class_ogre_1_1_quake3_shader_acf534e3515696efa77c494c5cdc81037}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!fog\+Colour@{fog\+Colour}}
\index{fog\+Colour@{fog\+Colour}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{fog\+Colour}{fogColour}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_colour_value}{Colour\+Value} Ogre\+::\+Quake3\+Shader\+::fog\+Colour}

\mbox{\Hypertarget{class_ogre_1_1_quake3_shader_a93981881b949bba28d70cbdc5b4aec23}\label{class_ogre_1_1_quake3_shader_a93981881b949bba28d70cbdc5b4aec23}} 
\index{Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}!fog\+Distance@{fog\+Distance}}
\index{fog\+Distance@{fog\+Distance}!Ogre\+::\+Quake3\+Shader@{Ogre\+::\+Quake3\+Shader}}
\subsubsection{\texorpdfstring{fog\+Distance}{fogDistance}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Quake3\+Shader\+::fog\+Distance}



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