\hypertarget{a00887}{\section{Normal\+Fragment\+Modifier Class Reference}
\label{a00887}\index{Normal\+Fragment\+Modifier@{Normal\+Fragment\+Modifier}}
}
Inheritance diagram for Normal\+Fragment\+Modifier\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00887}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00887_a6bfe2475dc55e89b72b8fda7144aa5ae}{modify\+Vertex\+I\+O} (\hyperlink{a01160}{A\+C\+G\+::\+Shader\+Generator} $\ast$\+\_\+shader)
\begin{DoxyCompactList}\small\item\em Add your own inputs/outputs to the vertex shader. \end{DoxyCompactList}\item 
void \hyperlink{a00887_a0c228f43b14edc4bc6d41649f0164aac}{modify\+Fragment\+End\+Code} (Q\+String\+List $\ast$\+\_\+code)
\begin{DoxyCompactList}\small\item\em Append code the the fragment shader. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00887_a08157a50379e5ee77ae0e2df827ba8d6}{static \hyperlink{a00887}{Normal\+Fragment\+Modifier} {\bfseries instance}}\label{a00887_a08157a50379e5ee77ae0e2df827ba8d6}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}


Definition at line 60 of file Normal\+Renderer.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a00887_a0c228f43b14edc4bc6d41649f0164aac}{\index{Normal\+Fragment\+Modifier@{Normal\+Fragment\+Modifier}!modify\+Fragment\+End\+Code@{modify\+Fragment\+End\+Code}}
\index{modify\+Fragment\+End\+Code@{modify\+Fragment\+End\+Code}!Normal\+Fragment\+Modifier@{Normal\+Fragment\+Modifier}}
\subsubsection[{modify\+Fragment\+End\+Code}]{\setlength{\rightskip}{0pt plus 5cm}void Normal\+Fragment\+Modifier\+::modify\+Fragment\+End\+Code (
\begin{DoxyParamCaption}
\item[{Q\+String\+List $\ast$}]{\+\_\+code}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a00887_a0c228f43b14edc4bc6d41649f0164aac}


Append code the the fragment shader. 

Refer to the generation structure (\hyperlink{ShaderGenerator_page}{Shader Generator} ) to see where your code is added and which variables you can modify. Use


\begin{DoxyCode}
\_code->push\_back(\textcolor{stringliteral}{"..."});
\end{DoxyCode}


to insert your code here.


\begin{DoxyParams}{Parameters}
{\em \+\_\+code} & string list of shader code. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{a01163_a25b1e0be6dd4a8365ecb1c72da21d310}{A\+C\+G\+::\+Shader\+Modifier}.



Definition at line 70 of file Normal\+Renderer.\+cc.

\hypertarget{a00887_a6bfe2475dc55e89b72b8fda7144aa5ae}{\index{Normal\+Fragment\+Modifier@{Normal\+Fragment\+Modifier}!modify\+Vertex\+I\+O@{modify\+Vertex\+I\+O}}
\index{modify\+Vertex\+I\+O@{modify\+Vertex\+I\+O}!Normal\+Fragment\+Modifier@{Normal\+Fragment\+Modifier}}
\subsubsection[{modify\+Vertex\+I\+O}]{\setlength{\rightskip}{0pt plus 5cm}void Normal\+Fragment\+Modifier\+::modify\+Vertex\+I\+O (
\begin{DoxyParamCaption}
\item[{{\bf A\+C\+G\+::\+Shader\+Generator} $\ast$}]{\+\_\+shader}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a00887_a6bfe2475dc55e89b72b8fda7144aa5ae}


Add your own inputs/outputs to the vertex shader. 

Your implementation may look like this\+:


\begin{DoxyCode}
\_shader->addInput(\textcolor{stringliteral}{"vec4 inTangent"});
\_shader->addUniform(\textcolor{stringliteral}{"vec4 shaderParam"});
\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em \+\_\+shader} & shader interface \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{a01163_a0692498de2b752b70b8ac3afcbfb5212}{A\+C\+G\+::\+Shader\+Modifier}.



Definition at line 64 of file Normal\+Renderer.\+cc.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
Plugin\+Collection-\/\+Renderers/\+Plugin-\/\+Render-\/\+Normals/Normal\+Renderer.\+cc\end{DoxyCompactItemize}
