\hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog}{}\doxysection{Ogre\+::R\+T\+Shader\+::F\+F\+P\+Fog Class Reference}
\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog}\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}


Fog sub render state implementation of the Fixed \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_function}{Function}} Pipeline.  




{\ttfamily \#include $<$Ogre\+Shader\+F\+F\+P\+Fog.\+h$>$}



Inheritance diagram for Ogre\+::R\+T\+Shader\+::F\+F\+P\+Fog\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=230pt]{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24}{Calc\+Mode}} \{ \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24a39da90583dcc011b11b6289951c0c758}{C\+M\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+EX}} = 1, 
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24a8b8afcfcadf47bf10484ebafcc615327}{C\+M\+\_\+\+P\+E\+R\+\_\+\+P\+I\+X\+EL}} = 2
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a8a959d87777d1c83ae68f598b26100b9}{F\+F\+P\+Fog}} ()
\begin{DoxyCompactList}\small\item\em Class default constructor. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_abd07c284b6bfb0ff25b133e3f6c5a117}{copy\+From}} (const \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state}{Sub\+Render\+State}} \&rhs)
\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a4b43c261946926ebbc6456deccc6697a}{create\+Cpu\+Sub\+Programs}} (\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_program_set}{Program\+Set}} $\ast$program\+Set)
\begin{DoxyCompactList}\small\item\em Create sub programs that represents this sub render state as part of a program set. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_t_shader_gaecbe3817ee5b43f1962309c03d39da99}{Sub\+Render\+State\+Accessor\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_aa73560a3f1b9117cb8b438867848c255}{get\+Accessor}} ()
\begin{DoxyCompactList}\small\item\em Return the accessor object to this sub render state. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_t_shader_gaecbe3817ee5b43f1962309c03d39da99}{Sub\+Render\+State\+Accessor\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a9d34ec312d5b8a627be41da5b57382eb}{get\+Accessor}} () const
\begin{DoxyCompactList}\small\item\em Return the accessor object to this sub render state. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24}{Calc\+Mode}} \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a425d90ac6afb80ec193c98044c9f7b42}{get\+Calc\+Mode}} () const
\begin{DoxyCompactList}\small\item\em Return the current calculation mode. \end{DoxyCompactList}\item 
virtual int \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a579a251e68889b5f1c7bce34e845095b}{get\+Execution\+Order}} () const
\item 
virtual const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \& \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_ab6407600682b766be0044f3506832ddc}{get\+Type}} () const
\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a16abb7297592de23c6f5b10d39b09925}{pre\+Add\+To\+Render\+State}} (const \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_render_state}{Render\+State}} $\ast$render\+State, \mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$src\+Pass, \mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$dst\+Pass)
\item 
void \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_ae1b22380673f8f4a4ccadfc350f3ae0f}{set\+Calc\+Mode}} (\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24}{Calc\+Mode}} calc\+Mode)
\begin{DoxyCompactList}\small\item\em Set the fog calculation mode. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a6e188ab38b23bbdaf5a8b83bcf8cc004}{set\+Fog\+Properties}} (\mbox{\hyperlink{group___general_ga83edeb2e5d33a3ca8f15834ba40020ba}{Fog\+Mode}} fog\+Mode, const \mbox{\hyperlink{class_ogre_1_1_colour_value}{Colour\+Value}} \&fog\+Colour, float fog\+Start, float fog\+End, float fog\+Density)
\begin{DoxyCompactList}\small\item\em Set the fog properties this fog sub render state should emulate. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_aa30fb4a1b8ff8729ddd1dee72a1773a7}{update\+Gpu\+Programs\+Params}} (\mbox{\hyperlink{class_ogre_1_1_renderable}{Renderable}} $\ast$rend, const \mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$pass, const \mbox{\hyperlink{class_ogre_1_1_auto_param_data_source}{Auto\+Param\+Data\+Source}} $\ast$source, const \mbox{\hyperlink{group___general_gaab30ef14aae93306a6044cb38d835f0c}{Light\+List}} $\ast$p\+Light\+List)
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a440a7bcc86823142c7cb0adc114e33bc}{Type}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Fog sub render state implementation of the Fixed \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_function}{Function}} Pipeline. 

