\hypertarget{a03347}{\section{A\+C\+G\+:\+:Scene\+Graph\+:\+:Draw\+Modes Namespace Reference}
\label{a03347}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{a00509}{Draw\+Mode}
\begin{DoxyCompactList}\small\item\em Specifies a \hyperlink{a00509}{Draw\+Mode}. \end{DoxyCompactList}\item 
class \hyperlink{a00511}{Draw\+Mode\+Internal}
\begin{DoxyCompactList}\small\item\em Definition of a draw mode. \end{DoxyCompactList}\item 
class \hyperlink{a00512}{Draw\+Mode\+Properties}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00512}{Draw\+Mode\+Properties} stores a set of properties that defines, how to render an object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a03347_a2fdf13e7b9993b366934dde373b6695d}{typedef std\+::vector\\*
$<$ \hyperlink{a00511}{Draw\+Mode\+Internal} $>$ {\bfseries Vec\+Draw\+Modes}}\label{a03347_a2fdf13e7b9993b366934dde373b6695d}

\item 
\hypertarget{a03347_aee500745eaba639178be4d9bbf67bb70}{typedef std\+::bitset$<$ 128 $>$ {\bfseries Mode\+Flag\+Set}}\label{a03347_aee500745eaba639178be4d9bbf67bb70}

\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{a03347_a225c5d9c693ecbcae541b84b4e1cceae}{Draw\+Mode\+Light\+Stage} \{ \hyperlink{a03347_a225c5d9c693ecbcae541b84b4e1cceaeae1d1e7dfea7e39b8c69fa4510abdc345}{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+U\+N\+L\+I\+T}, 
\hyperlink{a03347_a225c5d9c693ecbcae541b84b4e1cceaeaa203fc0c4ddcb8d387fcc25c543bd7de}{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+S\+M\+O\+O\+T\+H}, 
\hyperlink{a03347_a225c5d9c693ecbcae541b84b4e1cceaea68bcd3f22344cf6311f4b1ba4dfb6150}{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+P\+H\+O\+N\+G}
 \}
\begin{DoxyCompactList}\small\item\em Lighting stage of a mesh\+: unlit, smooth, phong. \end{DoxyCompactList}\item 
enum \hyperlink{a03347_aff5214aaf6e6caba8f1a09f816d544fe}{Draw\+Mode\+Primitive} \{ \\*
{\bfseries P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+P\+O\+I\+N\+T}, 
{\bfseries P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+E\+D\+G\+E}, 
{\bfseries P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}, 
{\bfseries P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+W\+I\+R\+E\+F\+R\+A\+M\+E}, 
\\*
{\bfseries P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+H\+I\+D\+D\+E\+N\+L\+I\+N\+E}, 
{\bfseries P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+P\+O\+L\+Y\+G\+O\+N}, 
{\bfseries P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+C\+E\+L\+L}
 \}
\begin{DoxyCompactList}\small\item\em Primitive mode of a mesh. \end{DoxyCompactList}\item 
enum \hyperlink{a03347_a874611037c39fcd3319a8c1af73ab479}{Draw\+Mode\+Color\+Source} \{ \\*
\hyperlink{a03347_a874611037c39fcd3319a8c1af73ab479abbff308cc59983c5d96b2a28c46c089a}{C\+O\+L\+O\+R\+\_\+\+N\+O\+N\+E}, 
\hyperlink{a03347_a874611037c39fcd3319a8c1af73ab479ac0c952f8d3c17d40b1c6d5bbb006eeaa}{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}, 
\hyperlink{a03347_a874611037c39fcd3319a8c1af73ab479a41c08634541fc49e5b9c1d79f4891a80}{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+E\+D\+G\+E}, 
\hyperlink{a03347_a874611037c39fcd3319a8c1af73ab479a54d16afe741118717af07b285f0e845a}{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}, 
\\*
\hyperlink{a03347_a874611037c39fcd3319a8c1af73ab479accefeb3794cb00f3e3b65fb0a9314413}{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E}
 \}
\begin{DoxyCompactList}\small\item\em Source of Primitive Colors. \end{DoxyCompactList}\item 
enum \hyperlink{a03347_a93189412ca623f8335573682495acae5}{Draw\+Mode\+Tex\+Coord\+Source} \{ \hyperlink{a03347_a93189412ca623f8335573682495acae5aae0c92380d85135d8223e0411a2c5e73}{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+N\+O\+N\+E}, 
\hyperlink{a03347_a93189412ca623f8335573682495acae5af2583db24ae613dff8750331c7bf892b}{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}, 
\hyperlink{a03347_a93189412ca623f8335573682495acae5acfd6a7e9af7192a924f0662341b1e174}{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}
 \}
