\hypertarget{group__Evas__Canvas3D__Light}{}\section{Light Object}
\label{group__Evas__Canvas3D__Light}\index{Light Object@{Light Object}}


A light object represents a set of properties of a light source.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga21c2da74cba098412e0d3fa4926d93ba}{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+set} (\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} directional)
\begin{DoxyCompactList}\small\item\em Set the directional flag of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Evas__Canvas3D__Light_ga3d5834a5bd43cbfa40e1138875e5a86a}{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the directional flag of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga02929a2d369c8e80220e97b98356e3ad}{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} exponent)
\begin{DoxyCompactList}\small\item\em Set the spot exponent of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} \hyperlink{group__Evas__Canvas3D__Light_gabae41cebacf17612122591af26d846fa}{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the spot exponent of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga5a7b951a46ef264bd059b1395d558b71}{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} cutoff)
\begin{DoxyCompactList}\small\item\em Set the spot cutoff angle of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} \hyperlink{group__Evas__Canvas3D__Light_ga54d95bced37c20ef2dff85cb2283d8d3}{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the spot cutoff angle of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga74d842398ad8ca1880e631c53b000f1a}{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+set} (\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} enable)
\begin{DoxyCompactList}\small\item\em Set the attenuation enable flag of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Evas__Canvas3D__Light_gaab2afa8f69e7af6187424867fc1a67e0}{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the attenuation enable flag of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_gaf6f85bf078ca39c20847ad2ff3f474fc}{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} r, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} g, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} b, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} a)
\begin{DoxyCompactList}\small\item\em Set the ambient color of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga232c6d6bdec97aa8d45c1fe3e0bdf32e}{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+get} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$r, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$g, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$b, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$a)
\begin{DoxyCompactList}\small\item\em Get the ambient color of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga156b00736a9f9aad4be58e37140f7023}{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} r, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} g, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} b, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} a)
\begin{DoxyCompactList}\small\item\em Set the diffuse color of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga2511ea73ef967aa1503c20c736db4a3f}{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+get} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$r, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$g, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$b, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$a)
\begin{DoxyCompactList}\small\item\em Get the diffuse color of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga5cf389319e2c959d0a66d23217019a97}{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} r, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} g, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} b, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} a)
\begin{DoxyCompactList}\small\item\em Set the specular color of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga02293e53f3da07097c9609eae2377a54}{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+get} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$r, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$g, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$b, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$a)
\begin{DoxyCompactList}\small\item\em Get the specular color of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga31187b1b8970ae2901361d32c3493769}{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} constant, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} linear, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} quadratic)
\begin{DoxyCompactList}\small\item\em Set the attenuation of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga183acce97e1e3381a6a404c7087e609a}{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+get} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$constant, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$linear, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$quadratic)
\begin{DoxyCompactList}\small\item\em Get the attenuation of the given light. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga21864a6640cf63d8f797299111c6a3ed}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set} (const \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$matrix)
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given light source. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_gad70107a09859eb8d83a610cb6f3f2659}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+get} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} $\ast$matrix)
\begin{DoxyCompactList}\small\item\em Get the projection matrix of the given light source. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga58d6ff6421cfe0a9dcd77d14611c30cb}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+perspective\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} fovy, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} aspect, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} dnear, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} dfar)
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given light source with perspective projection. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_ga3924d94589d0139a0369d05996b4266b}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+frustum\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} left, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} right, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} bottom, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} top, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} dnear, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} dfar)
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given light source with frustum projection. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \hyperlink{group__Evas__Canvas3D__Light_gae1b2d1d7221f8cdb59e95abb29714ee3}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+ortho\+\_\+set} (\hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} left, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} right, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} bottom, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} top, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} dnear, \hyperlink{group__Evas_gafe9cc74872ef141d258c2162fa0ce5ca}{Evas\+\_\+\+Real} dfar)
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given light source with orthogonal projection. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A light object represents a set of properties of a light source. 

