\hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform}{}\doxysection{Ogre\+::R\+T\+Shader\+::F\+F\+P\+Transform Class Reference}
\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform}\index{Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}


Transform 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\+Transform.\+h$>$}



Inheritance diagram for Ogre\+::R\+T\+Shader\+::F\+F\+P\+Transform\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=244pt]{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a67d200c690c3231cb4ba61868bcba344}{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_f_f_p_transform_a92be790cb34c6f56f18cb75e428a0e54}{create\+Cpu\+Sub\+Programs}} (\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_program_set}{Program\+Set}} $\ast$program\+Set)
\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 
virtual int \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a6efd19e2c64fdd54c971c071e53bb12c}{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_transform_a78150bbdb0a2d81b91138cbebe3893af}{get\+Type}} () const
\item 
bool \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a1c542d78bee9616ae29ef356e5e83565}{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)
\begin{DoxyCompactList}\small\item\em Called before adding this sub render state to the given render state. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a4e7f1ead52ab9eda034441d0f3225af9}{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)
\begin{DoxyCompactList}\small\item\em Update G\+PU programs parameters before a rendering operation occurs. \end{DoxyCompactList}\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_transform_a8668a04b70e49c568493fb4dd85afbd4}{Type}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Transform 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/bb206269.aspx}{\texttt{ http\+://msdn.\+microsoft.\+com/en-\/us/library/bb206269.\+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 Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a78150bbdb0a2d81b91138cbebe3893af}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a78150bbdb0a2d81b91138cbebe3893af}} 
\index{Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}!getType@{getType}}
\index{getType@{getType}!Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}
\doxysubsubsection{\texorpdfstring{getType()}{getType()}}
{\footnotesize\ttfamily virtual const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}\& Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Transform\+::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_transform_a6efd19e2c64fdd54c971c071e53bb12c}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a6efd19e2c64fdd54c971c071e53bb12c}} 
\index{Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}!getExecutionOrder@{getExecutionOrder}}
\index{getExecutionOrder@{getExecutionOrder}!Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}
\doxysubsubsection{\texorpdfstring{getExecutionOrder()}{getExecutionOrder()}}
{\footnotesize\ttfamily virtual int Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Transform\+::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_acb48c34ee231f0220f68c967fb32f1e5}{Sub\+Render\+State\+::get\+Execution\+Order}}. 
\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_transform_a67d200c690c3231cb4ba61868bcba344}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a67d200c690c3231cb4ba61868bcba344}} 
\index{Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}!copyFrom@{copyFrom}}
\index{copyFrom@{copyFrom}!Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}
\doxysubsubsection{\texorpdfstring{copyFrom()}{copyFrom()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Transform\+::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_transform_a92be790cb34c6f56f18cb75e428a0e54}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a92be790cb34c6f56f18cb75e428a0e54}} 
\index{Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}!createCpuSubPrograms@{createCpuSubPrograms}}
\index{createCpuSubPrograms@{createCpuSubPrograms}!Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}
\doxysubsubsection{\texorpdfstring{createCpuSubPrograms()}{createCpuSubPrograms()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Transform\+::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]}}

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a4b43c261946926ebbc6456deccc6697a}{Sub\+Render\+State\+::create\+Cpu\+Sub\+Programs}}. 
\end{DoxySeeAlso}


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

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a1c542d78bee9616ae29ef356e5e83565}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a1c542d78bee9616ae29ef356e5e83565}} 
\index{Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}!preAddToRenderState@{preAddToRenderState}}
\index{preAddToRenderState@{preAddToRenderState}!Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}
\doxysubsubsection{\texorpdfstring{preAddToRenderState()}{preAddToRenderState()}}
{\footnotesize\ttfamily bool Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Transform\+::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]}}



Called before adding this sub render state to the given render state. 

Allows this sub render state class to configure specific parameters depending on source pass or parent render state. Return of false value will cause canceling the add operation. 
\begin{DoxyParams}{Parameters}
{\em render\+State} & The target render state container this sub render state is about to be added. ~\newline
 \\