\begin{DoxyCompactList}\small\item\em Source of \hyperlink{a01281}{Texture} Coordinates. \end{DoxyCompactList}\item 
enum \hyperlink{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3}{Draw\+Mode\+Normal\+Source} \{ \hyperlink{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3aa95c2375311e3e2980eb9e00693c2e20}{N\+O\+R\+M\+A\+L\+\_\+\+N\+O\+N\+E}, 
\hyperlink{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3a3f76c28daa45c2237ffd86fe1b004c48}{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}, 
\hyperlink{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3a6e5b77959ce5c88cd34deec3c24a83a2}{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}, 
\hyperlink{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3a1fc1db001dce1c0792ae60733ef4fdc0}{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E}
 \}
\begin{DoxyCompactList}\small\item\em Source of Normals. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a03347_adc05a702dbfdbac29320676ae0235727}{initialize\+Default\+Draw\+Modes} (void)
\item 
const \hyperlink{a00509}{Draw\+Mode} \& \hyperlink{a03347_adc29d644e599946c994ace6f84b9e80c}{add\+Draw\+Mode} (const std\+::string \&\+\_\+name, bool \+\_\+property\+Based=false)
\begin{DoxyCompactList}\small\item\em Add a custom \hyperlink{a00509}{Draw\+Mode}. \end{DoxyCompactList}\item 
A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T const \hyperlink{a00509}{Draw\+Mode} \& \hyperlink{a03347_ab786ea48ebee0050fbea215b1fa26436}{add\+Draw\+Mode} (const std\+::string \&\+\_\+name, const \hyperlink{a00512}{Draw\+Mode\+Properties} \&\+\_\+properties)
\begin{DoxyCompactList}\small\item\em Add a custom property based \hyperlink{a00509}{Draw\+Mode}. \end{DoxyCompactList}\item 
const \hyperlink{a00509}{Draw\+Mode} \& \hyperlink{a03347_a8475ddf58f01d2d3ca4acc9941307756}{get\+Draw\+Mode} (const std\+::string \&\+\_\+name)
\begin{DoxyCompactList}\small\item\em Get a custom \hyperlink{a00509}{Draw\+Mode}. \end{DoxyCompactList}\item 
bool \hyperlink{a03347_a503309de4b6856edae99f1ee9ba71a1e}{draw\+Mode\+Exists} (const std\+::string \&\+\_\+name)
\begin{DoxyCompactList}\small\item\em Check if the given draw mode exists. \end{DoxyCompactList}\item 
\hypertarget{a03347_aa68bb2e1fc5919496cf8ec6f88f5e008}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_aa68bb2e1fc5919496cf8ec6f88f5e008}{get\+Draw\+Mode\+From\+Index} (unsigned int \+\_\+index)}\label{a03347_aa68bb2e1fc5919496cf8ec6f88f5e008}

\begin{DoxyCompactList}\small\item\em given an index of an atomic draw mode, return the drawmode \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a03347_ab75ca81fb392e6fd334d689241296438}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_ab75ca81fb392e6fd334d689241296438}{N\+O\+N\+E} = Mode\+Flag\+Set(0)}\label{a03347_ab75ca81fb392e6fd334d689241296438}

\begin{DoxyCompactList}\small\item\em not a valid draw mode \end{DoxyCompactList}\item 
\hypertarget{a03347_a86e2ee2cdca1cdeaf861126ce9604507}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a86e2ee2cdca1cdeaf861126ce9604507}{D\+E\+F\+A\+U\+L\+T} = Mode\+Flag\+Set(1)}\label{a03347_a86e2ee2cdca1cdeaf861126ce9604507}

\begin{DoxyCompactList}\small\item\em use the default (global) draw mode and not the node's own. \end{DoxyCompactList}\item 
\hypertarget{a03347_a9c5f1ec0a64bebbfb0381f2a0edb34e1}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a9c5f1ec0a64bebbfb0381f2a0edb34e1}{P\+O\+I\+N\+T\+S} = Mode\+Flag\+Set(1) $<$$<$ 1}\label{a03347_a9c5f1ec0a64bebbfb0381f2a0edb34e1}

\begin{DoxyCompactList}\small\item\em draw unlighted points using the default base color \end{DoxyCompactList}\item 
\hypertarget{a03347_a4a89d727671b57a3815a659333d8ae98}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a4a89d727671b57a3815a659333d8ae98}{P\+O\+I\+N\+T\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 2}\label{a03347_a4a89d727671b57a3815a659333d8ae98}

\begin{DoxyCompactList}\small\item\em draw colored, but not lighted points (requires point colors) \end{DoxyCompactList}\item 
\hypertarget{a03347_aaf32c0891b4002b61b580b44a38208f0}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_aaf32c0891b4002b61b580b44a38208f0}{P\+O\+I\+N\+T\+S\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 3}\label{a03347_aaf32c0891b4002b61b580b44a38208f0}

\begin{DoxyCompactList}\small\item\em draw shaded points (requires point normals) \end{DoxyCompactList}\item 
\hypertarget{a03347_a0d545c63e2c1d5e61744880a02496048}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a0d545c63e2c1d5e61744880a02496048}{E\+D\+G\+E\+S} = Mode\+Flag\+Set(1) $<$$<$ 4}\label{a03347_a0d545c63e2c1d5e61744880a02496048}