Evas 3D provides standard reflection model that of ambient, diffuse and specular reflection model. Also, Evas 3D support 3 types of light model, directional, point and spot light. Light position and direction is determined by the node containing the light. 

\subsection{Function Documentation}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+set(\+Eina\+\_\+\+Bool directional)}{evas_canvas3d_light_directional_set(Eina_Bool directional)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Bool}}]{directional}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga21c2da74cba098412e0d3fa4926d93ba}{}\label{group__Evas__Canvas3D__Light_ga21c2da74cba098412e0d3fa4926d93ba}


Set the directional flag of the given light. 

Directional light is a type of light which is infinitely far away with no attenuation. The light direction is determined by the containing node\textquotesingle{}s forward vector (negative Z-\/axis).

By default, directional is not enabled.

\hyperlink{group__Evas__Canvas3D__Node_ga35efbb89636f8f2fac6793f87e004bb1}{evas\+\_\+canvas3d\+\_\+node\+\_\+look\+\_\+at\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em directional} & Whether the light is directional (\$true), or not (\$false). \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+get}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+get(void)}{evas_canvas3d_light_directional_get(void)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI {\bf Eina\+\_\+\+Bool} evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga3d5834a5bd43cbfa40e1138875e5a86a}{}\label{group__Evas__Canvas3D__Light_ga3d5834a5bd43cbfa40e1138875e5a86a}


Get the directional flag of the given light. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga21c2da74cba098412e0d3fa4926d93ba}{evas\+\_\+canvas3d\+\_\+light\+\_\+directional\+\_\+set}

\begin{DoxyReturn}{Returns}
Whether the light is directional (\$true), or not (\$false). 
\end{DoxyReturn}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+set(\+Evas\+\_\+\+Real exponent)}{evas_canvas3d_light_spot_exponent_set(Evas_Real exponent)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{exponent}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga02929a2d369c8e80220e97b98356e3ad}{}\label{group__Evas__Canvas3D__Light_ga02929a2d369c8e80220e97b98356e3ad}


Set the spot exponent of the given light. 

Higher spot exponent means intensity at the center of the cone is relatively stronger. Zero exponent means the light intensity is evenly distibuted. The spot exponent has no effect when the light is not spot light (spot cutoff angle is less than 180 degree).

Default spot exponent is 0.

See also \hyperlink{group__Evas__Canvas3D__Light_ga5a7b951a46ef264bd059b1395d558b71}{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em exponent} & Spot exponent value. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+get}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+get(void)}{evas_canvas3d_light_spot_exponent_get(void)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI {\bf Evas\+\_\+\+Real} evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_gabae41cebacf17612122591af26d846fa}{}\label{group__Evas__Canvas3D__Light_gabae41cebacf17612122591af26d846fa}


Get the spot exponent of the given light. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga02929a2d369c8e80220e97b98356e3ad}{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+exponent\+\_\+set}

\begin{DoxyReturn}{Returns}
Spot exponent value. 
\end{DoxyReturn}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+set(\+Evas\+\_\+\+Real cutoff)}{evas_canvas3d_light_spot_cutoff_set(Evas_Real cutoff)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{cutoff}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga5a7b951a46ef264bd059b1395d558b71}{}\label{group__Evas__Canvas3D__Light_ga5a7b951a46ef264bd059b1395d558b71}


Set the spot cutoff angle of the given light. 

Only angle less than 180 degree will make it spot light, so that other spot light attribute will take effect.

Default spot cutoff angle is 180.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em cutoff} & Cutoff angle in degree.. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+get}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+get(void)}{evas_canvas3d_light_spot_cutoff_get(void)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI {\bf Evas\+\_\+\+Real} evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga54d95bced37c20ef2dff85cb2283d8d3}{}\label{group__Evas__Canvas3D__Light_ga54d95bced37c20ef2dff85cb2283d8d3}


