\hypertarget{struct_ogre_1_1_gpu_named_constants}{}\section{Ogre\+:\+:Gpu\+Named\+Constants Struct Reference}
\label{struct_ogre_1_1_gpu_named_constants}\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}


Struct collecting together the information for named constants.  




{\ttfamily \#include $<$Ogre\+Gpu\+Program\+Params.\+h$>$}



Inheritance diagram for Ogre\+:\+:Gpu\+Named\+Constants\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=229pt]{struct_ogre_1_1_gpu_named_constants__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{struct_ogre_1_1_gpu_named_constants_ac0e05654af490172ac33e0248198c5fb}{Gpu\+Named\+Constants} ()
\item 
size\+\_\+t \hyperlink{struct_ogre_1_1_gpu_named_constants_a8ea5fa125ab0e44fdf04b6261d938835}{calculate\+Size} (void) const
\item 
void \hyperlink{struct_ogre_1_1_gpu_named_constants_ad1a16f8fe55b903b77c62a5d28387d21}{generate\+Constant\+Definition\+Array\+Entries} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&param\+Name, const \hyperlink{struct_ogre_1_1_gpu_constant_definition}{Gpu\+Constant\+Definition} \&base\+Def)
\begin{DoxyCompactList}\small\item\em Generate additional constant entries for arrays based on a base definition. \end{DoxyCompactList}\item 
void \hyperlink{struct_ogre_1_1_gpu_named_constants_a8c49c555a0e99a99dee1e99d0450578b}{load} (\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&stream)
\begin{DoxyCompactList}\small\item\em Loads constant definitions from a stream, compatible with \hyperlink{class_ogre_1_1_gpu_program_af420c447afb13728b4ddfcb8d8d7d812}{Gpu\+Program\+::set\+Manual\+Named\+Constants\+File}. \end{DoxyCompactList}\item 
void \hyperlink{struct_ogre_1_1_gpu_named_constants_a4ce0c92c117f2c7dd91acf697821ef67}{save} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&filename) const
\begin{DoxyCompactList}\small\item\em Saves constant definitions to a file, compatible with \hyperlink{class_ogre_1_1_gpu_program_af420c447afb13728b4ddfcb8d8d7d812}{Gpu\+Program\+::set\+Manual\+Named\+Constants\+File}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static bool \hyperlink{struct_ogre_1_1_gpu_named_constants_a3e1e7178a176a8e12e9e7491187885de}{get\+Generate\+All\+Constant\+Definition\+Array\+Entries} ()
\begin{DoxyCompactList}\small\item\em Indicates whether all array entries will be generated and added to the definitions map. \end{DoxyCompactList}\item 
static void \hyperlink{struct_ogre_1_1_gpu_named_constants_a262a2eea37cc3b2ef0973a625f624ff0}{set\+Generate\+All\+Constant\+Definition\+Array\+Entries} (bool generate\+All)
\begin{DoxyCompactList}\small\item\em Sets whether all array entries will be generated and added to the definitions map. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
size\+\_\+t \hyperlink{struct_ogre_1_1_gpu_named_constants_a752c361f1d2b41e6ef26092c5d248477}{double\+Buffer\+Size}
\begin{DoxyCompactList}\small\item\em Total size of the double buffer required. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{struct_ogre_1_1_gpu_named_constants_a5558247a535928116d99c17fdbb4de6f}{float\+Buffer\+Size}
\begin{DoxyCompactList}\small\item\em Total size of the float buffer required. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{struct_ogre_1_1_gpu_named_constants_a6989ab89780218c87936c55c96586a5b}{int\+Buffer\+Size}
\begin{DoxyCompactList}\small\item\em Total size of the int buffer required. \end{DoxyCompactList}\item 
\hyperlink{group___materials_gae4823c1377e5d4c312a3da9d1cb8534a}{Gpu\+Constant\+Definition\+Map} \hyperlink{struct_ogre_1_1_gpu_named_constants_af35adecba174a620edfea7ff95ad3a7e}{map}
\begin{DoxyCompactList}\small\item\em Total size of the bool buffer required. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{struct_ogre_1_1_gpu_named_constants_aa78a9520e9515038318893626480112c}{uint\+Buffer\+Size}
\begin{DoxyCompactList}\small\item\em Total size of the uint buffer required. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Struct collecting together the information for named constants. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_ac0e05654af490172ac33e0248198c5fb}\label{struct_ogre_1_1_gpu_named_constants_ac0e05654af490172ac33e0248198c5fb}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!Gpu\+Named\+Constants@{Gpu\+Named\+Constants}}
\index{Gpu\+Named\+Constants@{Gpu\+Named\+Constants}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{Gpu\+Named\+Constants()}{GpuNamedConstants()}}
{\footnotesize\ttfamily Ogre\+::\+Gpu\+Named\+Constants\+::\+Gpu\+Named\+Constants (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_ad1a16f8fe55b903b77c62a5d28387d21}\label{struct_ogre_1_1_gpu_named_constants_ad1a16f8fe55b903b77c62a5d28387d21}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!generate\+Constant\+Definition\+Array\+Entries@{generate\+Constant\+Definition\+Array\+Entries}}
\index{generate\+Constant\+Definition\+Array\+Entries@{generate\+Constant\+Definition\+Array\+Entries}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{generate\+Constant\+Definition\+Array\+Entries()}{generateConstantDefinitionArrayEntries()}}
{\footnotesize\ttfamily void Ogre\+::\+Gpu\+Named\+Constants\+::generate\+Constant\+Definition\+Array\+Entries (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{param\+Name,  }\item[{const \hyperlink{struct_ogre_1_1_gpu_constant_definition}{Gpu\+Constant\+Definition} \&}]{base\+Def }\end{DoxyParamCaption})}



