\hypertarget{namespace_ogre_1_1_g_l_s_l}{}\section{Ogre\+:\+:G\+L\+SL Namespace Reference}
\label{namespace_ogre_1_1_g_l_s_l}\index{Ogre\+::\+G\+L\+SL@{Ogre\+::\+G\+L\+SL}}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{class_ogre_1_1_g_l_s_l_1_1_g_l_s_l_gpu_program}{G\+L\+S\+L\+Gpu\+Program}
\begin{DoxyCompactList}\small\item\em \hyperlink{namespace_ogre_1_1_g_l_s_l}{G\+L\+SL} low level compiled shader object -\/ this class is used to get at the linked program object and provide an interface for \hyperlink{class_ogre_1_1_g_l_render_system}{G\+L\+Render\+System} calls. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_g_l_s_l_1_1_g_l_s_l_link_program}{G\+L\+S\+L\+Link\+Program}
\begin{DoxyCompactList}\small\item\em C++ encapsulation of \hyperlink{namespace_ogre_1_1_g_l_s_l}{G\+L\+SL} Program Object. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_g_l_s_l_1_1_g_l_s_l_link_program_manager}{G\+L\+S\+L\+Link\+Program\+Manager}
\item 
class \hyperlink{class_ogre_1_1_g_l_s_l_1_1_g_l_s_l_program}{G\+L\+S\+L\+Program}
\begin{DoxyCompactList}\small\item\em Specialisation of \hyperlink{class_ogre_1_1_high_level_gpu_program}{High\+Level\+Gpu\+Program} to provide support for Open\+GL Shader Language (\hyperlink{namespace_ogre_1_1_g_l_s_l}{G\+L\+SL}). \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_g_l_s_l_1_1_g_l_s_l_program_factory}{G\+L\+S\+L\+Program\+Factory}
\begin{DoxyCompactList}\small\item\em Factory class for \hyperlink{namespace_ogre_1_1_g_l_s_l}{G\+L\+SL} programs. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{namespace_ogre_1_1_g_l_s_l_af7f7e123f60e128dcee954ef2ab64ed6}{get\+Object\+Info} (G\+Luint obj)
\begin{DoxyCompactList}\small\item\em just return the info without logging it \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{namespace_ogre_1_1_g_l_s_l_a288748bd2f8df037db03fa864e2ecaff}{log\+Object\+Info} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&msg, G\+Lhandle\+A\+RB obj)
\begin{DoxyCompactList}\small\item\em if there is a message in GL info log then post it in the \hyperlink{namespace_ogre}{Ogre} \hyperlink{class_ogre_1_1_log}{Log} \end{DoxyCompactList}\item 
void \hyperlink{namespace_ogre_1_1_g_l_s_l_a2d3acd2bf86281d58f43a006156a123c}{report\+G\+L\+S\+L\+Error} (G\+Lenum gl\+Err, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&ogre\+Method, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&error\+Text\+Prefix, const G\+Lhandle\+A\+RB obj, const bool force\+Info\+Log=false, const bool force\+Exception=false)
\begin{DoxyCompactList}\small\item\em Check for GL errors and report them in the \hyperlink{namespace_ogre}{Ogre} \hyperlink{class_ogre_1_1_log}{Log}. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Function Documentation}
\mbox{\Hypertarget{namespace_ogre_1_1_g_l_s_l_a2d3acd2bf86281d58f43a006156a123c}\label{namespace_ogre_1_1_g_l_s_l_a2d3acd2bf86281d58f43a006156a123c}} 
\index{Ogre\+::\+G\+L\+SL@{Ogre\+::\+G\+L\+SL}!report\+G\+L\+S\+L\+Error@{report\+G\+L\+S\+L\+Error}}
\index{report\+G\+L\+S\+L\+Error@{report\+G\+L\+S\+L\+Error}!Ogre\+::\+G\+L\+SL@{Ogre\+::\+G\+L\+SL}}
\subsubsection{\texorpdfstring{report\+G\+L\+S\+L\+Error()}{reportGLSLError()}}
{\footnotesize\ttfamily void Ogre\+::\+G\+L\+S\+L\+::report\+G\+L\+S\+L\+Error (\begin{DoxyParamCaption}\item[{G\+Lenum}]{gl\+Err,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{ogre\+Method,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{error\+Text\+Prefix,  }\item[{const G\+Lhandle\+A\+RB}]{obj,  }\item[{const bool}]{force\+Info\+Log = {\ttfamily false},  }\item[{const bool}]{force\+Exception = {\ttfamily false} }\end{DoxyParamCaption})}



Check for GL errors and report them in the \hyperlink{namespace_ogre}{Ogre} \hyperlink{class_ogre_1_1_log}{Log}. 

\mbox{\Hypertarget{namespace_ogre_1_1_g_l_s_l_a288748bd2f8df037db03fa864e2ecaff}\label{namespace_ogre_1_1_g_l_s_l_a288748bd2f8df037db03fa864e2ecaff}} 
\index{Ogre\+::\+G\+L\+SL@{Ogre\+::\+G\+L\+SL}!log\+Object\+Info@{log\+Object\+Info}}
\index{log\+Object\+Info@{log\+Object\+Info}!Ogre\+::\+G\+L\+SL@{Ogre\+::\+G\+L\+SL}}
\subsubsection{\texorpdfstring{log\+Object\+Info()}{logObjectInfo()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+G\+L\+S\+L\+::log\+Object\+Info (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{msg,  }\item[{G\+Lhandle\+A\+RB}]{obj }\end{DoxyParamCaption})}



if there is a message in GL info log then post it in the \hyperlink{namespace_ogre}{Ogre} \hyperlink{class_ogre_1_1_log}{Log} 


\begin{DoxyParams}{Parameters}
{\em msg} & the info log message string is appended to this string \\
\hline
{\em obj} & the GL object that is used to retrieve the info log \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{namespace_ogre_1_1_g_l_s_l_af7f7e123f60e128dcee954ef2ab64ed6}\label{namespace_ogre_1_1_g_l_s_l_af7f7e123f60e128dcee954ef2ab64ed6}} 
\index{Ogre\+::\+G\+L\+SL@{Ogre\+::\+G\+L\+SL}!get\+Object\+Info@{get\+Object\+Info}}
\index{get\+Object\+Info@{get\+Object\+Info}!Ogre\+::\+G\+L\+SL@{Ogre\+::\+G\+L\+SL}}
\subsubsection{\texorpdfstring{get\+Object\+Info()}{getObjectInfo()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+G\+L\+S\+L\+::get\+Object\+Info (\begin{DoxyParamCaption}\item[{G\+Luint}]{obj }\end{DoxyParamCaption})}



just return the info without logging it 

