\hypertarget{a01384}{\section{G\+L\+S\+L\+:\+:Uniform\+Pool Class Reference}
\label{a01384}\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
}


\hyperlink{a03358}{G\+L\+S\+L} uniform pool.  




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

\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a01376}{Uniform\+Base}
\item 
struct \hyperlink{a01378}{Uniform\+Buf}
\item 
struct \hyperlink{a01383}{Uniform\+Mat}
\item 
struct \hyperlink{a01387}{Uniform\+Vecf}
\item 
struct \hyperlink{a01389}{Uniform\+Veci}
\item 
struct \hyperlink{a01392}{Uniform\+Vecui}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01384_a30d359f74ae8ef36130736f701d5c898}{\hyperlink{a01384_a30d359f74ae8ef36130736f701d5c898}{Uniform\+Pool} ()}\label{a01384_a30d359f74ae8ef36130736f701d5c898}

\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\hypertarget{a01384_a3886c1287f63f6619515c17eed134036}{\hyperlink{a01384_a3886c1287f63f6619515c17eed134036}{Uniform\+Pool} (const \hyperlink{a01384}{Uniform\+Pool} \&\+\_\+pool)}\label{a01384_a3886c1287f63f6619515c17eed134036}

\begin{DoxyCompactList}\small\item\em Copy Constructor. \end{DoxyCompactList}\item 
\hypertarget{a01384_af9b943608070ffe39b0dae2693a600a3}{virtual \hyperlink{a01384_af9b943608070ffe39b0dae2693a600a3}{$\sim$\+Uniform\+Pool} ()}\label{a01384_af9b943608070ffe39b0dae2693a600a3}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
void \hyperlink{a01384_af37305e7ceda0a760344aaa336db530e}{bind} (\hyperlink{a01020}{Ptr\+Program} \+\_\+prog) const 
\begin{DoxyCompactList}\small\item\em Send all stored uniforms to program. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a6243c8e8738df53c4d3caa04746c2931}{bind} (G\+Luint \+\_\+prog) const 
\begin{DoxyCompactList}\small\item\em Send all stored uniforms to program. \end{DoxyCompactList}\item 
void \hyperlink{a01384_aa386178893dee4bbda20a78b92eec68f}{set\+Uniform} (const char $\ast$\+\_\+name, G\+Lint \+\_\+value)
\begin{DoxyCompactList}\small\item\em Set int uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a24fe7f82b446a2b9bfa70582146f860d}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_a72710dc6f55cd56f968f22bca0178e8c}{A\+C\+G\+::\+Vec2i} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Set ivec2 uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a70ff789461a55a3f95f3bc263f502262}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_aa30a8644d70fd14b6430f3819953a431}{A\+C\+G\+::\+Vec3i} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Set ivec3 uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_abea7c4b4e2b6d493bae703efac48148b}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_a8cc325594ae505979f752598d1d81c40}{A\+C\+G\+::\+Vec4i} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Set ivec4 uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a6ba7db94f3fca89aefbd1135d691ac39}{set\+Uniform} (const char $\ast$\+\_\+name, G\+Luint \+\_\+value)
\begin{DoxyCompactList}\small\item\em Set uint uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a0b529b3e0f9368337c56c60c0b5e481e}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_ae4755d4e07cff81eb7a26cd0540ce314}{A\+C\+G\+::\+Vec2ui} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Set uvec2 uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a6cabf0335aa99c6789f7814cee902537}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_a916145c1569f644e2559d780955f3050}{A\+C\+G\+::\+Vec3ui} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Set uvec3 uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a94a1c175e335ad5d2eefe92cae88deae}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_af5c09af5e4de06e8474b9995b3d39d30}{A\+C\+G\+::\+Vec4ui} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Set uvec4 uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_aa0a4d3050e9bf67fa63f0b3715ad5587}{set\+Uniform} (const char $\ast$\+\_\+name, G\+Lfloat \+\_\+value)
\begin{DoxyCompactList}\small\item\em Set float uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_af5e96fb538730d37b55daf743c19013d}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Set vec2 uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a2864c7b7db42dba995cb35ef94b19513}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{A\+C\+G\+::\+Vec3f} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Set vec3 uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_ace420129d76fed52eb96d3a51fa097d6}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \&\+\_\+value)
\begin{DoxyCompactList}\small\item\em Set vec4 uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_abf42e2ee8a7de35c273724c845b62fa2}{set\+Uniform} (const char $\ast$\+\_\+name, const \hyperlink{a03336_a1e5dae9881df8fa0d42b985a8e7fad28}{A\+C\+G\+::\+G\+L\+Matrixf} \&\+\_\+value, bool \+\_\+transposed=false)
\begin{DoxyCompactList}\small\item\em Set 4x4f\+Matrix uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_adb242acd714e5e542510b40d751c8181}{set\+Uniform\+Mat3} (const char $\ast$\+\_\+name, const \hyperlink{a03336_a1e5dae9881df8fa0d42b985a8e7fad28}{A\+C\+G\+::\+G\+L\+Matrixf} \&\+\_\+value, bool \+\_\+transposed=false)
\begin{DoxyCompactList}\small\item\em Set 3x3f\+Matrix uniform to specified value. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a04295063fe4def928b2dd442ced4c76e}{set\+Uniform} (const char $\ast$\+\_\+name, G\+Lint $\ast$\+\_\+values, int \+\_\+count)
\begin{DoxyCompactList}\small\item\em Set int array uniform to specified values. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a23f6cc853e23cc3d52fbbd29607fe9d3}{set\+Uniform} (const char $\ast$\+\_\+name, G\+Lfloat $\ast$\+\_\+values, int \+\_\+count)
\begin{DoxyCompactList}\small\item\em Set float array uniform to specified values. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a42671e928506b1e053e056b55b72c2ca}{add\+Pool} (const \hyperlink{a01384}{Uniform\+Pool} \&\+\_\+src)
\begin{DoxyCompactList}\small\item\em Add all uniforms of a pool to this pool. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a43a8da3ad1cd404c9be288c1fa783ba0}{clear} ()
\begin{DoxyCompactList}\small\item\em Clear the pool. \end{DoxyCompactList}\item 
bool \hyperlink{a01384_a841a9c0e19b0b3b0f72dfaafdd428553}{empty} () const 
\begin{DoxyCompactList}\small\item\em returns if the pool is empty \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01384_a1677e126574a8f436891250f066a67db}{typedef std\+::list$<$ \hyperlink{a01376}{Uniform\+Base} $\ast$ $>$ {\bfseries Uniform\+List}}\label{a01384_a1677e126574a8f436891250f066a67db}

