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


A generic shader base class.  




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

Inheritance diagram for G\+L\+SL\+:\+:Shader\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.842105cm]{a08108}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a08108_a7955bf03606cd29170724cc45c5db796}{Shader} (G\+Lenum shader\+Type)
\begin{DoxyCompactList}\small\item\em Creates a new shader. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08108_a73139b10057cc598b194c176d4d713a4}\label{a08108_a73139b10057cc598b194c176d4d713a4}} 
virtual \hyperlink{a08108_a73139b10057cc598b194c176d4d713a4}{$\sim$\+Shader} ()
\begin{DoxyCompactList}\small\item\em Deletes the shader object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08108_ab1f05ae366e44beac665b35d5b23da54}\label{a08108_ab1f05ae366e44beac665b35d5b23da54}} 
void \hyperlink{a08108_ab1f05ae366e44beac665b35d5b23da54}{set\+Source} (const String\+List \&source)
\begin{DoxyCompactList}\small\item\em Upload the source of the shader. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08108_ac42443b0c418fbacb40396a6265788f9}\label{a08108_ac42443b0c418fbacb40396a6265788f9}} 
void \hyperlink{a08108_ac42443b0c418fbacb40396a6265788f9}{set\+Source} (const Q\+String\+List \&source)
\begin{DoxyCompactList}\small\item\em Upload the source of the shader. \end{DoxyCompactList}\item 
bool \hyperlink{a08108_a81cbfd90d7347bc06f715d068c60d06a}{compile} (bool verbose=true)
\begin{DoxyCompactList}\small\item\em Compile the shader object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08108_a10e37e6a665f8b183193f7c281feb229}\label{a08108_a10e37e6a665f8b183193f7c281feb229}} 
G\+Luint {\bfseries m\+\_\+shader\+Id}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08108_a0432bf4ab621f4098afac914ccb5371e}\label{a08108_a0432bf4ab621f4098afac914ccb5371e}} 
class {\bfseries Program}
\end{DoxyCompactItemize}


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

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



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a08108_a7955bf03606cd29170724cc45c5db796}\label{a08108_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{\texorpdfstring{Shader()}{Shader()}}
{\footnotesize\ttfamily G\+L\+S\+L\+::\+Shader\+::\+Shader (\begin{DoxyParamCaption}\item[{G\+Lenum}]{shader\+Type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}



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\+ER or G\+L\+\_\+\+F\+R\+A\+G\+M\+E\+N\+T\+\_\+\+S\+H\+A\+D\+ER \\
\hline
\end{DoxyParams}


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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a08108_a81cbfd90d7347bc06f715d068c60d06a}\label{a08108_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{\texorpdfstring{compile()}{compile()}}
{\footnotesize\ttfamily bool G\+L\+S\+L\+::\+Shader\+::compile (\begin{DoxyParamCaption}\item[{bool}]{verbose = {\ttfamily true} }\end{DoxyParamCaption})}



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 146 of file G\+L\+S\+L\+Shader.\+cc.



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