\hypertarget{a07560}{}\section{A\+CG\+:\+:Shader\+Gen\+Desc Class Reference}
\label{a07560}\index{A\+C\+G\+::\+Shader\+Gen\+Desc@{A\+C\+G\+::\+Shader\+Gen\+Desc}}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a07564}{Texture\+Type}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07560_a2fc0e74d6e1d318cde07a044defe74f2}\label{a07560_a2fc0e74d6e1d318cde07a044defe74f2}} 
Q\+String \hyperlink{a07560_a2fc0e74d6e1d318cde07a044defe74f2}{to\+String} () const
\begin{DoxyCompactList}\small\item\em convert \hyperlink{a07560}{Shader\+Gen\+Desc} to string format for debugging \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07560_ab146d248868aa493d448fc47127996dc}\label{a07560_ab146d248868aa493d448fc47127996dc}} 
const std\+::map$<$ size\+\_\+t, \hyperlink{a07564}{Texture\+Type} $>$ \& {\bfseries texture\+Types} () const
\item 
void \hyperlink{a07560_a2554eeab010d4c7def0975fe2dbdf468}{add\+Texture\+Type} (G\+Lenum \+\_\+type, bool \+\_\+shadow, size\+\_\+t \+\_\+stage)
\begin{DoxyCompactList}\small\item\em adds a texture type to the shader and enables texturing. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07560_adb0c069547f73875d4a9f63a7c1add8e}\label{a07560_adb0c069547f73875d4a9f63a7c1add8e}} 
void \hyperlink{a07560_adb0c069547f73875d4a9f63a7c1add8e}{clear\+Textures} ()
\begin{DoxyCompactList}\small\item\em disables texture support and removes all texture types \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07560_a7d74549b8ada119aa1ac3288a21b47c7}\label{a07560_a7d74549b8ada119aa1ac3288a21b47c7}} 
bool {\bfseries textured} () const
\item 
\mbox{\Hypertarget{a07560_afbd155131b383fe0a8793a95841e847c}\label{a07560_afbd155131b383fe0a8793a95841e847c}} 
void {\bfseries enable\+Tex\+Gen\+Object\+Linear} (int \+\_\+dim=2)
\item 
\mbox{\Hypertarget{a07560_a25ed6ed4ef8b5f5e86d6b32cf357a598}\label{a07560_a25ed6ed4ef8b5f5e86d6b32cf357a598}} 
void {\bfseries enable\+Tex\+Gen\+Eye\+Linear} (int \+\_\+dim=2)
\item 
\mbox{\Hypertarget{a07560_a2b4eb58d17efebfd05a790264646d121}\label{a07560_a2b4eb58d17efebfd05a790264646d121}} 
void {\bfseries enable\+Tex\+Gen\+Spherical\+Map} (int \+\_\+dim=2)
\item 
\mbox{\Hypertarget{a07560_aa0f2ed3b1cd271adb07cf4053f1f8acb}\label{a07560_aa0f2ed3b1cd271adb07cf4053f1f8acb}} 
void {\bfseries enable\+Tex\+Gen\+Normal\+Map} (int \+\_\+dim=3)
\item 
\mbox{\Hypertarget{a07560_a963b0bc4010635d55845bb070794f06c}\label{a07560_a963b0bc4010635d55845bb070794f06c}} 
void {\bfseries enable\+Tex\+Gen\+Reflection\+Map} (int \+\_\+dim=3)
\item 
\mbox{\Hypertarget{a07560_aaaab07984a89754155be70e3251c7e21}\label{a07560_aaaab07984a89754155be70e3251c7e21}} 
void {\bfseries disable\+Tex\+Gen} ()
\item 
\mbox{\Hypertarget{a07560_abc634b5bb9baf1401ccd4ace98572c14}\label{a07560_abc634b5bb9baf1401ccd4ace98572c14}} 
bool {\bfseries operator==} (const \hyperlink{a07560}{Shader\+Gen\+Desc} \&\+\_\+rhs) const
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07560_a6583bde258cf1ea531b8077b6aa874ea}\label{a07560_a6583bde258cf1ea531b8077b6aa874ea}} 
int {\bfseries version}
\item 
\mbox{\Hypertarget{a07560_a07145acdca5785ae493bbc5d06338d04}\label{a07560_a07145acdca5785ae493bbc5d06338d04}} 
int {\bfseries num\+Lights}
\item 
\mbox{\Hypertarget{a07560_a8e1554be5222c582ba1e5ded73f7264e}\label{a07560_a8e1554be5222c582ba1e5ded73f7264e}} 
Shader\+Gen\+Light\+Type {\bfseries light\+Types} \mbox{[}S\+G\+\_\+\+M\+A\+X\+\_\+\+S\+H\+A\+D\+E\+R\+\_\+\+L\+I\+G\+H\+TS\mbox{]}
\item 
\mbox{\Hypertarget{a07560_a851eec0a4c76a4f28d6a287f57cef0b2}\label{a07560_a851eec0a4c76a4f28d6a287f57cef0b2}} 
bool {\bfseries two\+Sided\+Lighting}
\item 
\mbox{\Hypertarget{a07560_a57440a9875a6c180dac6d1eb24e0cdce}\label{a07560_a57440a9875a6c180dac6d1eb24e0cdce}} 
Shader\+Gen\+Shade\+Mode {\bfseries shade\+Mode}
\item 
\mbox{\Hypertarget{a07560_a82b8388059777f3fb1941d8120430917}\label{a07560_a82b8388059777f3fb1941d8120430917}} 
bool {\bfseries vertex\+Colors}
\item 
\mbox{\Hypertarget{a07560_af073bacead76ef1f094a01ab71a44fc0}\label{a07560_af073bacead76ef1f094a01ab71a44fc0}} 
Q\+String {\bfseries vertex\+Template\+File}
\item 
\mbox{\Hypertarget{a07560_a72ee6b746f6cb94fdcaa42538c13f211}\label{a07560_a72ee6b746f6cb94fdcaa42538c13f211}} 
Q\+String {\bfseries tess\+Control\+Template\+File}
\item 
\mbox{\Hypertarget{a07560_a3941127e33b38945749e37bba0a035c1}\label{a07560_a3941127e33b38945749e37bba0a035c1}} 
Q\+String {\bfseries tess\+Evaluation\+Template\+File}
\item 
\mbox{\Hypertarget{a07560_ae7c4533534d658aa9738c723fd415036}\label{a07560_ae7c4533534d658aa9738c723fd415036}} 
Q\+String {\bfseries geometry\+Template\+File}
\item 
\mbox{\Hypertarget{a07560_a159ec57d40fb8da718a67cd7b81f5ade}\label{a07560_a159ec57d40fb8da718a67cd7b81f5ade}} 
Q\+String {\bfseries fragment\+Template\+File}
\item 
\mbox{\Hypertarget{a07560_a125694815e909b91c9509b6852980153}\label{a07560_a125694815e909b91c9509b6852980153}} 
std\+::vector$<$ unsigned int $>$ {\bfseries shader\+Mods}
\item 
\mbox{\Hypertarget{a07560_a54827bc710def002154b66d11031d132}\label{a07560_a54827bc710def002154b66d11031d132}} 
Q\+String\+List {\bfseries macros}
\item 
\mbox{\Hypertarget{a07560_a98e3dfcd5bf859662e60f27c38951dc7}\label{a07560_a98e3dfcd5bf859662e60f27c38951dc7}} 
bool \hyperlink{a07560_a98e3dfcd5bf859662e60f27c38951dc7}{normalize\+Tex\+Colors}
\begin{DoxyCompactList}\small\item\em Defines if the texture\+Variable is normalized or not, if multiple textures are used. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07560_a0030d157d551cf681031da22beb23e92}\label{a07560_a0030d157d551cf681031da22beb23e92}} 
Q\+String \hyperlink{a07560_a0030d157d551cf681031da22beb23e92}{vertex\+Colors\+Interpolator}
\begin{DoxyCompactList}\small\item\em interpolation qualifier for input vertex colors\+: \char`\"{}flat\char`\"{}, \char`\"{}smooth\char`\"{}, \char`\"{}noperspective\char`\"{} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07560_a1088fcf57841fd1d666d203147be4cbb}\label{a07560_a1088fcf57841fd1d666d203147be4cbb}} 
Q\+String \hyperlink{a07560_a1088fcf57841fd1d666d203147be4cbb}{vertex\+Normal\+Interpolator}
\begin{DoxyCompactList}\small\item\em interpolation qualifier for vertex shader normal outputs\+: \char`\"{}flat\char`\"{}, \char`\"{}smooth\char`\"{}, \char`\"{}noperspective\char`\"{} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07560_ad20e2f571889d6833deb8529156a5fd4}\label{a07560_ad20e2f571889d6833deb8529156a5fd4}} 
G\+Lenum {\bfseries color\+Material\+Mode}
\item 
\mbox{\Hypertarget{a07560_ad941a3f65089abfcc13abf357d1126bf}\label{a07560_ad941a3f65089abfcc13abf357d1126bf}} 
uint {\bfseries clip\+Distance\+Mask}
\item 
\mbox{\Hypertarget{a07560_ad906351fae6bb5dd961921e5258e5351}\label{a07560_ad906351fae6bb5dd961921e5258e5351}} 
int {\bfseries tex\+Gen\+Dim}
\item 
\mbox{\Hypertarget{a07560_ab2df95238aebe7cb1703b608c4f2cf86}\label{a07560_ab2df95238aebe7cb1703b608c4f2cf86}} 
G\+Lenum {\bfseries tex\+Gen\+Mode}
\item 
\mbox{\Hypertarget{a07560_ae06f33ff3a1e34e4704c65a47e617d40}\label{a07560_ae06f33ff3a1e34e4704c65a47e617d40}} 
bool {\bfseries tex\+Gen\+Per\+Fragment}
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07560_ab523fa0f7d13133f46903fcfb92840e2}\label{a07560_ab523fa0f7d13133f46903fcfb92840e2}} 
std\+::map$<$ size\+\_\+t, \hyperlink{a07564}{Texture\+Type} $>$ \hyperlink{a07560_ab523fa0f7d13133f46903fcfb92840e2}{texture\+Types\+\_\+}
\begin{DoxyCompactList}\small\item\em holds the texture types (second) and the stage id (first). if empty, shader does not support textures \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 83 of file Shader\+Generator.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a07560_a2554eeab010d4c7def0975fe2dbdf468}\label{a07560_a2554eeab010d4c7def0975fe2dbdf468}} 
\index{A\+C\+G\+::\+Shader\+Gen\+Desc@{A\+C\+G\+::\+Shader\+Gen\+Desc}!add\+Texture\+Type@{add\+Texture\+Type}}
\index{add\+Texture\+Type@{add\+Texture\+Type}!A\+C\+G\+::\+Shader\+Gen\+Desc@{A\+C\+G\+::\+Shader\+Gen\+Desc}}
\subsubsection{\texorpdfstring{add\+Texture\+Type()}{addTextureType()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Shader\+Gen\+Desc\+::add\+Texture\+Type (\begin{DoxyParamCaption}\item[{G\+Lenum}]{\+\_\+type,  }\item[{bool}]{\+\_\+shadow,  }\item[{size\+\_\+t}]{\+\_\+stage }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



adds a texture type to the shader and enables texturing. 



Definition at line 214 of file Shader\+Generator.\+hh.



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