\begin{DoxyCompactList}\small\item\em draw edges \end{DoxyCompactList}\item 
\hypertarget{a03347_ab5b51c85a6b0f3a99d8beb4a0213d508}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_ab5b51c85a6b0f3a99d8beb4a0213d508}{E\+D\+G\+E\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 5}\label{a03347_ab5b51c85a6b0f3a99d8beb4a0213d508}

\begin{DoxyCompactList}\small\item\em draw edges with colors (without shading) \end{DoxyCompactList}\item 
\hypertarget{a03347_a87b0de55d27a5af827f277beedc5d5af}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a87b0de55d27a5af827f277beedc5d5af}{W\+I\+R\+E\+F\+R\+A\+M\+E} = Mode\+Flag\+Set(1) $<$$<$ 6}\label{a03347_a87b0de55d27a5af827f277beedc5d5af}

\begin{DoxyCompactList}\small\item\em draw wireframe \end{DoxyCompactList}\item 
\hypertarget{a03347_af6e55b39543ac3c675d5cbfd499553be}{\hyperlink{a00509}{Draw\+Mode} {\bfseries F\+A\+C\+E\+S} = Mode\+Flag\+Set(1) $<$$<$ 7}\label{a03347_af6e55b39543ac3c675d5cbfd499553be}

\item 
\hypertarget{a03347_a98660110d4ea8be09449966fd840e717}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a98660110d4ea8be09449966fd840e717}{H\+I\+D\+D\+E\+N\+L\+I\+N\+E} = Mode\+Flag\+Set(1) $<$$<$ 8}\label{a03347_a98660110d4ea8be09449966fd840e717}

\begin{DoxyCompactList}\small\item\em draw hidden line (2 rendering passes needed) \end{DoxyCompactList}\item 
\hypertarget{a03347_af3f2670dd4c43cef963aa6ca78203049}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_af3f2670dd4c43cef963aa6ca78203049}{S\+O\+L\+I\+D\+\_\+\+F\+L\+A\+T\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 9}\label{a03347_af3f2670dd4c43cef963aa6ca78203049}

\begin{DoxyCompactList}\small\item\em draw flat shaded faces (requires face normals) \end{DoxyCompactList}\item 
\hypertarget{a03347_a16ee1029ff0c1e34baaf32f6e0442b24}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a16ee1029ff0c1e34baaf32f6e0442b24}{S\+O\+L\+I\+D\+\_\+\+S\+M\+O\+O\+T\+H\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 10}\label{a03347_a16ee1029ff0c1e34baaf32f6e0442b24}

\begin{DoxyCompactList}\small\item\em draw smooth shaded (Gouraud shaded) faces (requires halfedge normals) \end{DoxyCompactList}\item 
\hypertarget{a03347_a3178f45386cdc7de5ec57fa96338098a}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a3178f45386cdc7de5ec57fa96338098a}{S\+O\+L\+I\+D\+\_\+\+P\+H\+O\+N\+G\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 11}\label{a03347_a3178f45386cdc7de5ec57fa96338098a}

\begin{DoxyCompactList}\small\item\em draw phong shaded faces \end{DoxyCompactList}\item 
\hypertarget{a03347_a82803ae38af20b3c031e2f308334c758}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a82803ae38af20b3c031e2f308334c758}{S\+O\+L\+I\+D\+\_\+\+F\+A\+C\+E\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 12}\label{a03347_a82803ae38af20b3c031e2f308334c758}

\begin{DoxyCompactList}\small\item\em draw colored, but not lighted faces using face colors \end{DoxyCompactList}\item 
\hypertarget{a03347_ac33bbfdca6acf373b32404b61563c3ee}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_ac33bbfdca6acf373b32404b61563c3ee}{S\+O\+L\+I\+D\+\_\+\+P\+O\+I\+N\+T\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 13}\label{a03347_ac33bbfdca6acf373b32404b61563c3ee}

\begin{DoxyCompactList}\small\item\em draw colored, but not lighted faces using interpolated vertex colors \end{DoxyCompactList}\item 
\hypertarget{a03347_a47205c3b3be94125ad37d3933d20f5a3}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a47205c3b3be94125ad37d3933d20f5a3}{S\+O\+L\+I\+D\+\_\+\+P\+O\+I\+N\+T\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 14}\label{a03347_a47205c3b3be94125ad37d3933d20f5a3}

\begin{DoxyCompactList}\small\item\em draw faces, but use Gouraud shading to interpolate vertex colors \end{DoxyCompactList}\item 
\hypertarget{a03347_a398596b34a0a8a7bd4d7cec8774dd31d}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a398596b34a0a8a7bd4d7cec8774dd31d}{S\+O\+L\+I\+D\+\_\+\+E\+N\+V\+\_\+\+M\+A\+P\+P\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 15}\label{a03347_a398596b34a0a8a7bd4d7cec8774dd31d}