Get the spot cutoff angle of the given light. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga5a7b951a46ef264bd059b1395d558b71}{evas\+\_\+canvas3d\+\_\+light\+\_\+spot\+\_\+cutoff\+\_\+set}

\begin{DoxyReturn}{Returns}
Cutoff angle in degree.. 
\end{DoxyReturn}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+set(\+Eina\+\_\+\+Bool enable)}{evas_canvas3d_light_attenuation_enable_set(Eina_Bool enable)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Bool}}]{enable}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga74d842398ad8ca1880e631c53b000f1a}{}\label{group__Evas__Canvas3D__Light_ga74d842398ad8ca1880e631c53b000f1a}


Set the attenuation enable flag of the given light. 

By default, light attenuation is not enabled.

See also \hyperlink{group__Evas__Canvas3D__Light_ga31187b1b8970ae2901361d32c3493769}{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em enable} & Whether to enable attenuation (\$true), or not (\$false).. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+get}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+get(void)}{evas_canvas3d_light_attenuation_enable_get(void)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI {\bf Eina\+\_\+\+Bool} evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_gaab2afa8f69e7af6187424867fc1a67e0}{}\label{group__Evas__Canvas3D__Light_gaab2afa8f69e7af6187424867fc1a67e0}


Get the attenuation enable flag of the given light. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga74d842398ad8ca1880e631c53b000f1a}{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+set}

\begin{DoxyReturn}{Returns}
Whether to enable attenuation (\$true), or not (\$false).. 
\end{DoxyReturn}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+set(\+Evas\+\_\+\+Real r, Evas\+\_\+\+Real g, Evas\+\_\+\+Real b, Evas\+\_\+\+Real a)}{evas_canvas3d_light_ambient_set(Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{r, }
\item[{{\bf Evas\+\_\+\+Real}}]{g, }
\item[{{\bf Evas\+\_\+\+Real}}]{b, }
\item[{{\bf Evas\+\_\+\+Real}}]{a}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_gaf6f85bf078ca39c20847ad2ff3f474fc}{}\label{group__Evas__Canvas3D__Light_gaf6f85bf078ca39c20847ad2ff3f474fc}


Set the ambient color of the given light. 

Default ambient color is (0.\+0, 0.\+0, 0.\+0, 1.\+0).


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em g} & Green component of the ambient color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt in}  & {\em b} & Blue component of the ambient color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt in}  & {\em a} & Alpha component of the ambient color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+get}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+get(\+Evas\+\_\+\+Real $\ast$r, Evas\+\_\+\+Real $\ast$g, Evas\+\_\+\+Real $\ast$b, Evas\+\_\+\+Real $\ast$a)}{evas_canvas3d_light_ambient_get(Evas_Real *r, Evas_Real *g, Evas_Real *b, Evas_Real *a)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{r, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{g, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{b, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{a}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga232c6d6bdec97aa8d45c1fe3e0bdf32e}{}\label{group__Evas__Canvas3D__Light_ga232c6d6bdec97aa8d45c1fe3e0bdf32e}


Get the ambient color of the given light. 

See also \hyperlink{group__Evas__Canvas3D__Light_gaf6f85bf078ca39c20847ad2ff3f474fc}{evas\+\_\+canvas3d\+\_\+light\+\_\+ambient\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em g} & Green component of the ambient color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt out}  & {\em b} & Blue component of the ambient color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt out}  & {\em a} & Alpha component of the ambient color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+set(\+Evas\+\_\+\+Real r, Evas\+\_\+\+Real g, Evas\+\_\+\+Real b, Evas\+\_\+\+Real a)}{evas_canvas3d_light_diffuse_set(Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{r, }
\item[{{\bf Evas\+\_\+\+Real}}]{g, }
\item[{{\bf Evas\+\_\+\+Real}}]{b, }
\item[{{\bf Evas\+\_\+\+Real}}]{a}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga156b00736a9f9aad4be58e37140f7023}{}\label{group__Evas__Canvas3D__Light_ga156b00736a9f9aad4be58e37140f7023}


Set the diffuse color of the given light. 

Default diffuse color is (1.\+0, 1.\+0, 1.\+0, 1.\+0).


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em g} & Green component of the diffuse color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt in}  & {\em b} & Blue component of the diffuse color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt in}  & {\em a} & Alpha component of the diffuse color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+get}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+get(\+Evas\+\_\+\+Real $\ast$r, Evas\+\_\+\+Real $\ast$g, Evas\+\_\+\+Real $\ast$b, Evas\+\_\+\+Real $\ast$a)}{evas_canvas3d_light_diffuse_get(Evas_Real *r, Evas_Real *g, Evas_Real *b, Evas_Real *a)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{r, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{g, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{b, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{a}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga2511ea73ef967aa1503c20c736db4a3f}{}\label{group__Evas__Canvas3D__Light_ga2511ea73ef967aa1503c20c736db4a3f}


Get the diffuse color of the given light. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga156b00736a9f9aad4be58e37140f7023}{evas\+\_\+canvas3d\+\_\+light\+\_\+diffuse\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em g} & Green component of the diffuse color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt out}  & {\em b} & Blue component of the diffuse color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt out}  & {\em a} & Alpha component of the diffuse color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+set(\+Evas\+\_\+\+Real r, Evas\+\_\+\+Real g, Evas\+\_\+\+Real b, Evas\+\_\+\+Real a)}{evas_canvas3d_light_specular_set(Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{r, }
\item[{{\bf Evas\+\_\+\+Real}}]{g, }
\item[{{\bf Evas\+\_\+\+Real}}]{b, }
\item[{{\bf Evas\+\_\+\+Real}}]{a}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga5cf389319e2c959d0a66d23217019a97}{}\label{group__Evas__Canvas3D__Light_ga5cf389319e2c959d0a66d23217019a97}


Set the specular color of the given light. 

Default specular color is (1.\+0, 1.\+0, 1.\+0, 1.\+0).


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em g} & Green component of the specular color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt in}  & {\em b} & Blue component of the specular color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt in}  & {\em a} & Alpha component of the specular color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+get}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+get(\+Evas\+\_\+\+Real $\ast$r, Evas\+\_\+\+Real $\ast$g, Evas\+\_\+\+Real $\ast$b, Evas\+\_\+\+Real $\ast$a)}{evas_canvas3d_light_specular_get(Evas_Real *r, Evas_Real *g, Evas_Real *b, Evas_Real *a)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{r, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{g, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{b, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{a}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga02293e53f3da07097c9609eae2377a54}{}\label{group__Evas__Canvas3D__Light_ga02293e53f3da07097c9609eae2377a54}


Get the specular color of the given light. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga5cf389319e2c959d0a66d23217019a97}{evas\+\_\+canvas3d\+\_\+light\+\_\+specular\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em g} & Green component of the specular color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt out}  & {\em b} & Blue component of the specular color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\mbox{\tt out}  & {\em a} & Alpha component of the specular color between \mbox{[}0.\+0, 1.\+0\mbox{]}. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+set(\+Evas\+\_\+\+Real constant, Evas\+\_\+\+Real linear, Evas\+\_\+\+Real quadratic)}{evas_canvas3d_light_attenuation_set(Evas_Real constant, Evas_Real linear, Evas_Real quadratic)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{constant, }
\item[{{\bf Evas\+\_\+\+Real}}]{linear, }
\item[{{\bf Evas\+\_\+\+Real}}]{quadratic}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga31187b1b8970ae2901361d32c3493769}{}\label{group__Evas__Canvas3D__Light_ga31187b1b8970ae2901361d32c3493769}


Set the attenuation of the given light. 

Light attenuation has no effect with directional light. And the attenuation should be enabled first to take effect. The attenuation factor is calculated as follows.

atten = 1.\+0 / constant + linear $\ast$ distance + quadratic $\ast$ distance $\ast$ distance

Default attenuation is constant = 1.\+0, linear = 0.\+0, quadratic = 0.\+0.

See also \hyperlink{group__Evas__Canvas3D__Light_ga74d842398ad8ca1880e631c53b000f1a}{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+enable\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em linear} & Linear attenuation term.. \\
\hline
\mbox{\tt in}  & {\em quadratic} & Quadratic attenuation term.. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+get}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+get(\+Evas\+\_\+\+Real $\ast$constant, Evas\+\_\+\+Real $\ast$linear, Evas\+\_\+\+Real $\ast$quadratic)}{evas_canvas3d_light_attenuation_get(Evas_Real *constant, Evas_Real *linear, Evas_Real *quadratic)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{constant, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{linear, }
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{quadratic}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga183acce97e1e3381a6a404c7087e609a}{}\label{group__Evas__Canvas3D__Light_ga183acce97e1e3381a6a404c7087e609a}


Get the attenuation of the given light. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga31187b1b8970ae2901361d32c3493769}{evas\+\_\+canvas3d\+\_\+light\+\_\+attenuation\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em linear} & Linear attenuation term.. \\
\hline
\mbox{\tt out}  & {\em quadratic} & Quadratic attenuation term.. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set(const Evas\+\_\+\+Real $\ast$matrix)}{evas_canvas3d_light_projection_matrix_set(const Evas_Real *matrix)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\+\_\+\+Real} $\ast$}]{matrix}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga21864a6640cf63d8f797299111c6a3ed}{}\label{group__Evas__Canvas3D__Light_ga21864a6640cf63d8f797299111c6a3ed}


Set the projection matrix of the given light source. 

Default projection matrix is identity matrix.

See also \hyperlink{group__Evas__Canvas3D__Light_ga58d6ff6421cfe0a9dcd77d14611c30cb}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+perspective\+\_\+set}, \hyperlink{group__Evas__Canvas3D__Light_gae1b2d1d7221f8cdb59e95abb29714ee3}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+ortho\+\_\+set} and \hyperlink{group__Evas__Canvas3D__Light_ga3924d94589d0139a0369d05996b4266b}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+frustum\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em matrix} & Projection Matrix. Pointer to the array of 16 Evas.\+Real values in column major order. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+get}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+get@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+get}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+get(\+Evas\+\_\+\+Real $\ast$matrix)}{evas_canvas3d_light_projection_matrix_get(Evas_Real *matrix)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{matrix}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_gad70107a09859eb8d83a610cb6f3f2659}{}\label{group__Evas__Canvas3D__Light_gad70107a09859eb8d83a610cb6f3f2659}


Get the projection matrix of the given light source. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga21864a6640cf63d8f797299111c6a3ed}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em matrix} & Projection Matrix \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+perspective\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+perspective\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+perspective\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+perspective\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+perspective\+\_\+set(\+Evas\+\_\+\+Real fovy, Evas\+\_\+\+Real aspect, Evas\+\_\+\+Real dnear, Evas\+\_\+\+Real dfar)}{evas_canvas3d_light_projection_perspective_set(Evas_Real fovy, Evas_Real aspect, Evas_Real dnear, Evas_Real dfar)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+perspective\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{fovy, }
\item[{{\bf Evas\+\_\+\+Real}}]{aspect, }
\item[{{\bf Evas\+\_\+\+Real}}]{dnear, }
\item[{{\bf Evas\+\_\+\+Real}}]{dfar}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga58d6ff6421cfe0a9dcd77d14611c30cb}{}\label{group__Evas__Canvas3D__Light_ga58d6ff6421cfe0a9dcd77d14611c30cb}