\hline
{\em src\+Pass} & The source pass. \\
\hline
{\em dst\+Pass} & The destination pass. \\
\hline
\end{DoxyParams}


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_sub_render_state_a4e7f1ead52ab9eda034441d0f3225af9}\label{class_ogre_1_1_r_t_shader_1_1_sub_render_state_a4e7f1ead52ab9eda034441d0f3225af9}} 
\index{Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}!updateGpuProgramsParams@{updateGpuProgramsParams}}
\index{updateGpuProgramsParams@{updateGpuProgramsParams}!Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}
\doxysubsubsection{\texorpdfstring{updateGpuProgramsParams()}{updateGpuProgramsParams()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+R\+T\+Shader\+::\+Sub\+Render\+State\+::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 [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Update G\+PU programs parameters before a rendering operation occurs. 

This method is called in the context of Scene\+Manager\+::render\+Single object via the \mbox{\hyperlink{class_ogre_1_1_render_object_listener}{Render\+Object\+Listener}} interface and lets this sub render state instance opportunity to update custom G\+PU program parameters before the rendering action occurs. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_render_object_listener_a99b1b17e89efbbce74756925a4acad38}{Render\+Object\+Listener\+::notify\+Render\+Single\+Object}}. 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em rend} & The renderable that is about to be rendered. \\
\hline
{\em pass} & The pass that used for this rendering. \\
\hline
{\em source} & The auto parameter source. \\
\hline
{\em p\+Light\+List} & The light list used in the current rendering context. \\
\hline
\end{DoxyParams}


Reimplemented in \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_triplanar_texturing_a3ef781cfaddc6dfa0a7304097d50154a}{Ogre\+::\+R\+T\+Shader\+::\+Triplanar\+Texturing}}, \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_texture_atlas_sampler_a2c76b2d5fb2987a00afa89ac3791fe71}{Ogre\+::\+R\+T\+Shader\+::\+Texture\+Atlas\+Sampler}}, \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_alpha_test_acb51c3ab9d29e1ceab2cb07bddd3ce2d}{Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Alpha\+Test}}, \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_fog_aa30fb4a1b8ff8729ddd1dee72a1773a7}{Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Fog}}, \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_integrated_p_s_s_m3_ab2f76951f52f6ebd234a3140e2e9841c}{Ogre\+::\+R\+T\+Shader\+::\+Integrated\+P\+S\+S\+M3}}, \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_texturing_a116c0f1629b41df77d42f23908631489}{Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Texturing}}, \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_f_f_p_lighting_adf8e004b962ba95d5d11fb47fe7a7530}{Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Lighting}}, and \mbox{\hyperlink{class_ogre_1_1_r_t_shader_1_1_normal_map_lighting_ac1ae6e2ad7ccdfb4f4ae68fa60cce4a1}{Ogre\+::\+R\+T\+Shader\+::\+Normal\+Map\+Lighting}}.

\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::FFPTransform@{Ogre::RTShader::FFPTransform}!getAccessor@{getAccessor}}
\index{getAccessor@{getAccessor}!Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}
\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::FFPTransform@{Ogre::RTShader::FFPTransform}!getAccessor@{getAccessor}}
\index{getAccessor@{getAccessor}!Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}
\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_transform_a8668a04b70e49c568493fb4dd85afbd4}\label{class_ogre_1_1_r_t_shader_1_1_f_f_p_transform_a8668a04b70e49c568493fb4dd85afbd4}} 
\index{Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}!Type@{Type}}
\index{Type@{Type}!Ogre::RTShader::FFPTransform@{Ogre::RTShader::FFPTransform}}
\doxysubsubsection{\texorpdfstring{Type}{Type}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} Ogre\+::\+R\+T\+Shader\+::\+F\+F\+P\+Transform\+::\+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_transform_8h}{Ogre\+Shader\+F\+F\+P\+Transform.\+h}}\end{DoxyCompactItemize}