\begin{DoxyCompactList}\small\item\em draw environment mapped \end{DoxyCompactList}\item 
\hypertarget{a03347_adc877ef4e733513bbf5bfa50f21849a1}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_adc877ef4e733513bbf5bfa50f21849a1}{S\+O\+L\+I\+D\+\_\+\+T\+E\+X\+T\+U\+R\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 16}\label{a03347_adc877ef4e733513bbf5bfa50f21849a1}

\begin{DoxyCompactList}\small\item\em draw textured faces \end{DoxyCompactList}\item 
\hypertarget{a03347_a7416b53706bcd303838f3b8559724005}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a7416b53706bcd303838f3b8559724005}{S\+O\+L\+I\+D\+\_\+\+T\+E\+X\+T\+U\+R\+E\+D\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 17}\label{a03347_a7416b53706bcd303838f3b8559724005}

\begin{DoxyCompactList}\small\item\em draw smooth shaded textured faces \end{DoxyCompactList}\item 
\hypertarget{a03347_ab11a1c994abc29f0f1d8628c88fd5936}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_ab11a1c994abc29f0f1d8628c88fd5936}{S\+O\+L\+I\+D\+\_\+1\+D\+T\+E\+X\+T\+U\+R\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 18}\label{a03347_ab11a1c994abc29f0f1d8628c88fd5936}

\begin{DoxyCompactList}\small\item\em draw textured faces \end{DoxyCompactList}\item 
\hypertarget{a03347_ae9c755057177f178265d8fdb21c573b5}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_ae9c755057177f178265d8fdb21c573b5}{S\+O\+L\+I\+D\+\_\+1\+D\+T\+E\+X\+T\+U\+R\+E\+D\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 19}\label{a03347_ae9c755057177f178265d8fdb21c573b5}

\begin{DoxyCompactList}\small\item\em draw smooth shaded textured faces \end{DoxyCompactList}\item 
\hypertarget{a03347_accc21cba623344735fcd4e1298b58ec3}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_accc21cba623344735fcd4e1298b58ec3}{S\+O\+L\+I\+D\+\_\+3\+D\+T\+E\+X\+T\+U\+R\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 20}\label{a03347_accc21cba623344735fcd4e1298b58ec3}

\begin{DoxyCompactList}\small\item\em draw textured faces \end{DoxyCompactList}\item 
\hypertarget{a03347_a43f1d846b8e0dd2459fcb87dfa50c1dc}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a43f1d846b8e0dd2459fcb87dfa50c1dc}{S\+O\+L\+I\+D\+\_\+3\+D\+T\+E\+X\+T\+U\+R\+E\+D\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 21}\label{a03347_a43f1d846b8e0dd2459fcb87dfa50c1dc}

\begin{DoxyCompactList}\small\item\em draw smooth shaded textured faces \end{DoxyCompactList}\item 
\hypertarget{a03347_a877d1325de55fdc2bf86c3e642e1ec53}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a877d1325de55fdc2bf86c3e642e1ec53}{S\+O\+L\+I\+D\+\_\+\+F\+A\+C\+E\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D\+\_\+\+F\+L\+A\+T\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 22}\label{a03347_a877d1325de55fdc2bf86c3e642e1ec53}

\begin{DoxyCompactList}\small\item\em draw flat shaded and colored faces (requires face normals and colors) \end{DoxyCompactList}\item 
\hypertarget{a03347_a487f8307e5b1eefb197dd0c586ce443a}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a487f8307e5b1eefb197dd0c586ce443a}{S\+O\+L\+I\+D\+\_\+\+F\+A\+C\+E\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D\+\_\+\+S\+M\+O\+O\+T\+H\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 23}\label{a03347_a487f8307e5b1eefb197dd0c586ce443a}

\begin{DoxyCompactList}\small\item\em draw smooth shaded and colored faces (requires vertex normals and face colors) \end{DoxyCompactList}\item 
\hypertarget{a03347_a773f41d4ae221c6c790c30ef019f65e5}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a773f41d4ae221c6c790c30ef019f65e5}{S\+O\+L\+I\+D\+\_\+2\+D\+T\+E\+X\+T\+U\+R\+E\+D\+\_\+\+F\+A\+C\+E} = Mode\+Flag\+Set(1) $<$$<$ 24}\label{a03347_a773f41d4ae221c6c790c30ef019f65e5}

\begin{DoxyCompactList}\small\item\em draw per halfedge textured faces \end{DoxyCompactList}\item 
\hypertarget{a03347_a7a2ae1320f285707fa95cc0e99f38f4c}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a7a2ae1320f285707fa95cc0e99f38f4c}{S\+O\+L\+I\+D\+\_\+2\+D\+T\+E\+X\+T\+U\+R\+E\+D\+\_\+\+F\+A\+C\+E\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 25}\label{a03347_a7a2ae1320f285707fa95cc0e99f38f4c}

\begin{DoxyCompactList}\small\item\em draw per halfedge textured faces \end{DoxyCompactList}\item 
\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a883513ed394fd28c94856f9179323df3}{S\+O\+L\+I\+D\+\_\+\+S\+H\+A\+D\+E\+R} = Mode\+Flag\+Set(1) $<$$<$ 26
\item 
\hypertarget{a03347_acdb72173e1aa0b42ef63d655b7ed4c32}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_acdb72173e1aa0b42ef63d655b7ed4c32}{S\+O\+L\+I\+D\+\_\+\+S\+M\+O\+O\+T\+H\+\_\+\+S\+H\+A\+D\+E\+D\+\_\+\+F\+E\+A\+T\+U\+R\+E\+S} = Mode\+Flag\+Set(1) $<$$<$ 27}\label{a03347_acdb72173e1aa0b42ef63d655b7ed4c32}

\begin{DoxyCompactList}\small\item\em draw smooth shaded (Gouraud shaded) faces (requires halfedge normals) \end{DoxyCompactList}\item 
\hypertarget{a03347_a07f348f08fb3cfdca27701c714f3ae28}{\hyperlink{a00509}{Draw\+Mode} {\bfseries C\+E\+L\+L\+S} = Mode\+Flag\+Set(1) $<$$<$ 28}\label{a03347_a07f348f08fb3cfdca27701c714f3ae28}

\item 
\hypertarget{a03347_a9038863cde22f7eaee6cf0abb3a74c07}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a9038863cde22f7eaee6cf0abb3a74c07}{C\+E\+L\+L\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 29}\label{a03347_a9038863cde22f7eaee6cf0abb3a74c07}

\begin{DoxyCompactList}\small\item\em draw cells with colors (without shading) \end{DoxyCompactList}\item 
\hypertarget{a03347_a39060d2f52497360241312ef25d51ae8}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a39060d2f52497360241312ef25d51ae8}{H\+A\+L\+F\+E\+D\+G\+E\+S} = Mode\+Flag\+Set(1) $<$$<$ 30}\label{a03347_a39060d2f52497360241312ef25d51ae8}

\begin{DoxyCompactList}\small\item\em draw halfedges \end{DoxyCompactList}\item 
\hypertarget{a03347_a712f4fc157f63dd4bdae157637bb28ed}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a712f4fc157f63dd4bdae157637bb28ed}{H\+A\+L\+F\+E\+D\+G\+E\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 31}\label{a03347_a712f4fc157f63dd4bdae157637bb28ed}

\begin{DoxyCompactList}\small\item\em draw halfedges with colors (without shading) \end{DoxyCompactList}\item 
\hypertarget{a03347_a9b5aaa126731cdad23af1d7e88c6f6c7}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a9b5aaa126731cdad23af1d7e88c6f6c7}{S\+O\+L\+I\+D\+\_\+\+F\+A\+C\+E\+S\+\_\+\+C\+O\+L\+O\+R\+E\+D\+\_\+2\+D\+T\+E\+X\+T\+U\+R\+E\+D\+\_\+\+F\+A\+C\+E\+\_\+\+S\+M\+O\+O\+T\+H\+\_\+\+S\+H\+A\+D\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 32}\label{a03347_a9b5aaa126731cdad23af1d7e88c6f6c7}

\begin{DoxyCompactList}\small\item\em draw per halfedge texture faces modulated with face colors with smooth shading \end{DoxyCompactList}\item 
\hypertarget{a03347_a2fc1332dcf5ee5ac5e6509845d18174d}{\hyperlink{a00509}{Draw\+Mode} \hyperlink{a03347_a2fc1332dcf5ee5ac5e6509845d18174d}{U\+N\+U\+S\+E\+D} = Mode\+Flag\+Set(1) $<$$<$ 33}\label{a03347_a2fc1332dcf5ee5ac5e6509845d18174d}

\begin{DoxyCompactList}\small\item\em marks the last used I\+D \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This namespace consists of the definition of all available draw modes, function to get their name (description()) and to include them in a Q\+Popup\+Menu. 

\subsection{Enumeration Type Documentation}
\hypertarget{a03347_a874611037c39fcd3319a8c1af73ab479}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!Draw\+Mode\+Color\+Source@{Draw\+Mode\+Color\+Source}}
\index{Draw\+Mode\+Color\+Source@{Draw\+Mode\+Color\+Source}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{Draw\+Mode\+Color\+Source}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Color\+Source}}}\label{a03347_a874611037c39fcd3319a8c1af73ab479}


Source of Primitive Colors. 

This is interpreted as a per vertex diffuse and ambient color and multiplied with the material diffuse/ambient colors. \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{C\+O\+L\+O\+R\+\_\+\+N\+O\+N\+E@{C\+O\+L\+O\+R\+\_\+\+N\+O\+N\+E}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!C\+O\+L\+O\+R\+\_\+\+N\+O\+N\+E@{C\+O\+L\+O\+R\+\_\+\+N\+O\+N\+E}}\item[{\em 
\hypertarget{a03347_a874611037c39fcd3319a8c1af73ab479abbff308cc59983c5d96b2a28c46c089a}{C\+O\+L\+O\+R\+\_\+\+N\+O\+N\+E}\label{a03347_a874611037c39fcd3319a8c1af73ab479abbff308cc59983c5d96b2a28c46c089a}
}]Use material colors only \index{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X@{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X@{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}}\item[{\em 
\hypertarget{a03347_a874611037c39fcd3319a8c1af73ab479ac0c952f8d3c17d40b1c6d5bbb006eeaa}{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}\label{a03347_a874611037c39fcd3319a8c1af73ab479ac0c952f8d3c17d40b1c6d5bbb006eeaa}
}]Load per vertex colors and modulate with material color \index{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+E\+D\+G\+E@{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+E\+D\+G\+E}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+E\+D\+G\+E@{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+E\+D\+G\+E}}\item[{\em 
\hypertarget{a03347_a874611037c39fcd3319a8c1af73ab479a41c08634541fc49e5b9c1d79f4891a80}{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+E\+D\+G\+E}\label{a03347_a874611037c39fcd3319a8c1af73ab479a41c08634541fc49e5b9c1d79f4891a80}
}]Load per edge colors and modulate with material color \index{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E@{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E@{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}}\item[{\em 
\hypertarget{a03347_a874611037c39fcd3319a8c1af73ab479a54d16afe741118717af07b285f0e845a}{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}\label{a03347_a874611037c39fcd3319a8c1af73ab479a54d16afe741118717af07b285f0e845a}
}]Load per halfedge colors and modulate with material color \index{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E@{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E@{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E}}\item[{\em 
\hypertarget{a03347_a874611037c39fcd3319a8c1af73ab479accefeb3794cb00f3e3b65fb0a9314413}{C\+O\+L\+O\+R\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E}\label{a03347_a874611037c39fcd3319a8c1af73ab479accefeb3794cb00f3e3b65fb0a9314413}
}]Load per face colors and modulate with material color \end{description}
\end{Desc}


Definition at line 140 of file Draw\+Modes.\+hh.

\hypertarget{a03347_a225c5d9c693ecbcae541b84b4e1cceae}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!Draw\+Mode\+Light\+Stage@{Draw\+Mode\+Light\+Stage}}
\index{Draw\+Mode\+Light\+Stage@{Draw\+Mode\+Light\+Stage}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{Draw\+Mode\+Light\+Stage}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Light\+Stage}}}\label{a03347_a225c5d9c693ecbcae541b84b4e1cceae}


Lighting stage of a mesh\+: unlit, smooth, phong. 

Don't confuse this with the interpolation mode of vertex attributes. This only says where to apply lighting, and nothing else.

Instead the interpolation mode is customizable for each attribute, making \hyperlink{a00512}{Draw\+Mode\+Properties} more flexible.

flat shading can be achieved by using L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+S\+M\+O\+O\+T\+H and setting the normal source to N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+U\+N\+L\+I\+T@{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+U\+N\+L\+I\+T}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+U\+N\+L\+I\+T@{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+U\+N\+L\+I\+T}}\item[{\em 
\hypertarget{a03347_a225c5d9c693ecbcae541b84b4e1cceaeae1d1e7dfea7e39b8c69fa4510abdc345}{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+U\+N\+L\+I\+T}\label{a03347_a225c5d9c693ecbcae541b84b4e1cceaeae1d1e7dfea7e39b8c69fa4510abdc345}
}]No lighting, normals may be used by user defined shaders \index{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+S\+M\+O\+O\+T\+H@{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+S\+M\+O\+O\+T\+H}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+S\+M\+O\+O\+T\+H@{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+S\+M\+O\+O\+T\+H}}\item[{\em 
\hypertarget{a03347_a225c5d9c693ecbcae541b84b4e1cceaeaa203fc0c4ddcb8d387fcc25c543bd7de}{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+S\+M\+O\+O\+T\+H}\label{a03347_a225c5d9c693ecbcae541b84b4e1cceaeaa203fc0c4ddcb8d387fcc25c543bd7de}
}]Perform lighting in vertex shader \index{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+P\+H\+O\+N\+G@{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+P\+H\+O\+N\+G}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+P\+H\+O\+N\+G@{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+P\+H\+O\+N\+G}}\item[{\em 
\hypertarget{a03347_a225c5d9c693ecbcae541b84b4e1cceaea68bcd3f22344cf6311f4b1ba4dfb6150}{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+P\+H\+O\+N\+G}\label{a03347_a225c5d9c693ecbcae541b84b4e1cceaea68bcd3f22344cf6311f4b1ba4dfb6150}
}]Perform lighting in fragment shader \end{description}
\end{Desc}


Definition at line 113 of file Draw\+Modes.\+hh.

\hypertarget{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!Draw\+Mode\+Normal\+Source@{Draw\+Mode\+Normal\+Source}}
\index{Draw\+Mode\+Normal\+Source@{Draw\+Mode\+Normal\+Source}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{Draw\+Mode\+Normal\+Source}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Normal\+Source}}}\label{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3}


Source of Normals. 

