UNPKG

gl-matrix

Version:

Javascript Matrix and Vector library for High Performance WebGL apps

4,480 lines (1,137 loc) 80.9 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Module: vec4</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Module: vec4</h1> <section> <header> </header> <article> <div class="container-overview"> <div class="description">4 Dimensional Vector</div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line23">line 23</a> </li></ul></dd> </dl> </div> <h3 class="subsection-title">Methods</h3> <h4 class="name" id=".add"><span class="type-signature">(static) </span>add<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Adds two vec4's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line116">line 116</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".ceil"><span class="type-signature">(static) </span>ceil<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Math.ceil the components of a vec4 </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">vector to ceil</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line179">line 179</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".clone"><span class="type-signature">(static) </span>clone<span class="signature">(a)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Creates a new vec4 initialized with values from an existing vector </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">vector to clone</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line48">line 48</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> a new 4D vector </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".copy"><span class="type-signature">(static) </span>copy<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Copy the values from one vec4 to another </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the source vector</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line82">line 82</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".create"><span class="type-signature">(static) </span>create<span class="signature">()</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Creates a new, empty vec4 </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line33">line 33</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> a new 4D vector </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".dist"><span class="type-signature">(static) </span>dist<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> Alias for vec4.distance </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line547">line 547</a> </li></ul></dd> </dl> <h4 class="name" id=".distance"><span class="type-signature">(static) </span>distance<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Number}</span></h4> <div class="description"> Calculates the euclidian distance between two vec4's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line289">line 289</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> distance between a and b </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Number</span> </dd> </dl> <h4 class="name" id=".div"><span class="type-signature">(static) </span>div<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> Alias for vec4.divide </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line541">line 541</a> </li></ul></dd> </dl> <h4 class="name" id=".divide"><span class="type-signature">(static) </span>divide<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Divides two vec4's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line164">line 164</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".dot"><span class="type-signature">(static) </span>dot<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Number}</span></h4> <div class="description"> Calculates the dot product of two vec4's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line400">line 400</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> dot product of a and b </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Number</span> </dd> </dl> <h4 class="name" id=".equals"><span class="type-signature">(static) </span>equals<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Boolean}</span></h4> <div class="description"> Returns whether or not the vectors have approximately the same elements in the same position. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">The first vector.</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">The second vector.</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line516">line 516</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> True if the vectors are equal, false otherwise. </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Boolean</span> </dd> </dl> <h4 class="name" id=".exactEquals"><span class="type-signature">(static) </span>exactEquals<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Boolean}</span></h4> <div class="description"> Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===) </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">The first vector.</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">The second vector.</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line505">line 505</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> True if the vectors are equal, false otherwise. </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Boolean</span> </dd> </dl> <h4 class="name" id=".floor"><span class="type-signature">(static) </span>floor<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Math.floor the components of a vec4 </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">vector to floor</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line194">line 194</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".forEach"><span class="type-signature">(static) </span>forEach<span class="signature">(a, stride, offset, count, fn, arg<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Array}</span></h4> <div class="description"> Perform some operation over an array of vec4s. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">Array</span> </td> <td class="attributes"> </td> <td class="description last">the array of vectors to iterate over</td> </tr> <tr> <td class="name"><code>stride</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="attributes"> </td> <td class="description last">Number of elements between the start of each vec4. If 0 assumes tightly packed</td> </tr> <tr> <td class="name"><code>offset</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="attributes"> </td> <td class="description last">Number of elements to skip at the beginning of the array</td> </tr> <tr> <td class="name"><code>count</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="attributes"> </td> <td class="description last">Number of vec4s to iterate over. If 0 iterates over entire array</td> </tr> <tr> <td class="name"><code>fn</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="attributes"> </td> <td class="description last">Function to call for each vector in the array</td> </tr> <tr> <td class="name"><code>arg</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last">additional argument to pass to fn</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line579">line 579</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> a </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Array</span> </dd> </dl> <h4 class="name" id=".fromValues"><span class="type-signature">(static) </span>fromValues<span class="signature">(x, y, z, w)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Creates a new vec4 initialized with the given values </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>x</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">X component</td> </tr> <tr> <td class="name"><code>y</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">Y component</td> </tr> <tr> <td class="name"><code>z</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">Z component</td> </tr> <tr> <td class="name"><code>w</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">W component</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line66">line 66</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> a new 4D vector </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".inverse"><span class="type-signature">(static) </span>inverse<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Returns the inverse of the components of a vec4 </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">vector to invert</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line362">line 362</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".len"><span class="type-signature">(static) </span>len<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> Alias for vec4.length </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line559">line 559</a> </li></ul></dd> </dl> <h4 class="name" id=".length"><span class="type-signature">(static) </span>length<span class="signature">(a)</span><span class="type-signature"> &rarr; {Number}</span></h4> <div class="description"> Calculates the length of a vec4 </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">vector to calculate length of</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line318">line 318</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> length of a </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Number</span> </dd> </dl> <h4 class="name" id=".lerp"><span class="type-signature">(static) </span>lerp<span class="signature">(out, a, b, t)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Performs a linear interpolation between two vec4's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the second operand</td> </tr> <tr> <td class="name"><code>t</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">interpolation amount between the two inputs</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line413">line 413</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".max"><span class="type-signature">(static) </span>max<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Returns the maximum of two vec4's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line226">line 226</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".min"><span class="type-signature">(static) </span>min<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Returns the minimum of two vec4's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line210">line 210</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".mul"><span class="type-signature">(static) </span>mul<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> Alias for vec4.multiply </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line535">line 535</a> </li></ul></dd> </dl> <h4 class="name" id=".multiply"><span class="type-signature">(static) </span>multiply<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Multiplies two vec4's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line148">line 148</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".negate"><span class="type-signature">(static) </span>negate<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Negates the components of a vec4 </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">vector to negate</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line347">line 347</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">vec4</span> </dd> </dl> <h4 class="name" id=".normalize"><span class="type-signature">(static) </span>normalize<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec4}</span></h4> <div class="description"> Normalize a vec4 </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">vec4</span> </td> <td class="description last">vector to normalize</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="vec4.js.html">vec4.js</a>, <a href="vec4.js.html#line377">line 377</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt>