\hypertarget{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader}{
\section{GpuQuadraticCurveRender::OpenglGpuShader Class Reference}
\label{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader}\index{GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}}
}
Compiles a glsl shader.  


{\tt \#include $<$OpenglGpuShader.h$>$}

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_ef9818feb0ad16e5ca12b7d9abee6a21}{OpenglGpuShader} (const std::wstring \&shaderFile, GpuShaderStage stage)
\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_11eb20e302f37348bd57bcd190824e89}{
\hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_11eb20e302f37348bd57bcd190824e89}{$\sim$OpenglGpuShader} (void)}
\label{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_11eb20e302f37348bd57bcd190824e89}

\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
GLint \hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_a44c5590fdffbd10e72a63429ef42fae}{GetGlShaderId} (void) const 
\begin{CompactList}\small\item\em Gets gl shader id. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
GLint \hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_e7d6e120416271101028f528dce411fa}{LoadShaderFromFile} (const std::wstring \&shaderFile, GpuShaderStage stage)
\begin{CompactList}\small\item\em Compiles a shader file. \item\end{CompactList}\item 
void \hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_61e0f55af992c4551e154626351a49ad}{ReadSourceFile} (const std::wstring \&shaderFile, std::string \&source)
\begin{CompactList}\small\item\em Reads source shader file. \item\end{CompactList}\item 
\hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_1e6a255e32ee4a35aef46cc28d856039}{OpenglGpuShader} (const \hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader}{OpenglGpuShader} \&shader)
\item 
\hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader}{OpenglGpuShader} \& \hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_8c193d747995e798b095ecf28e68c360}{operator=} (const \hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader}{OpenglGpuShader} \&shader)
\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\hypertarget{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_088b49c46bd7b4d37442dfd92f9f8704}{
GLint \hyperlink{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_088b49c46bd7b4d37442dfd92f9f8704}{m\_\-glShader}}
\label{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_088b49c46bd7b4d37442dfd92f9f8704}

\begin{CompactList}\small\item\em Opengl shader id. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Compiles a glsl shader. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_ef9818feb0ad16e5ca12b7d9abee6a21}{
\index{GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}!OpenglGpuShader@{OpenglGpuShader}}
\index{OpenglGpuShader@{OpenglGpuShader}!GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}}
\subsubsection[{OpenglGpuShader}]{\setlength{\rightskip}{0pt plus 5cm}OpenglGpuShader::OpenglGpuShader (const std::wstring \& {\em shaderFile}, \/  GpuShaderStage {\em stage})}}
\label{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_ef9818feb0ad16e5ca12b7d9abee6a21}


Constructor \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em shaderFile}]shader path file \item[{\em stage}]Vertex or pixel stage \end{description}
\end{Desc}
\hypertarget{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_1e6a255e32ee4a35aef46cc28d856039}{
\index{GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}!OpenglGpuShader@{OpenglGpuShader}}
\index{OpenglGpuShader@{OpenglGpuShader}!GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}}
\subsubsection[{OpenglGpuShader}]{\setlength{\rightskip}{0pt plus 5cm}GpuQuadraticCurveRender::OpenglGpuShader::OpenglGpuShader (const {\bf OpenglGpuShader} \& {\em shader})\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_1e6a255e32ee4a35aef46cc28d856039}


\begin{Desc}
\item[Note:]hide copy constructor from interface user \end{Desc}


\subsection{Member Function Documentation}
\hypertarget{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_a44c5590fdffbd10e72a63429ef42fae}{
\index{GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}!GetGlShaderId@{GetGlShaderId}}
\index{GetGlShaderId@{GetGlShaderId}!GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}}
\subsubsection[{GetGlShaderId}]{\setlength{\rightskip}{0pt plus 5cm}GLint OpenglGpuShader::GetGlShaderId (void) const}}
\label{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_a44c5590fdffbd10e72a63429ef42fae}


Gets gl shader id. 

\begin{Desc}
\item[Returns:]gl shader id \end{Desc}
\hypertarget{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_e7d6e120416271101028f528dce411fa}{
\index{GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}!LoadShaderFromFile@{LoadShaderFromFile}}
\index{LoadShaderFromFile@{LoadShaderFromFile}!GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}}
\subsubsection[{LoadShaderFromFile}]{\setlength{\rightskip}{0pt plus 5cm}GLint OpenglGpuShader::LoadShaderFromFile (const std::wstring \& {\em shaderFile}, \/  GpuShaderStage {\em stage})\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_e7d6e120416271101028f528dce411fa}


Compiles a shader file. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em shaderFile}]shader path file \item[{\em stage}]Vertex or pixel stage \end{description}
\end{Desc}
\hypertarget{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_8c193d747995e798b095ecf28e68c360}{
\index{GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}!operator=@{operator=}}
\index{operator=@{operator=}!GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf OpenglGpuShader}\& GpuQuadraticCurveRender::OpenglGpuShader::operator= (const {\bf OpenglGpuShader} \& {\em shader})\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_8c193d747995e798b095ecf28e68c360}


\begin{Desc}
\item[Note:]hide assignment operator from interface user \end{Desc}
\hypertarget{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_61e0f55af992c4551e154626351a49ad}{
\index{GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}!ReadSourceFile@{ReadSourceFile}}
\index{ReadSourceFile@{ReadSourceFile}!GpuQuadraticCurveRender::OpenglGpuShader@{GpuQuadraticCurveRender::OpenglGpuShader}}
\subsubsection[{ReadSourceFile}]{\setlength{\rightskip}{0pt plus 5cm}void OpenglGpuShader::ReadSourceFile (const std::wstring \& {\em shaderFile}, \/  std::string \& {\em source})\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_gpu_quadratic_curve_render_1_1_opengl_gpu_shader_61e0f55af992c4551e154626351a49ad}


Reads source shader file. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em shaderFile}]shader path file \item[{\em source}]shader source \end{description}
\end{Desc}


Load the file 

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
src/GpuQuadraticCurveRender/\hyperlink{_opengl_gpu_shader_8h}{OpenglGpuShader.h}\item 
src/GpuQuadraticCurveRender/\hyperlink{_opengl_gpu_shader_8cpp}{OpenglGpuShader.cpp}\end{CompactItemize}