This must be specified if lighting is enabled. \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{N\+O\+R\+M\+A\+L\+\_\+\+N\+O\+N\+E@{N\+O\+R\+M\+A\+L\+\_\+\+N\+O\+N\+E}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!N\+O\+R\+M\+A\+L\+\_\+\+N\+O\+N\+E@{N\+O\+R\+M\+A\+L\+\_\+\+N\+O\+N\+E}}\item[{\em 
\hypertarget{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3aa95c2375311e3e2980eb9e00693c2e20}{N\+O\+R\+M\+A\+L\+\_\+\+N\+O\+N\+E}\label{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3aa95c2375311e3e2980eb9e00693c2e20}
}]Disable lighting \index{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X@{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X@{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}}\item[{\em 
\hypertarget{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3a3f76c28daa45c2237ffd86fe1b004c48}{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}\label{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3a3f76c28daa45c2237ffd86fe1b004c48}
}]Use per vertex normals \index{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E@{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E@{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}}\item[{\em 
\hypertarget{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3a6e5b77959ce5c88cd34deec3c24a83a2}{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}\label{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3a6e5b77959ce5c88cd34deec3c24a83a2}
}]Use per halfedge normals \index{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E@{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E@{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E}}\item[{\em 
\hypertarget{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3a1fc1db001dce1c0792ae60733ef4fdc0}{N\+O\+R\+M\+A\+L\+\_\+\+P\+E\+R\+\_\+\+F\+A\+C\+E}\label{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3a1fc1db001dce1c0792ae60733ef4fdc0}
}]Use per face normals \begin{DoxyNote}{Note}
per face is implicitly used in S\+H\+A\+D\+E\+\_\+\+F\+L\+A\+T mode 
\end{DoxyNote}
\end{description}
\end{Desc}


Definition at line 165 of file Draw\+Modes.\+hh.

\hypertarget{a03347_aff5214aaf6e6caba8f1a09f816d544fe}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!Draw\+Mode\+Primitive@{Draw\+Mode\+Primitive}}
\index{Draw\+Mode\+Primitive@{Draw\+Mode\+Primitive}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{Draw\+Mode\+Primitive}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Primitive}}}\label{a03347_aff5214aaf6e6caba8f1a09f816d544fe}


Primitive mode of a mesh. 

Example\+: P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+E\+D\+G\+E on a polygon mesh renders only edges of the mesh. 

Definition at line 124 of file Draw\+Modes.\+hh.

\hypertarget{a03347_a93189412ca623f8335573682495acae5}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!Draw\+Mode\+Tex\+Coord\+Source@{Draw\+Mode\+Tex\+Coord\+Source}}
\index{Draw\+Mode\+Tex\+Coord\+Source@{Draw\+Mode\+Tex\+Coord\+Source}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{Draw\+Mode\+Tex\+Coord\+Source}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Tex\+Coord\+Source}}}\label{a03347_a93189412ca623f8335573682495acae5}


Source of \hyperlink{a01282}{Texture} Coordinates. 