\begin{DoxySeeAlso}{See also}
\href{http://msdn.microsoft.com/en-us/library/bb173398.aspx}{\texttt{ http\+://msdn.\+microsoft.\+com/en-\/us/library/bb173398.\+aspx}} Derives from \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state}{Sub\+Render\+State}} class. 
\end{DoxySeeAlso}


\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!CalcMode@{CalcMode}}
\index{CalcMode@{CalcMode}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{CalcMode}{CalcMode}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24}{Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::\+Calc\+Mode}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{CM\_PER\_VERTEX@{CM\_PER\_VERTEX}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!CM\_PER\_VERTEX@{CM\_PER\_VERTEX}}}\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24a39da90583dcc011b11b6289951c0c758}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24a39da90583dcc011b11b6289951c0c758}} 
C\+M\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+EX&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CM\_PER\_PIXEL@{CM\_PER\_PIXEL}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!CM\_PER\_PIXEL@{CM\_PER\_PIXEL}}}\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24a8b8afcfcadf47bf10484ebafcc615327}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24a8b8afcfcadf47bf10484ebafcc615327}} 
C\+M\+\_\+\+P\+E\+R\+\_\+\+P\+I\+X\+EL&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a8a959d87777d1c83ae68f598b26100b9}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a8a959d87777d1c83ae68f598b26100b9}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!FFPFog@{FFPFog}}
\index{FFPFog@{FFPFog}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{FFPFog()}{FFPFog()}}
{\footnotesize\ttfamily Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::\+F\+F\+P\+Fog (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Class default constructor. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_ab6407600682b766be0044f3506832ddc}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_ab6407600682b766be0044f3506832ddc}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!getType@{getType}}
\index{getType@{getType}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{getType()}{getType()}}
{\footnotesize\ttfamily virtual const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}\& Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::get\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_ae91b7b8f76848d67652b6e5832a27a49}{Sub\+Render\+State\+::get\+Type}}. 
\end{DoxySeeAlso}


Implements \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_ae91b7b8f76848d67652b6e5832a27a49}{Ogre\+::\+R\+T\+Shader\+::\+Sub\+Render\+State}}.

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a579a251e68889b5f1c7bce34e845095b}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a579a251e68889b5f1c7bce34e845095b}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!getExecutionOrder@{getExecutionOrder}}
\index{getExecutionOrder@{getExecutionOrder}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{getExecutionOrder()}{getExecutionOrder()}}
{\footnotesize\ttfamily virtual int Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::get\+Execution\+Order (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_ae91b7b8f76848d67652b6e5832a27a49}{Sub\+Render\+State\+::get\+Type}}. 
\end{DoxySeeAlso}


Implements \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_acb48c34ee231f0220f68c967fb32f1e5}{Ogre\+::\+R\+T\+Shader\+::\+Sub\+Render\+State}}.

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_aa30fb4a1b8ff8729ddd1dee72a1773a7}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_aa30fb4a1b8ff8729ddd1dee72a1773a7}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!updateGpuProgramsParams@{updateGpuProgramsParams}}
\index{updateGpuProgramsParams@{updateGpuProgramsParams}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{updateGpuProgramsParams()}{updateGpuProgramsParams()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::update\+Gpu\+Programs\+Params (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_renderable}{Renderable}} $\ast$}]{rend,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$}]{pass,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_auto_param_data_source}{Auto\+Param\+Data\+Source}} $\ast$}]{source,  }\item[{const \mbox{\hyperlink{group___general_gaab30ef14aae93306a6044cb38d835f0c}{Light\+List}} $\ast$}]{p\+Light\+List }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a4e7f1ead52ab9eda034441d0f3225af9}{Sub\+Render\+State\+::update\+Gpu\+Programs\+Params}}. 
\end{DoxySeeAlso}


Reimplemented from \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a4e7f1ead52ab9eda034441d0f3225af9}{Ogre\+::\+R\+T\+Shader\+::\+Sub\+Render\+State}}.

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_abd07c284b6bfb0ff25b133e3f6c5a117}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_abd07c284b6bfb0ff25b133e3f6c5a117}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!copyFrom@{copyFrom}}
\index{copyFrom@{copyFrom}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{copyFrom()}{copyFrom()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::copy\+From (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state}{Sub\+Render\+State}} \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a5dfe9f03413e0fe99ea2640f06c1f13c}{Sub\+Render\+State\+::copy\+From}}. 
\end{DoxySeeAlso}


Implements \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a5dfe9f03413e0fe99ea2640f06c1f13c}{Ogre\+::\+R\+T\+Shader\+::\+Sub\+Render\+State}}.

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a16abb7297592de23c6f5b10d39b09925}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a16abb7297592de23c6f5b10d39b09925}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!preAddToRenderState@{preAddToRenderState}}
\index{preAddToRenderState@{preAddToRenderState}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{preAddToRenderState()}{preAddToRenderState()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::pre\+Add\+To\+Render\+State (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_render_state}{Render\+State}} $\ast$}]{render\+State,  }\item[{\mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$}]{src\+Pass,  }\item[{\mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$}]{dst\+Pass }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_afd08043cfad43a1ae470c3c1be341ba1}{Sub\+Render\+State\+::pre\+Add\+To\+Render\+State}}. 
\end{DoxySeeAlso}


Reimplemented from \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_afd08043cfad43a1ae470c3c1be341ba1}{Ogre\+::\+R\+T\+Shader\+::\+Sub\+Render\+State}}.

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a6e188ab38b23bbdaf5a8b83bcf8cc004}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a6e188ab38b23bbdaf5a8b83bcf8cc004}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!setFogProperties@{setFogProperties}}
\index{setFogProperties@{setFogProperties}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{setFogProperties()}{setFogProperties()}}
{\footnotesize\ttfamily void Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::set\+Fog\+Properties (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group___general_ga83edeb2e5d33a3ca8f15834ba40020ba}{Fog\+Mode}}}]{fog\+Mode,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_colour_value}{Colour\+Value}} \&}]{fog\+Colour,  }\item[{float}]{fog\+Start,  }\item[{float}]{fog\+End,  }\item[{float}]{fog\+Density }\end{DoxyParamCaption})}