Generate additional constant entries for arrays based on a base definition. 

\begin{DoxyRemark}{Remarks}
Array uniforms will be added just with their base name with no array suffix. This method will add named entries for array suffixes too so individual array entries can be addressed. Note that we only individually index array elements if the array size is up to 16 entries in size. Anything larger than that only gets a \mbox{[}0\mbox{]} entry as well as the main entry, to save cluttering up the name map. After all, you can address the larger arrays in a bulk fashion much more easily anyway. 
\end{DoxyRemark}
\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_a3e1e7178a176a8e12e9e7491187885de}\label{struct_ogre_1_1_gpu_named_constants_a3e1e7178a176a8e12e9e7491187885de}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!get\+Generate\+All\+Constant\+Definition\+Array\+Entries@{get\+Generate\+All\+Constant\+Definition\+Array\+Entries}}
\index{get\+Generate\+All\+Constant\+Definition\+Array\+Entries@{get\+Generate\+All\+Constant\+Definition\+Array\+Entries}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{get\+Generate\+All\+Constant\+Definition\+Array\+Entries()}{getGenerateAllConstantDefinitionArrayEntries()}}
{\footnotesize\ttfamily static bool Ogre\+::\+Gpu\+Named\+Constants\+::get\+Generate\+All\+Constant\+Definition\+Array\+Entries (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Indicates whether all array entries will be generated and added to the definitions map. 

\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_a262a2eea37cc3b2ef0973a625f624ff0}\label{struct_ogre_1_1_gpu_named_constants_a262a2eea37cc3b2ef0973a625f624ff0}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!set\+Generate\+All\+Constant\+Definition\+Array\+Entries@{set\+Generate\+All\+Constant\+Definition\+Array\+Entries}}
\index{set\+Generate\+All\+Constant\+Definition\+Array\+Entries@{set\+Generate\+All\+Constant\+Definition\+Array\+Entries}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{set\+Generate\+All\+Constant\+Definition\+Array\+Entries()}{setGenerateAllConstantDefinitionArrayEntries()}}
{\footnotesize\ttfamily static void Ogre\+::\+Gpu\+Named\+Constants\+::set\+Generate\+All\+Constant\+Definition\+Array\+Entries (\begin{DoxyParamCaption}\item[{bool}]{generate\+All }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Sets whether all array entries will be generated and added to the definitions map. 

\begin{DoxyRemark}{Remarks}
Usually, array entries can only be individually indexed if they\textquotesingle{}re up to 16 entries long, to save memory -\/ arrays larger than that can be set but only via the bulk setting methods. This option allows you to choose to individually index every array entry. 
\end{DoxyRemark}
\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_a4ce0c92c117f2c7dd91acf697821ef67}\label{struct_ogre_1_1_gpu_named_constants_a4ce0c92c117f2c7dd91acf697821ef67}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!save@{save}}
\index{save@{save}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{save()}{save()}}
{\footnotesize\ttfamily void Ogre\+::\+Gpu\+Named\+Constants\+::save (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{filename }\end{DoxyParamCaption}) const}