\item 
\hypertarget{a01384_abf3d2883622c4b09fc6a1884c01ffeb9}{typedef Uniform\+List\+::iterator {\bfseries Uniform\+List\+It}}\label{a01384_abf3d2883622c4b09fc6a1884c01ffeb9}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
Uniform\+List\+It \hyperlink{a01384_a06753d744c50319b83e0bd3d8b0a574a}{find\+Entry} (std\+::string \+\_\+name)
\begin{DoxyCompactList}\small\item\em Search the pool for an existing value for a uniform name. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a61454039db1323ce5033a296e7929272}{add\+Vecf} (const \hyperlink{a01387}{Uniform\+Vecf} \&\+\_\+vec)
\begin{DoxyCompactList}\small\item\em Add or update a vector type uniform in pool. \end{DoxyCompactList}\item 
void \hyperlink{a01384_af5ecd5a7f570592992e678cc8fd6175f}{add\+Veci} (const \hyperlink{a01389}{Uniform\+Veci} \&\+\_\+vec)
\begin{DoxyCompactList}\small\item\em Add or update a vector type uniform in pool. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a71cf18ce21b9d69903f34a6c629dd3fd}{add\+Vecui} (const \hyperlink{a01392}{Uniform\+Vecui} \&\+\_\+vec)
\begin{DoxyCompactList}\small\item\em Add or update a vector type uniform in pool. \end{DoxyCompactList}\item 
void \hyperlink{a01384_addc80e315ad6924c40f0dda7fbf2a25f}{add\+Matrix} (const \hyperlink{a01383}{Uniform\+Mat} \&\+\_\+mat)
\begin{DoxyCompactList}\small\item\em Add or update a matrix type uniform in pool. \end{DoxyCompactList}\item 
void \hyperlink{a01384_a1c901b7560d7477f25937cf39414b17d}{add\+Buf} (const char $\ast$\+\_\+name, void $\ast$\+\_\+values, int \+\_\+count, bool \+\_\+integer)
\begin{DoxyCompactList}\small\item\em Add or update an array type uniform in pool. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01384_ac5c7c8b17ca5ccf7c67c5e144b6e4c7c}{Uniform\+List \hyperlink{a01384_ac5c7c8b17ca5ccf7c67c5e144b6e4c7c}{pool\+\_\+}}\label{a01384_ac5c7c8b17ca5ccf7c67c5e144b6e4c7c}