This must be specified for a textured draw. \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+N\+O\+N\+E@{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+N\+O\+N\+E}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+N\+O\+N\+E@{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+N\+O\+N\+E}}\item[{\em 
\hypertarget{a03347_a93189412ca623f8335573682495acae5aae0c92380d85135d8223e0411a2c5e73}{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+N\+O\+N\+E}\label{a03347_a93189412ca623f8335573682495acae5aae0c92380d85135d8223e0411a2c5e73}
}]Disable texture mapping \index{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X@{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X@{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}}\item[{\em 
\hypertarget{a03347_a93189412ca623f8335573682495acae5af2583db24ae613dff8750331c7bf892b}{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+V\+E\+R\+T\+E\+X}\label{a03347_a93189412ca623f8335573682495acae5af2583db24ae613dff8750331c7bf892b}
}]Use per vertex texcoords for texture mapping \index{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E@{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E@{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}}\item[{\em 
\hypertarget{a03347_a93189412ca623f8335573682495acae5acfd6a7e9af7192a924f0662341b1e174}{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+P\+E\+R\+\_\+\+H\+A\+L\+F\+E\+D\+G\+E}\label{a03347_a93189412ca623f8335573682495acae5acfd6a7e9af7192a924f0662341b1e174}
}]Use per halfedge texcoords for texture mapping \end{description}
\end{Desc}


Definition at line 153 of file Draw\+Modes.\+hh.



\subsection{Function Documentation}
\hypertarget{a03347_adc29d644e599946c994ace6f84b9e80c}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!add\+Draw\+Mode@{add\+Draw\+Mode}}
\index{add\+Draw\+Mode@{add\+Draw\+Mode}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{add\+Draw\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T const {\bf Draw\+Mode} \& A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::add\+Draw\+Mode (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+name, }
\item[{bool}]{\+\_\+property\+Based = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03347_adc29d644e599946c994ace6f84b9e80c}


Add a custom \hyperlink{a00509}{Draw\+Mode}. 

The id of the new draw mode is returned. If it already exists, the id of the existing one is returned.

Property based draw modes consist of various flags, which define which primitives and additional information are send to the gpu.


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the draw mode to add \\
\hline
{\em \+\_\+property\+Based} & If set to true a property based draw mode is created. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Id of the new draw mode 
\end{DoxyReturn}


Definition at line 771 of file Draw\+Modes.\+cc.

\hypertarget{a03347_ab786ea48ebee0050fbea215b1fa26436}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!add\+Draw\+Mode@{add\+Draw\+Mode}}
\index{add\+Draw\+Mode@{add\+Draw\+Mode}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{add\+Draw\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T const {\bf Draw\+Mode} \& A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::add\+Draw\+Mode (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+name, }
\item[{const Draw\+Mode\+Properties \&}]{\+\_\+properties}
\end{DoxyParamCaption}
)}}\label{a03347_ab786ea48ebee0050fbea215b1fa26436}


Add a custom property based \hyperlink{a00509}{Draw\+Mode}. 

The id of the new draw mode is returned. If it already exists, the id of the existing one is returned.

\begin{DoxyNote}{Note}
If the \hyperlink{a00509}{Draw\+Mode} already exists, the properties will be applied to the existing mode!!
\end{DoxyNote}
Property based draw modes consist of various flags, which define which primitives and additional information are send to the gpu.


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the draw mode to add \\
\hline
{\em \+\_\+properties} & \hyperlink{a01027}{Properties} of the drawmode \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Id of the new draw mode 
\end{DoxyReturn}


Definition at line 793 of file Draw\+Modes.\+cc.

\hypertarget{a03347_a503309de4b6856edae99f1ee9ba71a1e}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!draw\+Mode\+Exists@{draw\+Mode\+Exists}}
\index{draw\+Mode\+Exists@{draw\+Mode\+Exists}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{draw\+Mode\+Exists}]{\setlength{\rightskip}{0pt plus 5cm}A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T bool A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::draw\+Mode\+Exists (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+name}
\end{DoxyParamCaption}
)}}\label{a03347_a503309de4b6856edae99f1ee9ba71a1e}


Check if the given draw mode exists. 



Definition at line 830 of file Draw\+Modes.\+cc.

\hypertarget{a03347_a8475ddf58f01d2d3ca4acc9941307756}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!get\+Draw\+Mode@{get\+Draw\+Mode}}
\index{get\+Draw\+Mode@{get\+Draw\+Mode}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{get\+Draw\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T const {\bf Draw\+Mode} \& A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::get\+Draw\+Mode (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+name}
\end{DoxyParamCaption}
)}}\label{a03347_a8475ddf58f01d2d3ca4acc9941307756}


Get a custom \hyperlink{a00509}{Draw\+Mode}. 

The id of the draw mode is returned or if it does not exist, Draw\+Mode\+::\+N\+O\+N\+E is returned.


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the \hyperlink{a00509}{Draw\+Mode} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Id of the draw mode or \hyperlink{a03347_ab75ca81fb392e6fd334d689241296438}{Draw\+Modes\+::\+N\+O\+N\+E} 
\end{DoxyReturn}


Definition at line 813 of file Draw\+Modes.\+cc.

\hypertarget{a03347_adc05a702dbfdbac29320676ae0235727}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!initialize\+Default\+Draw\+Modes@{initialize\+Default\+Draw\+Modes}}
\index{initialize\+Default\+Draw\+Modes@{initialize\+Default\+Draw\+Modes}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{initialize\+Default\+Draw\+Modes}]{\setlength{\rightskip}{0pt plus 5cm}A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T void A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::initialize\+Default\+Draw\+Modes (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{a03347_adc05a702dbfdbac29320676ae0235727}
Initialize the default modes. This function has to be called at least once at application startup. 

Definition at line 645 of file Draw\+Modes.\+cc.



\subsection{Variable Documentation}
\hypertarget{a03347_a883513ed394fd28c94856f9179323df3}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}!S\+O\+L\+I\+D\+\_\+\+S\+H\+A\+D\+E\+R@{S\+O\+L\+I\+D\+\_\+\+S\+H\+A\+D\+E\+R}}
\index{S\+O\+L\+I\+D\+\_\+\+S\+H\+A\+D\+E\+R@{S\+O\+L\+I\+D\+\_\+\+S\+H\+A\+D\+E\+R}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes}}
\subsubsection[{S\+O\+L\+I\+D\+\_\+\+S\+H\+A\+D\+E\+R}]{\setlength{\rightskip}{0pt plus 5cm}A\+C\+G\+D\+L\+L\+E\+X\+P\+O\+R\+T {\bf Draw\+Mode} A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+S\+O\+L\+I\+D\+\_\+\+S\+H\+A\+D\+E\+R = Mode\+Flag\+Set(1) $<$$<$ 26}}\label{a03347_a883513ed394fd28c94856f9179323df3}
drawing is controlled by shaders ( Use shadernodes to set them before the actual object to render) 

Definition at line 104 of file Draw\+Modes.\+cc.