Set the projection matrix of the given light source with perspective projection. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga21864a6640cf63d8f797299111c6a3ed}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em aspect} & Aspect ratio. \\
\hline
\mbox{\tt in}  & {\em dnear} & Distance to near clipping plane. \\
\hline
\mbox{\tt in}  & {\em dfar} & Distance to far clipping plane. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+frustum\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+frustum\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+frustum\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+frustum\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+frustum\+\_\+set(\+Evas\+\_\+\+Real left, Evas\+\_\+\+Real right, Evas\+\_\+\+Real bottom, Evas\+\_\+\+Real top, Evas\+\_\+\+Real dnear, Evas\+\_\+\+Real dfar)}{evas_canvas3d_light_projection_frustum_set(Evas_Real left, Evas_Real right, Evas_Real bottom, Evas_Real top, Evas_Real dnear, Evas_Real dfar)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+frustum\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{left, }
\item[{{\bf Evas\+\_\+\+Real}}]{right, }
\item[{{\bf Evas\+\_\+\+Real}}]{bottom, }
\item[{{\bf Evas\+\_\+\+Real}}]{top, }
\item[{{\bf Evas\+\_\+\+Real}}]{dnear, }
\item[{{\bf Evas\+\_\+\+Real}}]{dfar}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_ga3924d94589d0139a0369d05996b4266b}{}\label{group__Evas__Canvas3D__Light_ga3924d94589d0139a0369d05996b4266b}


Set the projection matrix of the given light source with frustum projection. 

\hyperlink{group__Evas__Canvas3D__Light_ga21864a6640cf63d8f797299111c6a3ed}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em right} & Right X coordinate of the near clipping plane. \\
\hline
\mbox{\tt in}  & {\em bottom} & Bottom Y coordinate of the near clipping plane. \\
\hline
\mbox{\tt in}  & {\em top} & Top Y coordinate of the near clipping plane \\
\hline
\mbox{\tt in}  & {\em dnear} & Distance to near clipping plane. \\
\hline
\mbox{\tt in}  & {\em dfar} & Distance to far clipping plane. \\
\hline
\end{DoxyParams}
\index{Light Object@{Light Object}!evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+ortho\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+ortho\+\_\+set}}
\index{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+ortho\+\_\+set@{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+ortho\+\_\+set}!Light Object@{Light Object}}
\subsubsection[{\texorpdfstring{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+ortho\+\_\+set(\+Evas\+\_\+\+Real left, Evas\+\_\+\+Real right, Evas\+\_\+\+Real bottom, Evas\+\_\+\+Real top, Evas\+\_\+\+Real dnear, Evas\+\_\+\+Real dfar)}{evas_canvas3d_light_projection_ortho_set(Evas_Real left, Evas_Real right, Evas_Real bottom, Evas_Real top, Evas_Real dnear, Evas_Real dfar)}}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+ortho\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{left, }
\item[{{\bf Evas\+\_\+\+Real}}]{right, }
\item[{{\bf Evas\+\_\+\+Real}}]{bottom, }
\item[{{\bf Evas\+\_\+\+Real}}]{top, }
\item[{{\bf Evas\+\_\+\+Real}}]{dnear, }
\item[{{\bf Evas\+\_\+\+Real}}]{dfar}
\end{DoxyParamCaption}
)}\hypertarget{group__Evas__Canvas3D__Light_gae1b2d1d7221f8cdb59e95abb29714ee3}{}\label{group__Evas__Canvas3D__Light_gae1b2d1d7221f8cdb59e95abb29714ee3}


Set the projection matrix of the given light source with orthogonal projection. 

See also \hyperlink{group__Evas__Canvas3D__Light_ga21864a6640cf63d8f797299111c6a3ed}{evas\+\_\+canvas3d\+\_\+light\+\_\+projection\+\_\+matrix\+\_\+set}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em right} & Right X coordinate of the near clipping plane. \\
\hline
\mbox{\tt in}  & {\em bottom} & Bottom Y coordinate of the near clipping plane. \\
\hline
\mbox{\tt in}  & {\em top} & Top Y coordinate of the near clipping plane \\
\hline
\mbox{\tt in}  & {\em dnear} & Distance to near clipping plane. \\
\hline
\mbox{\tt in}  & {\em dfar} & Distance to far clipping plane. \\
\hline
\end{DoxyParams}
