\hypertarget{class_ogre_1_1_r_t_shader_1_1_program_writer}{}\section{Ogre\+:\+:R\+T\+Shader\+:\+:Program\+Writer Class Reference}
\label{class_ogre_1_1_r_t_shader_1_1_program_writer}\index{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer@{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer}}


Base class interface for shader program writers.  




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



Inheritance diagram for Ogre\+:\+:R\+T\+Shader\+:\+:Program\+Writer\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_ogre_1_1_r_t_shader_1_1_program_writer__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{class_ogre_1_1_r_t_shader_1_1_program_writer_a426deb9a437f21e2d4e2317f01928da0}{$\sim$\+Program\+Writer} ()
\begin{DoxyCompactList}\small\item\em Class destructor. \end{DoxyCompactList}\item 
virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_r_t_shader_1_1_program_writer_adea123814282cb2fd21f504246647b06}{get\+Target\+Language} () const =0
\begin{DoxyCompactList}\small\item\em Return the target language of this writer. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_r_t_shader_1_1_program_writer_a208e3c64685a7302ba304bf38a56b321}{write\+Source\+Code} (std\+::ostream \&os, \hyperlink{class_ogre_1_1_r_t_shader_1_1_program}{Program} $\ast$program)=0
\begin{DoxyCompactList}\small\item\em Write the program shader source code. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Base class interface for shader program writers. 

The main usage of this class is to generate a shader source code from the given C\+PU program. In order to support specific shader language one should subclass this interface and implement the pure methods. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_program_writer_a426deb9a437f21e2d4e2317f01928da0}\label{class_ogre_1_1_r_t_shader_1_1_program_writer_a426deb9a437f21e2d4e2317f01928da0}} 
\index{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer@{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer}!````~Program\+Writer@{$\sim$\+Program\+Writer}}
\index{````~Program\+Writer@{$\sim$\+Program\+Writer}!Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer@{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer}}
\subsubsection{\texorpdfstring{$\sim$\+Program\+Writer()}{~ProgramWriter()}}
{\footnotesize\ttfamily virtual Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer\+::$\sim$\+Program\+Writer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Class destructor. 



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_program_writer_a208e3c64685a7302ba304bf38a56b321}\label{class_ogre_1_1_r_t_shader_1_1_program_writer_a208e3c64685a7302ba304bf38a56b321}} 
\index{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer@{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer}!write\+Source\+Code@{write\+Source\+Code}}
\index{write\+Source\+Code@{write\+Source\+Code}!Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer@{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer}}
\subsubsection{\texorpdfstring{write\+Source\+Code()}{writeSourceCode()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer\+::write\+Source\+Code (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os,  }\item[{\hyperlink{class_ogre_1_1_r_t_shader_1_1_program}{Program} $\ast$}]{program }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Write the program shader source code. 


\begin{DoxyParams}{Parameters}
{\em os} & The output stream to write to code into. \\
\hline
{\em program} & The source C\+PU program for the G\+PU program code. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{class_ogre_1_1_r_t_shader_1_1_c_g_program_writer_a9279b53602e0be2183bd0452ed830c50}{Ogre\+::\+R\+T\+Shader\+::\+C\+G\+Program\+Writer}, \hyperlink{class_ogre_1_1_r_t_shader_1_1_g_l_s_l_e_s_program_writer_adb6a70205228a40b5d5a13d582bbd083}{Ogre\+::\+R\+T\+Shader\+::\+G\+L\+S\+L\+E\+S\+Program\+Writer}, \hyperlink{class_ogre_1_1_r_t_shader_1_1_g_l_s_l_program_writer_ad39cb4912190dd26c5afed7e15b12a0c}{Ogre\+::\+R\+T\+Shader\+::\+G\+L\+S\+L\+Program\+Writer}, and \hyperlink{class_ogre_1_1_r_t_shader_1_1_h_l_s_l_program_writer_ab77fed92caa5cf0351ba50c013968ec6}{Ogre\+::\+R\+T\+Shader\+::\+H\+L\+S\+L\+Program\+Writer}.

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_program_writer_adea123814282cb2fd21f504246647b06}\label{class_ogre_1_1_r_t_shader_1_1_program_writer_adea123814282cb2fd21f504246647b06}} 
\index{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer@{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer}!get\+Target\+Language@{get\+Target\+Language}}
\index{get\+Target\+Language@{get\+Target\+Language}!Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer@{Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer}}
\subsubsection{\texorpdfstring{get\+Target\+Language()}{getTargetLanguage()}}
{\footnotesize\ttfamily virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+R\+T\+Shader\+::\+Program\+Writer\+::get\+Target\+Language (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Return the target language of this writer. 



Implemented in \hyperlink{class_ogre_1_1_r_t_shader_1_1_c_g_program_writer_a53e318e7e106adfae697ee1e5a941d30}{Ogre\+::\+R\+T\+Shader\+::\+C\+G\+Program\+Writer}, \hyperlink{class_ogre_1_1_r_t_shader_1_1_g_l_s_l_e_s_program_writer_aaac0c7afc0a3eb56bdce0c405403bbf8}{Ogre\+::\+R\+T\+Shader\+::\+G\+L\+S\+L\+E\+S\+Program\+Writer}, \hyperlink{class_ogre_1_1_r_t_shader_1_1_g_l_s_l_program_writer_a8d34c45d16e26753da2bb251e1bed6e5}{Ogre\+::\+R\+T\+Shader\+::\+G\+L\+S\+L\+Program\+Writer}, and \hyperlink{class_ogre_1_1_r_t_shader_1_1_h_l_s_l_program_writer_ac2c7d04b1f89ee8a5ba959753c114088}{Ogre\+::\+R\+T\+Shader\+::\+H\+L\+S\+L\+Program\+Writer}.



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