\begin{DoxyCompactList}\small\item\em list of uniform params \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a03358}{G\+L\+S\+L} uniform pool. 

A uniform pool collects values for shader uniforms 

Definition at line 71 of file Uniform\+Pool.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a01384_a1c901b7560d7477f25937cf39414b17d}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!add\+Buf@{add\+Buf}}
\index{add\+Buf@{add\+Buf}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{add\+Buf}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::add\+Buf (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{void $\ast$}]{\+\_\+values, }
\item[{int}]{\+\_\+count, }
\item[{bool}]{\+\_\+integer}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01384_a1c901b7560d7477f25937cf39414b17d}


Add or update an array type uniform in pool. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Uniform name \\
\hline
{\em \+\_\+values} & array data \\
\hline
{\em \+\_\+count} & array size (in dwords) \\
\hline
{\em \+\_\+integer} & integer/float array \\
\hline
\end{DoxyParams}


Definition at line 468 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_addc80e315ad6924c40f0dda7fbf2a25f}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!add\+Matrix@{add\+Matrix}}
\index{add\+Matrix@{add\+Matrix}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{add\+Matrix}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::add\+Matrix (
\begin{DoxyParamCaption}
\item[{const {\bf Uniform\+Mat} \&}]{\+\_\+mat}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01384_addc80e315ad6924c40f0dda7fbf2a25f}


Add or update a matrix type uniform in pool. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mat} & uniform specifier \\
\hline
\end{DoxyParams}


Definition at line 432 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a42671e928506b1e053e056b55b72c2ca}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!add\+Pool@{add\+Pool}}
\index{add\+Pool@{add\+Pool}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{add\+Pool}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::add\+Pool (
\begin{DoxyParamCaption}
\item[{const {\bf Uniform\+Pool} \&}]{\+\_\+src}
\end{DoxyParamCaption}
)}}\label{a01384_a42671e928506b1e053e056b55b72c2ca}


Add all uniforms of a pool to this pool. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+src} & source uniform pool \\
\hline
\end{DoxyParams}


Definition at line 136 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a61454039db1323ce5033a296e7929272}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!add\+Vecf@{add\+Vecf}}
\index{add\+Vecf@{add\+Vecf}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{add\+Vecf}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::add\+Vecf (
\begin{DoxyParamCaption}
\item[{const {\bf Uniform\+Vecf} \&}]{\+\_\+vec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01384_a61454039db1323ce5033a296e7929272}


Add or update a vector type uniform in pool. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+vec} & uniform specifier \\
\hline
\end{DoxyParams}


Definition at line 333 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_af5ecd5a7f570592992e678cc8fd6175f}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!add\+Veci@{add\+Veci}}
\index{add\+Veci@{add\+Veci}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{add\+Veci}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::add\+Veci (
\begin{DoxyParamCaption}
\item[{const {\bf Uniform\+Veci} \&}]{\+\_\+vec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01384_af5ecd5a7f570592992e678cc8fd6175f}


Add or update a vector type uniform in pool. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+vec} & uniform specifier \\
\hline
\end{DoxyParams}


Definition at line 366 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a71cf18ce21b9d69903f34a6c629dd3fd}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!add\+Vecui@{add\+Vecui}}
\index{add\+Vecui@{add\+Vecui}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{add\+Vecui}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::add\+Vecui (
\begin{DoxyParamCaption}
\item[{const {\bf Uniform\+Vecui} \&}]{\+\_\+vec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01384_a71cf18ce21b9d69903f34a6c629dd3fd}


Add or update a vector type uniform in pool. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+vec} & uniform specifier \\
\hline
\end{DoxyParams}


Definition at line 399 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_af37305e7ceda0a760344aaa336db530e}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!bind@{bind}}
\index{bind@{bind}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{bind}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::bind (
\begin{DoxyParamCaption}
\item[{{\bf Ptr\+Program}}]{\+\_\+prog}
\end{DoxyParamCaption}
) const}}\label{a01384_af37305e7ceda0a760344aaa336db530e}