Saves constant definitions to a file, compatible with \hyperlink{class_ogre_1_1_gpu_program_af420c447afb13728b4ddfcb8d8d7d812}{Gpu\+Program\+::set\+Manual\+Named\+Constants\+File}. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_gpu_program_af420c447afb13728b4ddfcb8d8d7d812}{Gpu\+Program\+::set\+Manual\+Named\+Constants\+File} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_a8c49c555a0e99a99dee1e99d0450578b}\label{struct_ogre_1_1_gpu_named_constants_a8c49c555a0e99a99dee1e99d0450578b}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!load@{load}}
\index{load@{load}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{load()}{load()}}
{\footnotesize\ttfamily void Ogre\+::\+Gpu\+Named\+Constants\+::load (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{stream }\end{DoxyParamCaption})}



Loads constant definitions from a stream, compatible with \hyperlink{class_ogre_1_1_gpu_program_af420c447afb13728b4ddfcb8d8d7d812}{Gpu\+Program\+::set\+Manual\+Named\+Constants\+File}. 

\begin{DoxySeeAlso}{See also}
\hyperlink{class_ogre_1_1_gpu_program_af420c447afb13728b4ddfcb8d8d7d812}{Gpu\+Program\+::set\+Manual\+Named\+Constants\+File} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_a8ea5fa125ab0e44fdf04b6261d938835}\label{struct_ogre_1_1_gpu_named_constants_a8ea5fa125ab0e44fdf04b6261d938835}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!calculate\+Size@{calculate\+Size}}
\index{calculate\+Size@{calculate\+Size}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{calculate\+Size()}{calculateSize()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Gpu\+Named\+Constants\+::calculate\+Size (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



\subsection{Member Data Documentation}
\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_a5558247a535928116d99c17fdbb4de6f}\label{struct_ogre_1_1_gpu_named_constants_a5558247a535928116d99c17fdbb4de6f}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!float\+Buffer\+Size@{float\+Buffer\+Size}}
\index{float\+Buffer\+Size@{float\+Buffer\+Size}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{float\+Buffer\+Size}{floatBufferSize}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Gpu\+Named\+Constants\+::float\+Buffer\+Size}



Total size of the float buffer required. 

\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_a752c361f1d2b41e6ef26092c5d248477}\label{struct_ogre_1_1_gpu_named_constants_a752c361f1d2b41e6ef26092c5d248477}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!double\+Buffer\+Size@{double\+Buffer\+Size}}
\index{double\+Buffer\+Size@{double\+Buffer\+Size}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{double\+Buffer\+Size}{doubleBufferSize}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Gpu\+Named\+Constants\+::double\+Buffer\+Size}



Total size of the double buffer required. 

\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_a6989ab89780218c87936c55c96586a5b}\label{struct_ogre_1_1_gpu_named_constants_a6989ab89780218c87936c55c96586a5b}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!int\+Buffer\+Size@{int\+Buffer\+Size}}
\index{int\+Buffer\+Size@{int\+Buffer\+Size}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{int\+Buffer\+Size}{intBufferSize}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Gpu\+Named\+Constants\+::int\+Buffer\+Size}



Total size of the int buffer required. 

\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_aa78a9520e9515038318893626480112c}\label{struct_ogre_1_1_gpu_named_constants_aa78a9520e9515038318893626480112c}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!uint\+Buffer\+Size@{uint\+Buffer\+Size}}
\index{uint\+Buffer\+Size@{uint\+Buffer\+Size}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{uint\+Buffer\+Size}{uintBufferSize}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Gpu\+Named\+Constants\+::uint\+Buffer\+Size}



Total size of the uint buffer required. 

\mbox{\Hypertarget{struct_ogre_1_1_gpu_named_constants_af35adecba174a620edfea7ff95ad3a7e}\label{struct_ogre_1_1_gpu_named_constants_af35adecba174a620edfea7ff95ad3a7e}} 
\index{Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}!map@{map}}
\index{map@{map}!Ogre\+::\+Gpu\+Named\+Constants@{Ogre\+::\+Gpu\+Named\+Constants}}
\subsubsection{\texorpdfstring{map}{map}}
{\footnotesize\ttfamily \hyperlink{group___materials_gae4823c1377e5d4c312a3da9d1cb8534a}{Gpu\+Constant\+Definition\+Map} Ogre\+::\+Gpu\+Named\+Constants\+::map}



Total size of the bool buffer required. 

Map of parameter names to \hyperlink{struct_ogre_1_1_gpu_constant_definition}{Gpu\+Constant\+Definition} 

The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_gpu_program_params_8h}{Ogre\+Gpu\+Program\+Params.\+h}\end{DoxyCompactItemize}
