\hypertarget{a01155}{\section{G\+L\+S\+L\+:\+:Shader Class Reference}
\label{a01155}\index{G\+L\+S\+L\+::\+Shader@{G\+L\+S\+L\+::\+Shader}}
}


A generic shader base class.  




{\ttfamily \#include $<$A\+C\+G/\+Shader\+Utils/\+G\+L\+S\+L\+Shader.\+hh$>$}

Inheritance diagram for G\+L\+S\+L\+:\+:Shader\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.842105cm]{a01155}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a01155_a7955bf03606cd29170724cc45c5db796}{Shader} (G\+Lenum shader\+Type)
\begin{DoxyCompactList}\small\item\em Creates a new shader. \end{DoxyCompactList}\item 
\hypertarget{a01155_a73139b10057cc598b194c176d4d713a4}{virtual \hyperlink{a01155_a73139b10057cc598b194c176d4d713a4}{$\sim$\+Shader} ()}\label{a01155_a73139b10057cc598b194c176d4d713a4}

\begin{DoxyCompactList}\small\item\em Deletes the shader object. \end{DoxyCompactList}\item 
\hypertarget{a01155_ab1f05ae366e44beac665b35d5b23da54}{void \hyperlink{a01155_ab1f05ae366e44beac665b35d5b23da54}{set\+Source} (const String\+List \&source)}\label{a01155_ab1f05ae366e44beac665b35d5b23da54}

\begin{DoxyCompactList}\small\item\em Upload the source of the shader. \end{DoxyCompactList}\item 
\hypertarget{a01155_ac42443b0c418fbacb40396a6265788f9}{void \hyperlink{a01155_ac42443b0c418fbacb40396a6265788f9}{set\+Source} (const Q\+String\+List \&source)}\label{a01155_ac42443b0c418fbacb40396a6265788f9}

\begin{DoxyCompactList}\small\item\em Upload the source of the shader. \end{DoxyCompactList}\item 
bool \hyperlink{a01155_a81cbfd90d7347bc06f715d068c60d06a}{compile} (bool verbose=true)
\begin{DoxyCompactList}\small\item\em Compile the shader object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01155_a10e37e6a665f8b183193f7c281feb229}{G\+Luint {\bfseries m\+\_\+shader\+Id}}\label{a01155_a10e37e6a665f8b183193f7c281feb229}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01155_a0432bf4ab621f4098afac914ccb5371e}{class {\bfseries Program}}\label{a01155_a0432bf4ab621f4098afac914ccb5371e}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
A generic shader base class. 

Definition at line 77 of file G\+L\+S\+L\+Shader.\+hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a01155_a7955bf03606cd29170724cc45c5db796}{\index{G\+L\+S\+L\+::\+Shader@{G\+L\+S\+L\+::\+Shader}!Shader@{Shader}}
\index{Shader@{Shader}!G\+L\+S\+L\+::\+Shader@{G\+L\+S\+L\+::\+Shader}}
\subsubsection[{Shader}]{\setlength{\rightskip}{0pt plus 5cm}G\+L\+S\+L\+::\+Shader\+::\+Shader (
\begin{DoxyParamCaption}
\item[{G\+Lenum}]{shader\+Type}
\end{DoxyParamCaption}
)}}\label{a01155_a7955bf03606cd29170724cc45c5db796}


Creates a new shader. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em shader\+Type} & Can be one of G\+L\+\_\+\+V\+E\+R\+T\+E\+X\+\_\+\+S\+H\+A\+D\+E\+R or G\+L\+\_\+\+F\+R\+A\+G\+M\+E\+N\+T\+\_\+\+S\+H\+A\+D\+E\+R \\
\hline
\end{DoxyParams}


Definition at line 83 of file G\+L\+S\+L\+Shader.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a01155_a81cbfd90d7347bc06f715d068c60d06a}{\index{G\+L\+S\+L\+::\+Shader@{G\+L\+S\+L\+::\+Shader}!compile@{compile}}
\index{compile@{compile}!G\+L\+S\+L\+::\+Shader@{G\+L\+S\+L\+::\+Shader}}
\subsubsection[{compile}]{\setlength{\rightskip}{0pt plus 5cm}bool G\+L\+S\+L\+::\+Shader\+::compile (
\begin{DoxyParamCaption}
\item[{bool}]{verbose = {\ttfamily true}}
\end{DoxyParamCaption}
)}}\label{a01155_a81cbfd90d7347bc06f715d068c60d06a}


Compile the shader object. 

\begin{DoxyReturn}{Returns}
True if compilation was successful, or false if it failed. Also it prints out the shader source and the error message. 
\end{DoxyReturn}


Definition at line 152 of file G\+L\+S\+L\+Shader.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
A\+C\+G/\+Shader\+Utils/G\+L\+S\+L\+Shader.\+hh\item 
A\+C\+G/\+Shader\+Utils/G\+L\+S\+L\+Shader.\+cc\end{DoxyCompactItemize}