Send all stored uniforms to program. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+prog} & receiving \hyperlink{a03358}{G\+L\+S\+L} program \\
\hline
\end{DoxyParams}


Definition at line 103 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a6243c8e8738df53c4d3caa04746c2931}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!bind@{bind}}
\index{bind@{bind}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{bind}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::bind (
\begin{DoxyParamCaption}
\item[{G\+Luint}]{\+\_\+prog}
\end{DoxyParamCaption}
) const}}\label{a01384_a6243c8e8738df53c4d3caa04746c2931}


Send all stored uniforms to program. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+prog} & opengl program id \\
\hline
\end{DoxyParams}


Definition at line 111 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a43a8da3ad1cd404c9be288c1fa783ba0}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!clear@{clear}}
\index{clear@{clear}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::clear (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{a01384_a43a8da3ad1cd404c9be288c1fa783ba0}


Clear the pool. 



Definition at line 86 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a841a9c0e19b0b3b0f72dfaafdd428553}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!empty@{empty}}
\index{empty@{empty}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{empty}]{\setlength{\rightskip}{0pt plus 5cm}bool G\+L\+S\+L\+::\+Uniform\+Pool\+::empty (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{a01384_a841a9c0e19b0b3b0f72dfaafdd428553}


returns if the pool is empty 

\begin{DoxyReturn}{Returns}
empty pool? 
\end{DoxyReturn}


Definition at line 95 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a06753d744c50319b83e0bd3d8b0a574a}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!find\+Entry@{find\+Entry}}
\index{find\+Entry@{find\+Entry}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{find\+Entry}]{\setlength{\rightskip}{0pt plus 5cm}Uniform\+Pool\+::\+Uniform\+List\+It G\+L\+S\+L\+::\+Uniform\+Pool\+::find\+Entry (
\begin{DoxyParamCaption}
\item[{std\+::string}]{\+\_\+name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01384_a06753d744c50319b83e0bd3d8b0a574a}


Search the pool for an existing value for a uniform name. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
iterator of uniform entry 
\end{DoxyReturn}


Definition at line 122 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_aa386178893dee4bbda20a78b92eec68f}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{G\+Lint}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_aa386178893dee4bbda20a78b92eec68f}


Set int uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 512 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a24fe7f82b446a2b9bfa70582146f860d}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+Vec2i} \&}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_a24fe7f82b446a2b9bfa70582146f860d}


Set ivec2 uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 528 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a70ff789461a55a3f95f3bc263f502262}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+Vec3i} \&}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_a70ff789461a55a3f95f3bc263f502262}


Set ivec3 uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 545 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_abea7c4b4e2b6d493bae703efac48148b}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+Vec4i} \&}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_abea7c4b4e2b6d493bae703efac48148b}


Set ivec4 uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 563 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a6ba7db94f3fca89aefbd1135d691ac39}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{G\+Luint}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_a6ba7db94f3fca89aefbd1135d691ac39}


Set uint uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 579 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a0b529b3e0f9368337c56c60c0b5e481e}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+Vec2ui} \&}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_a0b529b3e0f9368337c56c60c0b5e481e}


