<trclass="memitem:gafe2cae8cb26fd44be62aee97369d0af8"><tdclass="memTemplParams"colspan="2">template<typename T , precision P></td></tr>
<trclass="memitem:gafe2cae8cb26fd44be62aee97369d0af8"><tdclass="memTemplItemLeft"align="right"valign="top">GLM_FUNC_DECL tvec3< T, P > </td><tdclass="memTemplItemRight"valign="bottom"><aclass="el"href="a00147.html#gafe2cae8cb26fd44be62aee97369d0af8">cross</a> (tvec3< T, P > const &x, tvec3< T, P > const &y)</td></tr>
<trclass="memdesc:gafe2cae8cb26fd44be62aee97369d0af8"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the cross product of x and y. <ahref="a00147.html#gafe2cae8cb26fd44be62aee97369d0af8">More...</a><br/></td></tr>
<trclass="memitem:ga7dada304da2ba7dd3376ab4f178c3f6b"><tdclass="memTemplParams"colspan="2">template<typename T , precision P, template< typename, precision > class vecType></td></tr>
<trclass="memitem:ga7dada304da2ba7dd3376ab4f178c3f6b"><tdclass="memTemplItemLeft"align="right"valign="top">GLM_FUNC_DECL T </td><tdclass="memTemplItemRight"valign="bottom"><aclass="el"href="a00147.html#ga7dada304da2ba7dd3376ab4f178c3f6b">dot</a> (vecType< T, P > const &x, vecType< T, P > const &y)</td></tr>
<trclass="memdesc:ga7dada304da2ba7dd3376ab4f178c3f6b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the dot product of x and y, i.e., result = x * y. <ahref="a00147.html#ga7dada304da2ba7dd3376ab4f178c3f6b">More...</a><br/></td></tr>
<trclass="memitem:ga18d45e3d4c7705e67ccfabd99e521604"><tdclass="memTemplParams"colspan="2">template<typename T , precision P, template< typename, precision > class vecType></td></tr>
<trclass="memitem:ga18d45e3d4c7705e67ccfabd99e521604"><tdclass="memTemplItemLeft"align="right"valign="top">GLM_FUNC_DECL T </td><tdclass="memTemplItemRight"valign="bottom"><aclass="el"href="a00147.html#ga18d45e3d4c7705e67ccfabd99e521604">length</a> (vecType< T, P > const &x)</td></tr>
<trclass="memdesc:ga18d45e3d4c7705e67ccfabd99e521604"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the length of x, i.e., sqrt(x * x). <ahref="a00147.html#ga18d45e3d4c7705e67ccfabd99e521604">More...</a><br/></td></tr>
<trclass="memitem:gada9451ec170a36fe53552812b9c03a68"><tdclass="memTemplParams"colspan="2">template<typename T , precision P, template< typename, precision > class vecType></td></tr>
<trclass="memitem:gada9451ec170a36fe53552812b9c03a68"><tdclass="memTemplItemLeft"align="right"valign="top">GLM_FUNC_DECL vecType< T, P > </td><tdclass="memTemplItemRight"valign="bottom"><aclass="el"href="a00147.html#gada9451ec170a36fe53552812b9c03a68">normalize</a> (vecType< T, P > const &x)</td></tr>
<trclass="memdesc:gada9451ec170a36fe53552812b9c03a68"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a vector in the same direction as x but with length of 1. <ahref="a00147.html#gada9451ec170a36fe53552812b9c03a68">More...</a><br/></td></tr>
<trclass="memdesc:gab63646fc36b81cf69d3ce123a72f76f2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N. <ahref="a00147.html#gab63646fc36b81cf69d3ce123a72f76f2">More...</a><br/></td></tr>
<trclass="memitem:gab7e7cdf4403931a5f7b74560ad64159b"><tdclass="memTemplParams"colspan="2">template<typename T , precision P, template< typename, precision > class vecType></td></tr>
<trclass="memitem:gab7e7cdf4403931a5f7b74560ad64159b"><tdclass="memTemplItemLeft"align="right"valign="top">GLM_FUNC_DECL vecType< T, P > </td><tdclass="memTemplItemRight"valign="bottom"><aclass="el"href="a00147.html#gab7e7cdf4403931a5f7b74560ad64159b">refract</a> (vecType< T, P > const &I, vecType< T, P > const &N, T eta)</td></tr>
<trclass="memdesc:gab7e7cdf4403931a5f7b74560ad64159b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector. <ahref="a00147.html#gab7e7cdf4403931a5f7b74560ad64159b">More...</a><br/></td></tr>