Set the fog properties this fog sub render state should emulate. 


\begin{DoxyParams}{Parameters}
{\em fog\+Mode} & The fog mode to emulate (F\+O\+G\+\_\+\+N\+O\+NE, F\+O\+G\+\_\+\+E\+XP, F\+O\+G\+\_\+\+E\+X\+P2, F\+O\+G\+\_\+\+L\+I\+N\+E\+AR). \\
\hline
{\em fog\+Colour} & The colour of the fog. \\
\hline
{\em fog\+Start} & Start distance of fog, used for linear mode only. \\
\hline
{\em fog\+End} & End distance of fog, used for linear mode only. \\
\hline
{\em fog\+Density} & Fog density used in exponential modes only. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\href{http://msdn.microsoft.com/en-us/library/bb173401.aspx}{\texttt{ http\+://msdn.\+microsoft.\+com/en-\/us/library/bb173401.\+aspx}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_ae1b22380673f8f4a4ccadfc350f3ae0f}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_ae1b22380673f8f4a4ccadfc350f3ae0f}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!setCalcMode@{setCalcMode}}
\index{setCalcMode@{setCalcMode}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{setCalcMode()}{setCalcMode()}}
{\footnotesize\ttfamily void Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::set\+Calc\+Mode (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24}{Calc\+Mode}}}]{calc\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Set the fog calculation mode. 

Either per vertex or per pixel. 
\begin{DoxyParams}{Parameters}
{\em calc\+Mode} & The calculation mode to set. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a425d90ac6afb80ec193c98044c9f7b42}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a425d90ac6afb80ec193c98044c9f7b42}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!getCalcMode@{getCalcMode}}
\index{getCalcMode@{getCalcMode}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{getCalcMode()}{getCalcMode()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a3f3fe627121288337ab50fb196b27c24}{Calc\+Mode}} Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::get\+Calc\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Return the current calculation mode. 

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a4b43c261946926ebbc6456deccc6697a}\label{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a4b43c261946926ebbc6456deccc6697a}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!createCpuSubPrograms@{createCpuSubPrograms}}
\index{createCpuSubPrograms@{createCpuSubPrograms}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{createCpuSubPrograms()}{createCpuSubPrograms()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+R\+T\+Shader\+::\+Sub\+Render\+State\+::create\+Cpu\+Sub\+Programs (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_program_set}{Program\+Set}} $\ast$}]{program\+Set }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Create sub programs that represents this sub render state as part of a program set. 

The given program set contains C\+PU programs that represents a vertex shader and pixel shader. One should use these program class A\+PI to create a representation of the sub state he wished to implement. 
\begin{DoxyParams}{Parameters}
{\em program\+Set} & container class of C\+PU and G\+PU programs that this sub state will affect on. \\
\hline
\end{DoxyParams}


Reimplemented in \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a92be790cb34c6f56f18cb75e428a0e54}{Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Transform}}.

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_sub_render_state_aa73560a3f1b9117cb8b438867848c255}\label{class_ogre_1_1_r_t_shader_1_1_sub_render_state_aa73560a3f1b9117cb8b438867848c255}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!getAccessor@{getAccessor}}
\index{getAccessor@{getAccessor}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{getAccessor()}{getAccessor()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group___r_t_shader_gaecbe3817ee5b43f1962309c03d39da99}{Sub\+Render\+State\+Accessor\+Ptr}} Ogre\+::\+R\+T\+Shader\+::\+Sub\+Render\+State\+::get\+Accessor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Return the accessor object to this sub render state. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_accessor}{Sub\+Render\+State\+Accessor}}. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a9d34ec312d5b8a627be41da5b57382eb}\label{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a9d34ec312d5b8a627be41da5b57382eb}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!getAccessor@{getAccessor}}
\index{getAccessor@{getAccessor}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{getAccessor()}{getAccessor()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{group___r_t_shader_gaecbe3817ee5b43f1962309c03d39da99}{Sub\+Render\+State\+Accessor\+Ptr}} Ogre\+::\+R\+T\+Shader\+::\+Sub\+Render\+State\+::get\+Accessor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Return the accessor object to this sub render state. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_accessor}{Sub\+Render\+State\+Accessor}}. 
\end{DoxySeeAlso}


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a440a7bcc86823142c7cb0adc114e33bc}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_a440a7bcc86823142c7cb0adc114e33bc}} 
\index{Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}!Type@{Type}}
\index{Type@{Type}!Ogre::RTShader::FFPFog@{Ogre::RTShader::FFPFog}}
\doxysubsubsection{\texorpdfstring{Type}{Type}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog\+::\+Type\hspace{0.3cm}{\ttfamily [static]}}



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_shader_f_f_p_fog_8h}{Ogre\+Shader\+F\+F\+P\+Fog.\+h}}\end{DoxyCompactItemize}