Set uvec2 uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 595 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a6cabf0335aa99c6789f7814cee902537}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+Vec3ui} \&}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_a6cabf0335aa99c6789f7814cee902537}


Set uvec3 uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 612 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a94a1c175e335ad5d2eefe92cae88deae}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+Vec4ui} \&}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_a94a1c175e335ad5d2eefe92cae88deae}


Set uvec4 uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 630 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_aa0a4d3050e9bf67fa63f0b3715ad5587}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{G\+Lfloat}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_aa0a4d3050e9bf67fa63f0b3715ad5587}


Set float uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 647 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_af5e96fb538730d37b55daf743c19013d}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+Vec2f} \&}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_af5e96fb538730d37b55daf743c19013d}


Set vec2 uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 663 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a2864c7b7db42dba995cb35ef94b19513}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+Vec3f} \&}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_a2864c7b7db42dba995cb35ef94b19513}


Set vec3 uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 680 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_ace420129d76fed52eb96d3a51fa097d6}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+Vec4f} \&}]{\+\_\+value}
\end{DoxyParamCaption}
)}}\label{a01384_ace420129d76fed52eb96d3a51fa097d6}


Set vec4 uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & New value of the uniform \\
\hline
\end{DoxyParams}


Definition at line 698 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_abf42e2ee8a7de35c273724c845b62fa2}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+G\+L\+Matrixf} \&}]{\+\_\+value, }
\item[{bool}]{\+\_\+transposed = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a01384_abf42e2ee8a7de35c273724c845b62fa2}


Set 4x4f\+Matrix uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & Matrix to be set \\
\hline
{\em \+\_\+transposed} & Is the matrix transposed? \\
\hline
\end{DoxyParams}


Definition at line 715 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a04295063fe4def928b2dd442ced4c76e}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{G\+Lint $\ast$}]{\+\_\+values, }
\item[{int}]{\+\_\+count}
\end{DoxyParamCaption}
)}}\label{a01384_a04295063fe4def928b2dd442ced4c76e}


Set int array uniform to specified values. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform to be set \\
\hline
{\em \+\_\+values} & Pointer to an array with the new values \\
\hline
{\em \+\_\+count} & Number of values in the given array \\
\hline
\end{DoxyParams}


Definition at line 751 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_a23f6cc853e23cc3d52fbbd29607fe9d3}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform@{set\+Uniform}}
\index{set\+Uniform@{set\+Uniform}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{G\+Lfloat $\ast$}]{\+\_\+values, }
\item[{int}]{\+\_\+count}
\end{DoxyParamCaption}
)}}\label{a01384_a23f6cc853e23cc3d52fbbd29607fe9d3}


Set float array uniform to specified values. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform to be set \\
\hline
{\em \+\_\+values} & Pointer to an array with the new values \\
\hline
{\em \+\_\+count} & Number of values in the given array \\
\hline
\end{DoxyParams}


Definition at line 762 of file Uniform\+Pool.\+cc.

\hypertarget{a01384_adb242acd714e5e542510b40d751c8181}{\index{G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}!set\+Uniform\+Mat3@{set\+Uniform\+Mat3}}
\index{set\+Uniform\+Mat3@{set\+Uniform\+Mat3}!G\+L\+S\+L\+::\+Uniform\+Pool@{G\+L\+S\+L\+::\+Uniform\+Pool}}
\subsubsection[{set\+Uniform\+Mat3}]{\setlength{\rightskip}{0pt plus 5cm}void G\+L\+S\+L\+::\+Uniform\+Pool\+::set\+Uniform\+Mat3 (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{\+\_\+name, }
\item[{const {\bf A\+C\+G\+::\+G\+L\+Matrixf} \&}]{\+\_\+value, }
\item[{bool}]{\+\_\+transposed = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a01384_adb242acd714e5e542510b40d751c8181}


Set 3x3f\+Matrix uniform to specified value. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the uniform \\
\hline
{\em \+\_\+value} & Matrix to be set \\
\hline
{\em \+\_\+transposed} & Is the matrix transposed? \\
\hline
\end{DoxyParams}


Definition at line 733 of file Uniform\+Pool.\+cc.



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