diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a03337.html | 2591 |
1 files changed, 2591 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03337.html b/docs/doxygen/nel/a03337.html new file mode 100644 index 00000000..dade30f8 --- /dev/null +++ b/docs/doxygen/nel/a03337.html @@ -0,0 +1,2591 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NLMISC::CRGBA class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLMISC::CRGBA Class Reference</h1><code>#include <<a class="el" href="a06340.html">rgba.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Class pixel RGBA <dl compact><dt><b>Author:</b></dt><dd>Cyril Corvazier <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2000 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00044">44</a> of file <a class="el" href="a06340.html">rgba.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a03337.html">CRGBA</a> c1)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa1">avg2</a> (<a class="el" href="a03337.html">CRGBA</a> a, <a class="el" href="a03337.html">CRGBA</a> b)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa2">avg4</a> (<a class="el" href="a03337.html">CRGBA</a> a, <a class="el" href="a03337.html">CRGBA</a> b, <a class="el" href="a03337.html">CRGBA</a> c, <a class="el" href="a03337.html">CRGBA</a> d)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa3">blendFromui</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a03337.html">CRGBA</a> c1, <a class="el" href="a04558.html#a15">uint</a> coef)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa4">CRGBA</a> (<a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a04223.html#a628">r</a>, <a class="el" href="a04558.html#a7">uint8</a> g, <a class="el" href="a04558.html#a7">uint8</a> b, <a class="el" href="a04558.html#a7">uint8</a> a=255)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. do nothing. <a href="#NLMISC_1_1CRGBAa5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a9">uint16</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa6">get565</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa7">getPacked</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa8">modulateFromColor</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a03337.html">CRGBA</a> c1)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa9">modulateFromui</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a04558.html#a15">uint</a> a)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa10">operator!=</a> (<a class="el" href="a03337.html">CRGBA</a> c) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa11">operator<</a> (<a class="el" href="a03337.html">CRGBA</a> c) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa12">operator==</a> (<a class="el" href="a03337.html">CRGBA</a> c) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa13">serial</a> (class <a class="el" href="a02270.html">NLMISC::IStream</a> &f)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa14">set</a> (<a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a04223.html#a628">r</a>, <a class="el" href="a04558.html#a7">uint8</a> g, <a class="el" href="a04558.html#a7">uint8</a> b, <a class="el" href="a04558.html#a7">uint8</a> a=255)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa15">set565</a> (<a class="el" href="a04558.html#a9">uint16</a> col)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa16">setPacked</a> (<a class="el" href="a04558.html#a15">uint</a> packed)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a03337.html">CRGBA</a> c1)</td></tr> + +<tr><td colspan="2"><div class="groupHeader">RGBOnly methods. Same f() as their homonym, but don't modify A component.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2022_0">addRGBOnly</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a03337.html">CRGBA</a> c1)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa0">add()</a> <a href="#NLMISC_1_1CRGBAz2022_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2022_1">avg2RGBOnly</a> (<a class="el" href="a03337.html">CRGBA</a> a, <a class="el" href="a03337.html">CRGBA</a> b)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa1">avg2()</a> <a href="#NLMISC_1_1CRGBAz2022_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2022_2">avg4RGBOnly</a> (<a class="el" href="a03337.html">CRGBA</a> a, <a class="el" href="a03337.html">CRGBA</a> b, <a class="el" href="a03337.html">CRGBA</a> c, <a class="el" href="a03337.html">CRGBA</a> d)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa2">avg4()</a> <a href="#NLMISC_1_1CRGBAz2022_2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2022_3">blendFromuiRGBOnly</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a03337.html">CRGBA</a> c1, <a class="el" href="a04558.html#a15">uint</a> coef)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa3">blendFromui()</a> <a href="#NLMISC_1_1CRGBAz2022_3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2022_4">modulateFromColorRGBOnly</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a03337.html">CRGBA</a> c1)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa8">modulateFromColor()</a> <a href="#NLMISC_1_1CRGBAz2022_4"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2022_5">modulateFromuiRGBOnly</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a04558.html#a15">uint</a> a)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa9">modulateFromui()</a> <a href="#NLMISC_1_1CRGBAz2022_5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2022_6">subRGBOnly</a> (<a class="el" href="a03337.html">CRGBA</a> c0, <a class="el" href="a03337.html">CRGBA</a> c1)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa17">sub()</a> <a href="#NLMISC_1_1CRGBAz2022_6"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Color space conversions RGB only</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2026_0">buildFromHLS</a> (float h, float l, float <a class="el" href="a04223.html#a626">s</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2026_1">convertToHLS</a> (float &h, float &l, float &S) const </td></tr> + +<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr> +<tr><td colspan="2"><div class="groupHeader">Color group manipulation</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2024_0">addColors</a> (<a class="el" href="a03337.html">CRGBA</a> *dest, const <a class="el" href="a03337.html">CRGBA</a> *src1, const <a class="el" href="a03337.html">CRGBA</a> *src2, <a class="el" href="a04558.html#a15">uint</a> numColors, <a class="el" href="a04558.html#a15">uint</a> srcStride=sizeof(<a class="el" href="a03337.html">CRGBA</a>), <a class="el" href="a04558.html#a15">uint</a> destStride=sizeof(<a class="el" href="a03337.html">CRGBA</a>), <a class="el" href="a04558.html#a15">uint</a> dup=1)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2024_1">modulateColors</a> (<a class="el" href="a03337.html">CRGBA</a> *dest, const <a class="el" href="a03337.html">CRGBA</a> *src1, const <a class="el" href="a03337.html">CRGBA</a> *src2, <a class="el" href="a04558.html#a15">uint</a> numColors, <a class="el" href="a04558.html#a15">uint</a> srcStride=sizeof(<a class="el" href="a03337.html">CRGBA</a>), <a class="el" href="a04558.html#a15">uint</a> destStride=sizeof(<a class="el" href="a03337.html">CRGBA</a>), <a class="el" href="a04558.html#a15">uint</a> dup=1)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAz2024_2">subtractColors</a> (<a class="el" href="a03337.html">CRGBA</a> *dest, const <a class="el" href="a03337.html">CRGBA</a> *src1, const <a class="el" href="a03337.html">CRGBA</a> *src2, <a class="el" href="a04558.html#a15">uint</a> numColors, <a class="el" href="a04558.html#a15">uint</a> srcStride=sizeof(<a class="el" href="a03337.html">CRGBA</a>), <a class="el" href="a04558.html#a15">uint</a> destStride=sizeof(<a class="el" href="a03337.html">CRGBA</a>), <a class="el" href="a04558.html#a15">uint</a> dup=1)</td></tr> + +<tr><td colspan=2><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAo0">A</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Alpha componant. <a href="#NLMISC_1_1CRGBAo0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAo1">B</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Blue componant. <a href="#NLMISC_1_1CRGBAo1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAo2">G</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Green componant. <a href="#NLMISC_1_1CRGBAo2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAo3">R</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Red componant. <a href="#NLMISC_1_1CRGBAo3"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03337.html">CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAs0">Black</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">some colors <a href="#NLMISC_1_1CRGBAs0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03337.html">CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAs1">Blue</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03337.html">CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAs2">Cyan</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03337.html">CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAs3">Green</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03337.html">CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAs4">Magenta</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03337.html">CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAs5">Red</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03337.html">CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAs6">White</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03337.html">CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html#NLMISC_1_1CRGBAs7">Yellow</a></td></tr> + +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NLMISC_1_1CRGBAa5" doxytag="NLMISC::CRGBA::CRGBA" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CRGBA::CRGBA </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Default constructor. do nothing. +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00049">49</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +<div class="fragment"><pre>00049 {}; +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa4" doxytag="NLMISC::CRGBA::CRGBA" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CRGBA::CRGBA </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>r</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>g</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>b</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>a</em> = 255</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Constructor. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>r</em> </td><td>Red componant. </td></tr> + <tr><td valign=top><em>g</em> </td><td>Green componant. </td></tr> + <tr><td valign=top><em>b</em> </td><td>Blue componant. </td></tr> + <tr><td valign=top><em>a</em> </td><td>Alpha componant.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06340.html#l00058">58</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a05646.html#l00993">r</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00058 : +00059 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>(r), <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>(g), <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>(b), <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>(a) {} + +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLMISC_1_1CRGBAa0" doxytag="NLMISC::CRGBA::add" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::add </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c1</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Do the sum of 2 rgba, clamp, and store in this +<p> +Definition at line <a class="el" href="a06340.html#l00201">201</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00340">A</a>, <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a06340.html#l00334">R</a>, <a class="el" href="a05646.html#l00993">r</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a06339.html#l00079">addColors()</a>, <a class="el" href="a06517.html#l00101">NL3D::CTextureEmboss::doGenerate()</a>, and <a class="el" href="a06148.html#l00680">NL3D::CParticleSystemModel::traverseRender()</a>. +<p> +<div class="fragment"><pre>00202 { +00203 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a628">r</a>,g,b,a; +00204 <a class="code" href="a04223.html#a628">r</a>= c0.R + c1.R; <a class="code" href="a04223.html#a628">r</a>= <a class="code" href="a04061.html#a0">std::min</a>(r, 255U); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= (<a class="code" href="a04558.html#a7">uint8</a>)<a class="code" href="a04223.html#a628">r</a>; +00205 g= c0.G + c1.G; g= <a class="code" href="a04061.html#a0">std::min</a>(g, 255U); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= (<a class="code" href="a04558.html#a7">uint8</a>)g; +00206 b= c0.B + c1.B; b= <a class="code" href="a04061.html#a0">std::min</a>(b, 255U); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= (<a class="code" href="a04558.html#a7">uint8</a>)b; +00207 a= c0.A + c1.A; a= <a class="code" href="a04061.html#a0">std::min</a>(a, 255U); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>= (<a class="code" href="a04558.html#a7">uint8</a>)a; +00208 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2024_0" doxytag="NLMISC::CRGBA::addColors" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::addColors </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> * </td> + <td class="mdname" nowrap> <em>dest</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">CRGBA</a> * </td> + <td class="mdname" nowrap> <em>src1</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">CRGBA</a> * </td> + <td class="mdname" nowrap> <em>src2</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>numColors</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>srcStride</em> = sizeof(<a class="el" href="a03337.html">CRGBA</a>), </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>destStride</em> = sizeof(<a class="el" href="a03337.html">CRGBA</a>), </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>dup</em> = 1</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Add a group of colors with saturation, using mmx instructions when present. dest The destination color buffer, encoded as CRGBA's. src1 The first source color buffer, encoded as CRGBA's. src2 The second source color buffer, encoded as CRGBA's. numColors The number of colors to compute Stride between each source color. Stride between each destination color. Dup the number of time the result must be duplicated in the destination. +<p> +Definition at line <a class="el" href="a06339.html#l00079">79</a> of file <a class="el" href="a06339.html">rgba.cpp</a>. +<p> +References <a class="el" href="a06340.html#l00201">add()</a>, <a class="el" href="a05646.html#l00645">offset</a>, <a class="el" href="a06340.html#l00213">sub()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a06215.html#l00060">NL3D::Make4Private()</a>, <a class="el" href="a06215.html#l00087">NL3D::MakeNPrivate()</a>, and <a class="el" href="a06215.html#l00034">NL3D::MakePrivate()</a>. +<p> +<div class="fragment"><pre>00080 { +00081 <span class="keywordflow">if</span> (numColors == 0) <span class="keywordflow">return</span>; +00082 <span class="preprocessor"> #if defined(NL_OS_WINDOWS) && !defined(DISABLE_MMX_OPTIM)</span> +00083 <span class="preprocessor"></span> <span class="keywordflow">if</span> (!CSystemInfo::hasMMX()) +00084 <span class="preprocessor"> #endif</span> +00085 <span class="preprocessor"></span> { <span class="comment">// unoptimized version</span> +00086 <span class="keywordflow">if</span> (dup == 1) +00087 { +00088 <span class="keywordflow">while</span> (numColors--) +00089 { +00090 dest->add(*src1, *src2); +00091 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00092 src1 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src1 + srcStride); +00093 src2 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src2 + srcStride); +00094 } +00095 } +00096 <span class="keywordflow">else</span> +00097 { +00098 <span class="keywordflow">if</span> (dup == 4) <span class="comment">// optimisation for the 4 case</span> +00099 { +00100 <span class="keywordflow">while</span> (numColors--) +00101 { +00102 dest->add(*src1, *src2); +00103 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00104 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00105 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00106 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00107 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00108 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + (destStride << 1)); +00109 +00110 src1 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src1 + srcStride); +00111 src2 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src2 + srcStride); +00112 } +00113 } +00114 <span class="keywordflow">else</span> +00115 { +00116 <span class="keywordflow">while</span> (numColors--) +00117 { +00118 dest->add(*src1, *src2); +00119 +00120 <a class="code" href="a04558.html#a15">uint</a> k = dup - 1; +00121 <span class="keywordflow">do</span> +00122 { +00123 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00124 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00125 } +00126 <span class="keywordflow">while</span> (--k); +00127 +00128 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00129 src1 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src1 + srcStride); +00130 src2 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src2 + srcStride); +00131 } +00132 } +00133 } +00134 } +00135 <span class="preprocessor"> #if defined(NL_OS_WINDOWS) && !defined(DISABLE_MMX_OPTIM)</span> +00136 <span class="preprocessor"></span> <span class="keywordflow">else</span> <span class="comment">// optimized mmx version</span> +00137 { +00139 <span class="keywordflow">if</span> (dup == 1) +00140 { +00141 __asm +00142 { +00143 push ebp +00144 mov edi, dest +00145 mov esi, src1 +00146 mov ebx, src2 +00147 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> ebx, esi ; <a class="code" href="a04223.html#a586">offset</a> to source 2 +00148 mov ecx, numColors +00149 mov edx, destStride +00150 mov ebp, srcStride +00151 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> edi, edx +00152 myLoop: +00153 movd mm0, [esi] +00154 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> edi, edx +00155 movd mm1, [esi + ebx] +00156 paddusb mm0, mm1 +00157 movd [edi], mm0 +00158 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> esi, ebp +00159 dec ecx +00160 jne myLoop +00161 pop ebp +00162 emms +00163 } +00164 } +00165 <span class="keywordflow">else</span> +00166 { +00167 <span class="keywordflow">if</span> (dup == 4) +00168 { +00169 __asm +00170 { +00171 push ebp +00172 mov edi, dest +00173 mov esi, src1 +00174 mov ebx, src2 +00175 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> ebx, esi ; <a class="code" href="a04223.html#a586">offset</a> to source 2 +00176 mov ecx, numColors +00177 mov edx, destStride +00178 mov ebp, srcStride +00179 myLoop4: +00180 movd mm0, [esi] +00181 movd mm1, [esi + ebx] +00182 paddusb mm0, mm1 +00183 movd eax, mm0 +00184 +00185 mov [edi], eax +00186 mov [edi + edx], eax +00187 mov [edi + 2 * edx], eax +00188 lea edi, [edi + edx * 2] +00189 mov [edi + edx], eax +00190 lea edi, [edi + edx * 2] +00191 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> esi, ebp +00192 +00193 dec ecx +00194 jne myLoop4 +00195 pop ebp +00196 emms +00197 } +00198 } +00199 <span class="keywordflow">else</span> +00200 { +00201 __asm +00202 { +00203 push ebp +00204 mov edi, dest +00205 mov esi, src1 +00206 mov ebx, src2 +00207 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> ebx, esi ; <a class="code" href="a04223.html#a586">offset</a> to source 2 +00208 mov ecx, numColors +00209 mov edx, destStride +00210 mov eax, dup +00211 mov ebp, srcStride +00212 push eax +00213 myLoopN: +00214 movd mm0, [esi] +00215 movd mm1, [esi + ebx] +00216 push ecx +00217 paddusb mm0, mm1 +00218 mov ecx, 4[esp] +00219 movd eax, mm0 +00220 dupLoopN: +00221 mov [edi], eax +00222 dec ecx +00223 lea edi, [edi + edx] +00224 jne dupLoopN +00225 pop ecx ; get back the loop counter +00226 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> esi, ebp +00227 dec ecx +00228 jne myLoopN +00229 pop eax +00230 pop ebp +00231 emms +00232 } +00233 } +00234 } +00235 } +00236 <span class="preprocessor"> #endif</span> +00237 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2022_0" doxytag="NLMISC::CRGBA::addRGBOnly" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::addRGBOnly </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c1</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa0">add()</a> +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00264">264</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a06340.html#l00334">R</a>, <a class="el" href="a05646.html#l00993">r</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a06163.html#l00648">NL3D::CPatchDLMContext::addPointLightInfluence()</a>, <a class="el" href="a06329.html#l00409">NL3D::CRenderTrav::changeLightSetup()</a>, <a class="el" href="a05894.html#l00106">NL3D::CLightContribution::computeCurrentAmbient()</a>, <a class="el" href="a06698.html#l00939">NL3D::computeVegetVertexLighting()</a>, <a class="el" href="a06698.html#l00986">NL3D::computeVegetVertexLightingForceBestSided()</a>, <a class="el" href="a06018.html#l00067">NL3D::CMeshMultiLodInstance::getCoarseMeshLighting()</a>, and <a class="el" href="a06519.html#l01359">NL3D_expandLightmap()</a>. +<p> +<div class="fragment"><pre>00265 { +00266 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a628">r</a>,g,b; +00267 <a class="code" href="a04223.html#a628">r</a>= c0.R + c1.R; <a class="code" href="a04223.html#a628">r</a>= <a class="code" href="a04061.html#a0">std::min</a>(r, 255U); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= (<a class="code" href="a04558.html#a7">uint8</a>)<a class="code" href="a04223.html#a628">r</a>; +00268 g= c0.G + c1.G; g= <a class="code" href="a04061.html#a0">std::min</a>(g, 255U); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= (<a class="code" href="a04558.html#a7">uint8</a>)g; +00269 b= c0.B + c1.B; b= <a class="code" href="a04061.html#a0">std::min</a>(b, 255U); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= (<a class="code" href="a04558.html#a7">uint8</a>)b; +00270 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa1" doxytag="NLMISC::CRGBA::avg2" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::avg2 </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>a</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>b</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Compute in this the average of 2 RGBA. +<p> +Definition at line <a class="el" href="a06340.html#l00178">178</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00340">A</a>, <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00179 { +00180 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.R+(<a class="code" href="a04558.html#a15">uint</a>)b.R)>>1; +00181 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.G+(<a class="code" href="a04558.html#a15">uint</a>)b.G)>>1; +00182 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.B+(<a class="code" href="a04558.html#a15">uint</a>)b.B)>>1; +00183 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.A+(<a class="code" href="a04558.html#a15">uint</a>)b.A)>>1; +00184 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2022_1" doxytag="NLMISC::CRGBA::avg2RGBOnly" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::avg2RGBOnly </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>a</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>b</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa1">avg2()</a> +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00250">250</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06157.html#l01655">NL3D::CPatch::getCurrentTileTLIColors()</a>. +<p> +<div class="fragment"><pre>00251 { +00252 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.R+(<a class="code" href="a04558.html#a15">uint</a>)b.R)>>1; +00253 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.G+(<a class="code" href="a04558.html#a15">uint</a>)b.G)>>1; +00254 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.B+(<a class="code" href="a04558.html#a15">uint</a>)b.B)>>1; +00255 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa2" doxytag="NLMISC::CRGBA::avg4" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::avg4 </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>a</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>b</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>d</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Compute in this the average of 4 RGBA. The average is "correct": +1 is added to the four color, to make a "round" like average. +<p> +Definition at line <a class="el" href="a06340.html#l00190">190</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00340">A</a>, <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00191 { +00192 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.R+(<a class="code" href="a04558.html#a15">uint</a>)b.R+(<a class="code" href="a04558.html#a15">uint</a>)c.R+(<a class="code" href="a04558.html#a15">uint</a>)d.R+ 1)>>2; +00193 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.G+(<a class="code" href="a04558.html#a15">uint</a>)b.G+(<a class="code" href="a04558.html#a15">uint</a>)c.G+(<a class="code" href="a04558.html#a15">uint</a>)d.G+ 1)>>2; +00194 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.B+(<a class="code" href="a04558.html#a15">uint</a>)b.B+(<a class="code" href="a04558.html#a15">uint</a>)c.B+(<a class="code" href="a04558.html#a15">uint</a>)d.B+ 1)>>2; +00195 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.A+(<a class="code" href="a04558.html#a15">uint</a>)b.A+(<a class="code" href="a04558.html#a15">uint</a>)c.A+(<a class="code" href="a04558.html#a15">uint</a>)d.A+ 1)>>2; +00196 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2022_2" doxytag="NLMISC::CRGBA::avg4RGBOnly" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::avg4RGBOnly </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>a</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>b</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>d</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa2">avg4()</a> +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00257">257</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00258 { +00259 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.R+(<a class="code" href="a04558.html#a15">uint</a>)b.R+(<a class="code" href="a04558.html#a15">uint</a>)c.R+(<a class="code" href="a04558.html#a15">uint</a>)d.R+ 1)>>2; +00260 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.G+(<a class="code" href="a04558.html#a15">uint</a>)b.G+(<a class="code" href="a04558.html#a15">uint</a>)c.G+(<a class="code" href="a04558.html#a15">uint</a>)d.G+ 1)>>2; +00261 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= ((<a class="code" href="a04558.html#a15">uint</a>)a.B+(<a class="code" href="a04558.html#a15">uint</a>)b.B+(<a class="code" href="a04558.html#a15">uint</a>)c.B+(<a class="code" href="a04558.html#a15">uint</a>)d.B+ 1)>>2; +00262 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa3" doxytag="NLMISC::CRGBA::blendFromui" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::blendFromui </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c1</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>coef</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Blend two colors. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>c0</em> </td><td>Color 0. </td></tr> + <tr><td valign=top><em>c1</em> </td><td>Color 1. </td></tr> + <tr><td valign=top><em>coef</em> </td><td>Blend factor. 0~256. 0 return c0 and 256 return c1.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06340.html#l00104">104</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00340">A</a>, <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06005.html#l00498">NL3D::CMeshMRMGeom::applyGeomorphWithVBHardPtr()</a>, <a class="el" href="a05790.html#l00628">NL3D::CHLSColorTexture::compressBlockRGB()</a>, <a class="el" href="a05486.html#l00965">NLMISC::CBitmap::decompressDXT1()</a>, <a class="el" href="a05486.html#l01090">NLMISC::CBitmap::decompressDXT3()</a>, <a class="el" href="a05486.html#l01200">NLMISC::CBitmap::decompressDXT5()</a>, <a class="el" href="a05486.html#l02990">NLMISC::CBitmap::getDXTCColorFromBlock()</a>, <a class="el" href="a06519.html#l01359">NL3D_expandLightmap()</a>, <a class="el" href="a06222.html#l00060">NL3D::PSValueBlend()</a>, and <a class="el" href="a05790.html#l00557">NL3D::CHLSColorTexture::uncompressBlockRGB()</a>. +<p> +<div class="fragment"><pre>00105 { +00106 <a class="code" href="a04558.html#a15">uint</a> a1 = coef; +00107 <a class="code" href="a04558.html#a15">uint</a> a2 = 256-a1; +00108 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> = (c0.R*a2 + c1.R*a1) >>8; +00109 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> = (c0.G*a2 + c1.G*a1) >>8; +00110 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> = (c0.B*a2 + c1.B*a1) >>8; +00111 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a> = (c0.A*a2 + c1.A*a1) >>8; +00112 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2022_3" doxytag="NLMISC::CRGBA::blendFromuiRGBOnly" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::blendFromuiRGBOnly </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c1</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>coef</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa3">blendFromui()</a> +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00227">227</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06163.html#l01237">NL3D::CPatchDLMContext::blendTileToTexture()</a>, <a class="el" href="a05790.html#l00337">NL3D::CHLSColorTexture::buildColorVersion()</a>, and <a class="el" href="a05706.html#l00086">NL3D::CFastHLSModifier::convert()</a>. +<p> +<div class="fragment"><pre>00228 { +00229 <a class="code" href="a04558.html#a15">uint</a> a1 = coef; +00230 <a class="code" href="a04558.html#a15">uint</a> a2 = 256-a1; +00231 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> = (c0.R*a2 + c1.R*a1) >>8; +00232 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> = (c0.G*a2 + c1.G*a1) >>8; +00233 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> = (c0.B*a2 + c1.B*a1) >>8; +00234 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2026_0" doxytag="NLMISC::CRGBA::buildFromHLS" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::buildFromHLS </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>h</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>l</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>s</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Build from HLS valued Each component ranges from 0 to 1.f +<p> +Definition at line <a class="el" href="a06339.html#l00686">686</a> of file <a class="el" href="a06339.html">rgba.cpp</a>. +<p> +References <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06339.html#l00658">NLMISC::HLSValue()</a>, <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a05981.html#l00096">uint8</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +Referenced by <a class="el" href="a05706.html#l00047">NL3D::CFastHLSModifier::CFastHLSModifier()</a>. +<p> +<div class="fragment"><pre>00687 { +00688 <a class="code" href="a05378.html#a374">clamp</a>(l, 0, 1); +00689 <a class="code" href="a05378.html#a374">clamp</a>(s, 0, 1); +00690 +00691 <span class="keywordtype">float</span> v2 = (<a class="code" href="a05373.html#a2">l</a> <= 0.5f) ? (<a class="code" href="a05373.html#a2">l</a> * (1 + <a class="code" href="a04223.html#a626">s</a>)) : (<a class="code" href="a05373.html#a2">l</a> + <a class="code" href="a04223.html#a626">s</a> - <a class="code" href="a05373.html#a2">l</a> * <a class="code" href="a04223.html#a626">s</a>); +00692 <span class="keywordtype">float</span> v1 = 2.f * <a class="code" href="a05373.html#a2">l</a> - v2; +00693 +00694 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a626">s</a> == 0) <span class="comment">// achromatic ?</span> +00695 { +00696 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> = <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> = <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> = (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * <a class="code" href="a05373.html#a2">l</a>); +00697 } +00698 <span class="keywordflow">else</span> <span class="comment">// chromatic case</span> +00699 { +00700 <span class="keywordtype">float</span> <a class="code" href="a04223.html#a576">v</a>; +00701 <span class="comment">//</span> +00702 <a class="code" href="a04223.html#a576">v</a> = <a class="code" href="a05378.html#a355">HLSValue</a>(h + 120.f, v1, v2); +00703 <a class="code" href="a05378.html#a374">clamp</a>(v, 0.f, 1.f); +00704 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> = (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * <a class="code" href="a04223.html#a576">v</a>); +00705 <span class="comment">//</span> +00706 <a class="code" href="a04223.html#a576">v</a> = <a class="code" href="a05378.html#a355">HLSValue</a>(h, v1, v2); +00707 <a class="code" href="a05378.html#a374">clamp</a>(v, 0.f, 1.f); +00708 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> = (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * <a class="code" href="a04223.html#a576">v</a>); +00709 <span class="comment">//</span> +00710 <a class="code" href="a04223.html#a576">v</a> = <a class="code" href="a05378.html#a355">HLSValue</a>(h - 120.f, v1, v2); +00711 <a class="code" href="a05378.html#a374">clamp</a>(v, 0.f, 1.f); +00712 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> = (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * <a class="code" href="a04223.html#a576">v</a>); +00713 } +00714 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2026_1" doxytag="NLMISC::CRGBA::convertToHLS" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CRGBA::convertToHLS </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float & </td> + <td class="mdname" nowrap> <em>h</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float & </td> + <td class="mdname" nowrap> <em>l</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float & </td> + <td class="mdname" nowrap> <em>S</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Convert to HLS color space. Lightness and satuation ranges from 0 to 1 There's no range for hue, (all hues colors range from 0 to 360, from 360 to 720 and so on) <dl compact><dt><b>Returns:</b></dt><dd>true if the color is achromatic</dd></dl> + +<p> +Definition at line <a class="el" href="a06339.html#l00609">609</a> of file <a class="el" href="a06339.html">rgba.cpp</a>. +<p> +References <a class="el" href="a05587.html#l00130">NLMISC::maxof()</a>, <a class="el" href="a05587.html#l00124">NLMISC::minof()</a>, <a class="el" href="a05646.html#l00993">r</a>, and <a class="el" href="a05646.html#l00977">s</a>. +<p> +Referenced by <a class="el" href="a05706.html#l00047">NL3D::CFastHLSModifier::CFastHLSModifier()</a>, and <a class="el" href="a05706.html#l00414">NL3D::CFastHLSModifier::convertRGBABitmap()</a>. +<p> +<div class="fragment"><pre>00610 { +00611 <span class="keywordtype">float</span> <a class="code" href="a04223.html#a628">r</a> = <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> / 255.f; +00612 <span class="keywordtype">float</span> g = <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> / 255.f; +00613 <span class="keywordtype">float</span> b = <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> / 255.f; +00614 +00615 <span class="keywordtype">float</span> maxV = <a class="code" href="a05378.html#a378">NLMISC::maxof</a>(r, g, b); +00616 <span class="keywordtype">float</span> minV = <a class="code" href="a05378.html#a375">NLMISC::minof</a>(r, g, b); +00617 +00619 <a class="code" href="a05373.html#a2">l</a> = 0.5f * (maxV + minV); +00620 +00622 <span class="keywordflow">if</span> (minV == maxV) <span class="comment">// all composants are equals -> achromatique</span> +00623 { +00624 <a class="code" href="a04223.html#a626">s</a> = 0; +00625 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00626 } +00627 <span class="keywordtype">float</span> diff = maxV - minV; +00629 <a class="code" href="a04223.html#a626">s</a> = <a class="code" href="a05373.html#a2">l</a> > 0.5f ? <span class="comment">/*are we in the top of the double-hexcone ? */</span> +00630 diff / (2.f - maxV - minV) : +00631 diff / (maxV + minV); +00632 +00633 <span class="comment">// Get hue</span> +00634 +00635 <span class="keywordflow">if</span> (maxV == <a class="code" href="a04223.html#a628">r</a>) +00636 { +00637 h = (g - b) / diff; +00638 } +00639 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (maxV == g) +00640 { +00641 h = 2.f + (b - <a class="code" href="a04223.html#a628">r</a>) / diff; +00642 } +00643 <span class="keywordflow">else</span> +00644 { +00645 h = 4.f + (<a class="code" href="a04223.html#a628">r</a> - g) / diff; +00646 } +00647 +00648 h *= 60.f; <span class="comment">// scale to [0..360]</span> +00649 +00650 <span class="keywordflow">if</span> (h < 0.f) h += 360.f; +00651 +00652 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00653 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa6" doxytag="NLMISC::CRGBA::get565" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a9">uint16</a> NLMISC::CRGBA::get565 </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get a 16 bits 565 pixel. +<p> +Definition at line <a class="el" href="a06340.html#l00154">154</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +Referenced by <a class="el" href="a05706.html#l00110">NL3D::CFastHLSModifier::applyHLSMod()</a>, and <a class="el" href="a06155.html#l02231">NL3D::CPatch::setupColorsFromTileFlags()</a>. +<p> +<div class="fragment"><pre>00155 { +00156 <span class="keywordflow">return</span> ((<a class="code" href="a04558.html#a9">uint16</a>)(<a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>&0xf8)<<8) | ((<a class="code" href="a04558.html#a9">uint16</a>)(<a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>&0xfc)<<3) | (<a class="code" href="a04558.html#a9">uint16</a>)(<a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>>>3); +00157 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa7" doxytag="NLMISC::CRGBA::getPacked" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NLMISC::CRGBA::getPacked </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return a packed pixel +<p> +Definition at line <a class="el" href="a06340.html#l00075">75</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06329.html#l00653">NL3D::CRenderTrav::changeVPLightSetupMaterial()</a>, <a class="el" href="a06340.html#l00080">operator<()</a>, and <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>. +<p> +<div class="fragment"><pre>00075 {<span class="keywordflow">return</span> ((<a class="code" href="a04558.html#a15">uint</a>)<a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a><<24) + ((<a class="code" href="a04558.html#a15">uint</a>)<a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a><<16) + ((<a class="code" href="a04558.html#a15">uint</a>)<a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a><<8) + <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2024_1" doxytag="NLMISC::CRGBA::modulateColors" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::modulateColors </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> * </td> + <td class="mdname" nowrap> <em>dest</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">CRGBA</a> * </td> + <td class="mdname" nowrap> <em>src1</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">CRGBA</a> * </td> + <td class="mdname" nowrap> <em>src2</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>numColors</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>srcStride</em> = sizeof(<a class="el" href="a03337.html">CRGBA</a>), </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>destStride</em> = sizeof(<a class="el" href="a03337.html">CRGBA</a>), </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>dup</em> = 1</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Modulate a group of colors with saturation, using mmx instructions when present. dest The destination color buffer, encoded as CRGBA's. src1 The first source color buffer, encoded as CRGBA's. src2 The second source color buffer, encoded as CRGBA's. numColors The number of colors to compute Stride between each color. It is the same for sources and destination. +<p> +Definition at line <a class="el" href="a06339.html#l00239">239</a> of file <a class="el" href="a06339.html">rgba.cpp</a>. +<p> +References <a class="el" href="a06340.html#l00133">modulateFromColor()</a>, <a class="el" href="a05646.html#l00645">offset</a>, <a class="el" href="a06340.html#l00213">sub()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00102">uint64</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a06250.html#l01825">NL3D::CPSConstraintMesh::computeColors()</a>, <a class="el" href="a06215.html#l00060">NL3D::Make4Private()</a>, <a class="el" href="a06215.html#l00087">NL3D::MakeNPrivate()</a>, and <a class="el" href="a06215.html#l00034">NL3D::MakePrivate()</a>. +<p> +<div class="fragment"><pre>00240 { +00241 <span class="preprocessor"> #if defined(NL_OS_WINDOWS) && !defined(DISABLE_MMX_OPTIM)</span> +00242 <span class="preprocessor"></span> <span class="keywordflow">if</span> (!CSystemInfo::hasMMX()) +00243 <span class="preprocessor"> #endif</span> +00244 <span class="preprocessor"></span> { <span class="comment">// unoptimized version</span> +00245 <span class="keywordflow">if</span> (dup == 1) +00246 { +00247 <span class="keywordflow">while</span> (numColors--) +00248 { +00249 dest->modulateFromColor(*src1, *src2); +00250 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00251 src1 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src1 + srcStride); +00252 src2 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src2 + srcStride); +00253 } +00254 } +00255 <span class="keywordflow">else</span> +00256 { +00257 <span class="keywordflow">if</span> (dup == 4) <span class="comment">// optimisation for the 4 case</span> +00258 { +00259 <span class="keywordflow">while</span> (numColors--) +00260 { +00261 dest->modulateFromColor(*src1, *src2); +00262 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00263 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00264 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00265 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00266 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00267 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + (destStride << 1)); +00268 +00269 src1 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src1 + srcStride); +00270 src2 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src2 + srcStride); +00271 } +00272 } +00273 <span class="keywordflow">else</span> +00274 { +00275 <span class="keywordflow">while</span> (numColors--) +00276 { +00277 dest->modulateFromColor(*src1, *src2); +00278 +00279 <a class="code" href="a04558.html#a15">uint</a> k = dup - 1; +00280 <span class="keywordflow">do</span> +00281 { +00282 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00283 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00284 } +00285 <span class="keywordflow">while</span> (--k); +00286 +00287 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00288 src1 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src1 + srcStride); +00289 src2 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src2 + srcStride); +00290 } +00291 } +00292 } +00293 } +00294 <span class="preprocessor"> #if defined(NL_OS_WINDOWS) && !defined(DISABLE_MMX_OPTIM)</span> +00295 <span class="preprocessor"></span> <span class="keywordflow">else</span> <span class="comment">// optimized mmx version</span> +00296 { +00297 <a class="code" href="a04558.html#a13">uint64</a> blank = 0; +00299 <span class="keywordflow">if</span> (dup == 1) +00300 { __asm +00301 { +00302 push ebp +00303 movq mm2, blank +00304 mov edi, dest +00305 mov esi, src1 +00306 mov ebx, src2 +00307 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> ebx, esi ; <a class="code" href="a04223.html#a586">offset</a> to source 2 +00308 mov ecx, numColors +00309 mov edx, destStride +00310 mov ebp, srcStride +00311 myLoop: +00312 movd mm0, [esi] +00313 movd mm1, [esi + ebx] +00314 punpcklbw mm0, mm2 +00315 punpcklbw mm1, mm2 +00316 pmullw mm0, mm1 +00317 psrlw mm0, 8 +00318 packuswb mm0, mm0 +00319 movd [edi], mm0 +00320 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> edi, edx +00321 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> esi, ebp +00322 +00323 dec ecx +00324 jne myLoop +00325 pop ebp +00326 emms +00327 } +00328 } +00329 <span class="keywordflow">else</span> +00330 { +00331 <span class="keywordflow">if</span> (dup == 4) +00332 { +00333 +00334 __asm +00335 { +00336 push ebp +00337 movq mm2, blank +00338 mov edi, dest +00339 mov esi, src1 +00340 mov ebx, src2 +00341 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> ebx, esi ; <a class="code" href="a04223.html#a586">offset</a> to source 2 +00342 mov ecx, numColors +00343 mov edx, destStride +00344 mov ebp, srcStride +00345 myLoop4: +00346 movd mm0, [esi] +00347 movd mm1, [esi + ebx] +00348 punpcklbw mm0, mm2 +00349 punpcklbw mm1, mm2 +00350 pmullw mm0, mm1 +00351 psrlw mm0, 8 +00352 packuswb mm0, mm0 +00353 movd eax, mm0 +00354 ; duplicate the result 4 times +00355 mov [edi], eax +00356 mov [edi + edx], eax +00357 mov [edi + 2 * edx], eax +00358 lea edi, [edi + 2 * edx] +00359 mov [edi + edx], eax +00360 lea edi, [edi + 2 * edx] +00361 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> esi, ebp +00362 dec ecx +00363 jne myLoop4 +00364 pop ebp +00365 emms +00366 } +00367 } +00368 <span class="keywordflow">else</span> +00369 { +00370 __asm +00371 { +00372 push ebp +00373 movq mm2, blank +00374 mov edi, dest +00375 mov esi, src1 +00376 mov ebx, src2 +00377 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> ebx, esi ; <a class="code" href="a04223.html#a586">offset</a> to source 2 +00378 mov ecx, numColors +00379 mov edx, destStride +00380 mov eax, dup +00381 mov ebp, srcStride +00382 push eax +00383 myLoopN: +00384 movd mm0, [esi] +00385 movd mm1, [esi + ebx] +00386 punpcklbw mm0, mm2 +00387 punpcklbw mm1, mm2 +00388 pmullw mm0, mm1 +00389 push ecx +00390 psrlw mm0, 8 +00391 mov ecx, 4[esp] +00392 packuswb mm0, mm0 +00393 movd eax, mm0 +00394 dupLoopN: +00395 mov [edi], eax +00396 dec ecx +00397 lea edi, [edi + edx] +00398 jne dupLoopN +00399 pop ecx ; get back the loop counter +00400 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> esi, ebp +00401 dec ecx +00402 jne myLoopN +00403 pop eax +00404 pop ebp +00405 emms +00406 } +00407 } +00408 } +00409 } +00410 <span class="preprocessor"> #endif</span> +00411 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa8" doxytag="NLMISC::CRGBA::modulateFromColor" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::modulateFromColor </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c1</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Modulate colors with another color. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>c0</em> </td><td>Color 0. </td></tr> + <tr><td valign=top><em>c1</em> </td><td>Color 1. c0*c1 returned into this.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06340.html#l00133">133</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00340">A</a>, <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, and <a class="el" href="a06340.html#l00334">R</a>. +<p> +Referenced by <a class="el" href="a06279.html#l00286">NL3D::CPSShockWave::draw()</a>, <a class="el" href="a06226.html#l00122">NL3D::CPSDot::draw()</a>, <a class="el" href="a06768.html#l02927">NL3D::CZoneLighter::lightWater()</a>, <a class="el" href="a06339.html#l00239">modulateColors()</a>, <a class="el" href="a06217.html#l00090">NL3D::PSBinOpModulate()</a>, <a class="el" href="a06184.html#l00053">NL3D::CPointLightNamed::setLightFactor()</a>, <a class="el" href="a06283.html#l00508">NL3D::CPSTailDot::setupGlobalColor()</a>, <a class="el" href="a06235.html#l00286">NL3D::CPSFanLight::setupMaterial()</a>, <a class="el" href="a06273.html#l01026">NL3D::CPSRibbon::setupTexturedGlobalColor()</a>, <a class="el" href="a06273.html#l00984">NL3D::CPSRibbon::setupUntexturedGlobalColor()</a>, <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>, <a class="el" href="a06142.html#l00335">NL3D::CParticleSystem::updateColor()</a>, and <a class="el" href="a06262.html#l00520">NL3D::CPSQuad::updateMatBeforeRendering()</a>. +<p> +<div class="fragment"><pre>00134 { +00135 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> = (c0.R*c1.R) >>8; +00136 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> = (c0.G*c1.G) >>8; +00137 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> = (c0.B*c1.B) >>8; +00138 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a> = (c0.A*c1.A) >>8; +00139 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2022_4" doxytag="NLMISC::CRGBA::modulateFromColorRGBOnly" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::modulateFromColorRGBOnly </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c1</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa8">modulateFromColor()</a> +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00243">243</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, and <a class="el" href="a06340.html#l00334">R</a>. +<p> +Referenced by <a class="el" href="a06698.html#l01036">NL3D::CVegetableManager::addInstance()</a>, <a class="el" href="a06519.html#l01359">NL3D_expandLightmap()</a>, and <a class="el" href="a06698.html#l02354">NL3D::CVegetableManager::updateInstanceLighting()</a>. +<p> +<div class="fragment"><pre>00244 { +00245 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> = (c0.R*c1.R) >>8; +00246 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> = (c0.G*c1.G) >>8; +00247 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> = (c0.B*c1.B) >>8; +00248 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa9" doxytag="NLMISC::CRGBA::modulateFromui" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::modulateFromui </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>a</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Modulate colors with a constant. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>c0</em> </td><td>Color 0. </td></tr> + <tr><td valign=top><em>a</em> </td><td>E [0,256]. c0*a returned into this.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06340.html#l00119">119</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00340">A</a>, <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06696.html#l00037">NL3D::CVegetableLightEx::computeCurrentColors()</a>, <a class="el" href="a06517.html#l00101">NL3D::CTextureEmboss::doGenerate()</a>, <a class="el" href="a06148.html#l00680">NL3D::CParticleSystemModel::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>. +<p> +<div class="fragment"><pre>00120 { +00121 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> = (c0.R*a) >>8; +00122 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> = (c0.G*a) >>8; +00123 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> = (c0.B*a) >>8; +00124 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a> = (c0.A*a) >>8; +00125 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2022_5" doxytag="NLMISC::CRGBA::modulateFromuiRGBOnly" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::modulateFromuiRGBOnly </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>a</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa9">modulateFromui()</a> +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00236">236</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06329.html#l00409">NL3D::CRenderTrav::changeLightSetup()</a>, <a class="el" href="a05894.html#l00106">NL3D::CLightContribution::computeCurrentAmbient()</a>, <a class="el" href="a06698.html#l00939">NL3D::computeVegetVertexLighting()</a>, <a class="el" href="a06698.html#l00986">NL3D::computeVegetVertexLightingForceBestSided()</a>, <a class="el" href="a05706.html#l00086">NL3D::CFastHLSModifier::convert()</a>, <a class="el" href="a06018.html#l00067">NL3D::CMeshMultiLodInstance::getCoarseMeshLighting()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06179.html#l00346">NL3D::CPointLight::setupDriverLight()</a>, and <a class="el" href="a06179.html#l00374">NL3D::CPointLight::setupDriverLightUserAttenuation()</a>. +<p> +<div class="fragment"><pre>00237 { +00238 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> = (c0.R*a) >>8; +00239 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> = (c0.G*a) >>8; +00240 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> = (c0.B*a) >>8; +00241 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa10" doxytag="NLMISC::CRGBA::operator!=" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CRGBA::operator!= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname1" valign="top" nowrap> <em>c</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Comparison operator. +<p> +Definition at line <a class="el" href="a06340.html#l00084">84</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +<div class="fragment"><pre>00084 {<span class="keywordflow">return</span> !(*<span class="keyword">this</span>==c);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa11" doxytag="NLMISC::CRGBA::operator<" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CRGBA::operator< </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname1" valign="top" nowrap> <em>c</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Comparison operator. +<p> +Definition at line <a class="el" href="a06340.html#l00080">80</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00075">getPacked()</a>. +<p> +<div class="fragment"><pre>00080 {<span class="keywordflow">return</span> <a class="code" href="a03337.html#NLMISC_1_1CRGBAa7">getPacked</a>()<c.getPacked();} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa12" doxytag="NLMISC::CRGBA::operator==" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CRGBA::operator== </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname1" valign="top" nowrap> <em>c</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Equality operator. +<p> +Definition at line <a class="el" href="a06340.html#l00089">89</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00340">A</a>, <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, and <a class="el" href="a06340.html#l00334">R</a>. +<p> +<div class="fragment"><pre>00090 {<span class="keywordflow">return</span> <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>==c.R && <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>==c.G && <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>==c.B && <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>==c.A;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa13" doxytag="NLMISC::CRGBA::serial" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::serial </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">class <a class="el" href="a02270.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Serialisation. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>f</em> </td><td>Stream used for serialisation.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06339.html#l00058">58</a> of file <a class="el" href="a06339.html">rgba.cpp</a>. +<p> +<div class="fragment"><pre>00059 { +00060 f.serial (R); +00061 f.serial (G); +00062 f.serial (B); +00063 f.serial (A); +00064 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa14" doxytag="NLMISC::CRGBA::set" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::set </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>r</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>g</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>b</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>a</em> = 255</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set colors. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>r</em> </td><td>Red componant. </td></tr> + <tr><td valign=top><em>g</em> </td><td>Green componant. </td></tr> + <tr><td valign=top><em>b</em> </td><td>Blue componant. </td></tr> + <tr><td valign=top><em>a</em> </td><td>Alpha componant.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06339.html#l00066">66</a> of file <a class="el" href="a06339.html">rgba.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00993">r</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a05808.html#l00100">NL3D::CIGSurfaceLightBuild::buildPLDebugMesh()</a>, <a class="el" href="a05989.html#l02186">NL3D::CMesh::CCorner::CCorner()</a>, <a class="el" href="a06329.html#l00653">NL3D::CRenderTrav::changeVPLightSetupMaterial()</a>, <a class="el" href="a05862.html#l00178">NL3D::CLandscape::CLandscape()</a>, <a class="el" href="a05969.html#l00600">NL3D::CMaterial::CLightMap::CLightMap()</a>, <a class="el" href="a05968.html#l00041">NL3D::CMaterial::CMaterial()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06568.html#l00052">NL3D::CTransform::CTransform()</a>, <a class="el" href="a06698.html#l00058">NL3D::CVegetableManager::CVegetableManager()</a>, <a class="el" href="a05486.html#l00965">NLMISC::CBitmap::decompressDXT1()</a>, <a class="el" href="a05486.html#l02990">NLMISC::CBitmap::getDXTCColorFromBlock()</a>, <a class="el" href="a06725.html#l00527">NL3D::CVisualCollisionEntity::getStaticLightSetup()</a>, <a class="el" href="a05806.html#l00121">NL3D::CIGSurfaceLight::getStaticLightSetup()</a>, <a class="el" href="a05486.html#l00184">NLMISC::CBitmap::makeDummy()</a>, <a class="el" href="a06329.html#l00355">NL3D::CRenderTrav::resetLightSetup()</a>, <a class="el" href="a05969.html#l00522">NL3D::CMaterial::CTexEnv::setDefault()</a>, <a class="el" href="a05642.html#l00399">NL3D::CDriverGL::setDisplay()</a>, and <a class="el" href="a05642.html#l01536">NL3D::CDriverGL::swapBuffers()</a>. +<p> +<div class="fragment"><pre>00067 { +00068 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a> = <a class="code" href="a04223.html#a628">r</a>; +00069 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a> = g; +00070 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a> = b; +00071 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a> = a; +00072 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa15" doxytag="NLMISC::CRGBA::set565" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::set565 </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname1" valign="top" nowrap> <em>col</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the RGB fields with a 16 bits 565 pixel. +<p> +Definition at line <a class="el" href="a06340.html#l00162">162</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +Referenced by <a class="el" href="a05706.html#l00047">NL3D::CFastHLSModifier::CFastHLSModifier()</a>, <a class="el" href="a05790.html#l00628">NL3D::CHLSColorTexture::compressBlockRGB()</a>, <a class="el" href="a06157.html#l00345">NL3D::CPatch::getTileTileColors()</a>, <a class="el" href="a06519.html#l01359">NL3D_expandLightmap()</a>, and <a class="el" href="a05790.html#l00557">NL3D::CHLSColorTexture::uncompressBlockRGB()</a>. +<p> +<div class="fragment"><pre>00163 { +00164 <span class="comment">// unpack.</span> +00165 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= col>>11; +00166 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= (col>>5)&0x3F; +00167 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= (col)&0x1F; +00168 <span class="comment">// to 8 bits.</span> +00169 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= (R<<3) + (R>>2); +00170 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= (G<<2) + (G>>4); +00171 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= (B<<3) + (B>>2); +00172 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa16" doxytag="NLMISC::CRGBA::setPacked" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::setPacked </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>packed</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +setup as a packed pixel +<p> +Definition at line <a class="el" href="a06340.html#l00064">64</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00065 { +00066 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= (packed>>24)&255; +00067 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= (packed>>16)&255; +00068 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= (packed>>8)&255; +00069 <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>= packed & 255; +00070 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAa17" doxytag="NLMISC::CRGBA::sub" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::sub </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c1</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Compute c0 - c1, and store in this +<p> +Definition at line <a class="el" href="a06340.html#l00213">213</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00340">A</a>, <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, <a class="el" href="a05646.html#l00993">r</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a06339.html#l00079">addColors()</a>, <a class="el" href="a06339.html#l00239">modulateColors()</a>, and <a class="el" href="a06339.html#l00413">subtractColors()</a>. +<p> +<div class="fragment"><pre>00214 { +00215 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a628">r</a>,g,b,a; +00216 <a class="code" href="a04223.html#a628">r</a>= c0.R - c1.R; <a class="code" href="a04223.html#a628">r</a>= std::max(r, 0); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= (<a class="code" href="a04558.html#a7">uint8</a>)<a class="code" href="a04223.html#a628">r</a>; +00217 g= c0.G - c1.G; g= std::max(g, 0); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= (<a class="code" href="a04558.html#a7">uint8</a>)g; +00218 b= c0.B - c1.B; b= std::max(b, 0); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= (<a class="code" href="a04558.html#a7">uint8</a>)b; +00219 a= c0.A - c1.A; a= std::max(a, 0); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>= (<a class="code" href="a04558.html#a7">uint8</a>)a; +00220 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2022_6" doxytag="NLMISC::CRGBA::subRGBOnly" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::subRGBOnly </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c0</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname" nowrap> <em>c1</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +see <a class="el" href="a03337.html#NLMISC_1_1CRGBAa17">sub()</a> +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00272">272</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +References <a class="el" href="a06340.html#l00338">B</a>, <a class="el" href="a06340.html#l00336">G</a>, <a class="el" href="a06340.html#l00334">R</a>, <a class="el" href="a05646.html#l00993">r</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00273 { +00274 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a628">r</a>,g,b; +00275 <a class="code" href="a04223.html#a628">r</a>= c0.R - c1.R; <a class="code" href="a04223.html#a628">r</a>= std::max(r, 0); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo3">R</a>= (<a class="code" href="a04558.html#a7">uint8</a>)<a class="code" href="a04223.html#a628">r</a>; +00276 g= c0.G - c1.G; g= std::max(g, 0); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo2">G</a>= (<a class="code" href="a04558.html#a7">uint8</a>)g; +00277 b= c0.B - c1.B; b= std::max(b, 0); <a class="code" href="a03337.html#NLMISC_1_1CRGBAo1">B</a>= (<a class="code" href="a04558.html#a7">uint8</a>)b; +00278 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAz2024_2" doxytag="NLMISC::CRGBA::subtractColors" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLMISC::CRGBA::subtractColors </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> * </td> + <td class="mdname" nowrap> <em>dest</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">CRGBA</a> * </td> + <td class="mdname" nowrap> <em>src1</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03337.html">CRGBA</a> * </td> + <td class="mdname" nowrap> <em>src2</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>numColors</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>srcStride</em> = sizeof(<a class="el" href="a03337.html">CRGBA</a>), </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>destStride</em> = sizeof(<a class="el" href="a03337.html">CRGBA</a>), </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>dup</em> = 1</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Subtract a group of colors with saturation (src1 - src2), using mmx instructions when present. dest The destination color buffer, encoded as CRGBA's. src1 The first source color buffer, encoded as CRGBA's. src2 The second source color buffer, encoded as CRGBA's. numColors The number of colors to compute Stride between each color. It is the same for sources and destination. +<p> +Definition at line <a class="el" href="a06339.html#l00413">413</a> of file <a class="el" href="a06339.html">rgba.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00645">offset</a>, <a class="el" href="a06340.html#l00213">sub()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a06215.html#l00060">NL3D::Make4Private()</a>, <a class="el" href="a06215.html#l00087">NL3D::MakeNPrivate()</a>, and <a class="el" href="a06215.html#l00034">NL3D::MakePrivate()</a>. +<p> +<div class="fragment"><pre>00414 { +00415 <span class="keywordflow">if</span> (numColors == 0) <span class="keywordflow">return</span>; +00416 <span class="preprocessor"> #if defined(NL_OS_WINDOWS) && !defined(DISABLE_MMX_OPTIM)</span> +00417 <span class="preprocessor"></span> <span class="keywordflow">if</span> (!CSystemInfo::hasMMX()) +00418 <span class="preprocessor"> #endif</span> +00419 <span class="preprocessor"></span> { <span class="comment">// unoptimized version</span> +00420 <span class="keywordflow">if</span> (dup == 1) +00421 { +00422 <span class="keywordflow">while</span> (numColors--) +00423 { +00424 dest->sub(*src1, *src2); +00425 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00426 src1 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src1 + srcStride); +00427 src2 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src2 + srcStride); +00428 } +00429 } +00430 <span class="keywordflow">else</span> +00431 { +00432 <span class="keywordflow">if</span> (dup == 4) <span class="comment">// optimisation for the 4 case</span> +00433 { +00434 <span class="keywordflow">while</span> (numColors--) +00435 { +00436 dest->sub(*src1, *src2); +00437 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00438 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00439 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00440 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00441 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00442 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + (destStride << 1)); +00443 +00444 src1 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src1 + srcStride); +00445 src2 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src2 + srcStride); +00446 } +00447 } +00448 <span class="keywordflow">else</span> +00449 { +00450 <span class="keywordflow">while</span> (numColors--) +00451 { +00452 dest->sub(*src1, *src2); +00453 +00454 <a class="code" href="a04558.html#a15">uint</a> k = dup - 1; +00455 <span class="keywordflow">do</span> +00456 { +00457 * (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride) = *dest; +00458 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00459 } +00460 <span class="keywordflow">while</span> (--k); +00461 +00462 dest = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) dest + destStride); +00463 src1 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src1 + srcStride); +00464 src2 = (<a class="code" href="a03337.html#NLMISC_1_1CRGBAa5">CRGBA</a> *) ((<a class="code" href="a04558.html#a7">uint8</a> *) src2 + srcStride); +00465 } +00466 } +00467 } +00468 } +00469 <span class="preprocessor"> #if defined(NL_OS_WINDOWS) && !defined(DISABLE_MMX_OPTIM)</span> +00470 <span class="preprocessor"></span> <span class="keywordflow">else</span> <span class="comment">// optimized mmx version</span> +00471 { +00473 <span class="keywordflow">if</span> (dup == 1) +00474 { +00475 __asm +00476 { +00477 push ebp +00478 mov edi, dest +00479 mov esi, src1 +00480 mov ebx, src2 +00481 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> ebx, esi ; <a class="code" href="a04223.html#a586">offset</a> to source 2 +00482 mov ecx, numColors +00483 mov edx, destStride +00484 mov ebp, srcStride +00485 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> edi, edx +00486 myLoop: +00487 movd mm0, [esi] +00488 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> edi, edx +00489 movd mm1, [esi + ebx] +00490 psubusb mm0, mm1 +00491 movd [edi], mm0 +00492 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> esi, ebp +00493 dec ecx +00494 jne myLoop +00495 pop ebp +00496 emms +00497 } +00498 } +00499 <span class="keywordflow">else</span> +00500 { +00501 <span class="keywordflow">if</span> (dup == 4) +00502 { +00503 __asm +00504 { +00505 push ebp +00506 mov edi, dest +00507 mov esi, src1 +00508 mov ebx, src2 +00509 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> ebx, esi ; <a class="code" href="a04223.html#a586">offset</a> to source 2 +00510 mov ecx, numColors +00511 mov edx, destStride +00512 mov ebp, srcStride +00513 myLoop4: +00514 movd mm0, [esi] +00515 movd mm1, [esi + ebx] +00516 psubusb mm0, mm1 +00517 movd eax, mm0 +00518 +00519 mov [edi], eax +00520 mov [edi + edx], eax +00521 mov [edi + 2 * edx], eax +00522 lea edi, [edi + edx * 2] +00523 mov [edi + edx], eax +00524 lea edi, [edi + edx * 2] +00525 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> esi, ebp +00526 +00527 dec ecx +00528 jne myLoop4 +00529 pop ebp +00530 emms +00531 } +00532 } +00533 <span class="keywordflow">else</span> +00534 { +00535 __asm +00536 { +00537 push ebp +00538 mov edi, dest +00539 mov esi, src1 +00540 mov ebx, src2 +00541 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa17">sub</a> ebx, esi ; <a class="code" href="a04223.html#a586">offset</a> to source 2 +00542 mov ecx, numColors +00543 mov edx, destStride +00544 mov eax, dup +00545 mov ebp, srcStride +00546 push eax +00547 myLoopN: +00548 movd mm0, [esi] +00549 movd mm1, [esi + ebx] +00550 push ecx +00551 psubusb mm0, mm1 +00552 mov ecx, 4[esp] +00553 movd eax, mm0 +00554 dupLoopN: +00555 mov [edi], eax +00556 dec ecx +00557 lea edi, [edi + edx] +00558 jne dupLoopN +00559 pop ecx ; get back the loop counter +00560 <a class="code" href="a03337.html#NLMISC_1_1CRGBAa0">add</a> esi, ebp +00561 dec ecx +00562 jne myLoopN +00563 pop eax +00564 pop ebp +00565 emms +00566 } +00567 } +00568 } +00569 } +00570 <span class="preprocessor"> #endif</span> +00571 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLMISC_1_1CRGBAo0" doxytag="NLMISC::CRGBA::A" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAo0">NLMISC::CRGBA::A</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Alpha componant. +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00340">340</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +Referenced by <a class="el" href="a06340.html#l00201">add()</a>, <a class="el" href="a06698.html#l01036">NL3D::CVegetableManager::addInstance()</a>, <a class="el" href="a05935.html#l00359">NL3D::CLodCharacterManager::addRenderCharacterKey()</a>, <a class="el" href="a05935.html#l00955">NL3D::CLodCharacterManager::addTextureCompute()</a>, <a class="el" href="a05559.html#l00424">NL3D::CCloudScape::anim()</a>, <a class="el" href="a06055.html#l01709">NL3D::CMRMBuilder::attToColor()</a>, <a class="el" href="a06340.html#l00178">avg2()</a>, <a class="el" href="a06340.html#l00190">avg4()</a>, <a class="el" href="a06340.html#l00104">blendFromui()</a>, <a class="el" href="a06521.html#l00041">NL3D::CTextureFile::buildBitmapFromFile()</a>, <a class="el" href="a06055.html#l02912">NL3D::CMRMBuilder::buildBlendShapes()</a>, <a class="el" href="a05486.html#l01422">NLMISC::CBitmap::buildMipMaps()</a>, <a class="el" href="a06340.html#l00372">NLMISC::CBGRA::CBGRA()</a>, <a class="el" href="a06329.html#l00409">NL3D::CRenderTrav::changeLightSetup()</a>, <a class="el" href="a05642.html#l01511">NL3D::CDriverGL::clear2D()</a>, <a class="el" href="a05790.html#l00628">NL3D::CHLSColorTexture::compressBlockRGB()</a>, <a class="el" href="a05894.html#l00106">NL3D::CLightContribution::computeCurrentAmbient()</a>, <a class="el" href="a06161.html#l01329">NL3D::CPatch::computeGeomorphAlphaFar1VertexListVB()</a>, <a class="el" href="a06698.html#l00939">NL3D::computeVegetVertexLighting()</a>, <a class="el" href="a06698.html#l00986">NL3D::computeVegetVertexLightingForceBestSided()</a>, <a class="el" href="a05648.html#l00071">NL3D::convColor()</a>, <a class="el" href="a05437.html#l00099">NL3D::CMaterialBase::copyFromMaterial()</a>, <a class="el" href="a06559.html#l00399">NL3D::copyToValue()</a>, <a class="el" href="a06340.html#l00488">NLMISC::CRGBAF::CRGBAF()</a>, <a class="el" href="a05486.html#l00965">NLMISC::CBitmap::decompressDXT1()</a>, <a class="el" href="a06517.html#l00101">NL3D::CTextureEmboss::doGenerate()</a>, <a class="el" href="a05935.html#l00992">NL3D::CLodCharacterManager::endTextureCompute()</a>, <a class="el" href="a06055.html#l01685">NL3D::CMRMBuilder::findInsertColorInBaseMesh()</a>, <a class="el" href="a05643.html#l00699">NL3D::CDriverGL::forceActivateTexEnvColor()</a>, <a class="el" href="a06018.html#l00067">NL3D::CMeshMultiLodInstance::getCoarseMeshLighting()</a>, <a class="el" href="a05486.html#l03061">NLMISC::CBitmap::getDXTC3Texel()</a>, <a class="el" href="a05486.html#l03077">NLMISC::CBitmap::getDXTC5Texel()</a>, <a class="el" href="a05486.html#l02990">NLMISC::CBitmap::getDXTCColorFromBlock()</a>, <a class="el" href="a05642.html#l02293">NL3D::CDriverGL::getFogColor()</a>, <a class="el" href="a05969.html#l00381">NL3D::CMaterial::getOpacity()</a>, <a class="el" href="a06475.html#l00062">NL3D::CSurfaceLightGrid::getStaticLightSetup()</a>, <a class="el" href="a05557.html#l00182">NL3D::CCloud::light()</a>, <a class="el" href="a06340.html#l00133">modulateFromColor()</a>, <a class="el" href="a06340.html#l00119">modulateFromui()</a>, <a class="el" href="a06519.html#l02050">NL3D_drawFarTileInFarTextureAdditiveAlpha()</a>, <a class="el" href="a06519.html#l01916">NL3D_drawFarTileInFarTextureAlpha()</a>, <a class="el" href="a06340.html#l00089">operator==()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, <a class="el" href="a06502.html#l00144">NL3D::CTextContext::printAt()</a>, <a class="el" href="a06502.html#l00162">NL3D::CTextContext::printClipAt()</a>, <a class="el" href="a06502.html#l00180">NL3D::CTextContext::printClipAtUnProjected()</a>, <a class="el" href="a06502.html#l00218">NL3D::CTextContext::printfAt()</a>, <a class="el" href="a05641.html#l00173">NL3D::CMaterial::setOpacity()</a>, <a class="el" href="a06542.html#l00073">NL3D::CTileFarBank::CTileFar::setPixels()</a>, <a class="el" href="a05642.html#l02245">NL3D::CDriverGL::setupFog()</a>, <a class="el" href="a05648.html#l00670">NL3D::CDriverGL::setupLightMapPass()</a>, <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, <a class="el" href="a05862.html#l02650">NL3D::CLandscape::setupStaticLight()</a>, <a class="el" href="a05650.html#l00370">NL3D::CDriverGLStates::setVertexColorLighted()</a>, <a class="el" href="a06340.html#l00213">sub()</a>, <a class="el" href="a05437.html#l00197">NL3D::CAnimatedMaterial::update()</a>, <a class="el" href="a06698.html#l02354">NL3D::CVegetableManager::updateInstanceLighting()</a>, and <a class="el" href="a06195.html#l01627">NLLIGO::IPrimitive::write()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAo1" doxytag="NLMISC::CRGBA::B" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAo1">NLMISC::CRGBA::B</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Blue componant. +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00338">338</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +Referenced by <a class="el" href="a06340.html#l00201">add()</a>, <a class="el" href="a06698.html#l01036">NL3D::CVegetableManager::addInstance()</a>, <a class="el" href="a06163.html#l00648">NL3D::CPatchDLMContext::addPointLightInfluence()</a>, <a class="el" href="a06340.html#l00264">addRGBOnly()</a>, <a class="el" href="a05559.html#l00424">NL3D::CCloudScape::anim()</a>, <a class="el" href="a06055.html#l01709">NL3D::CMRMBuilder::attToColor()</a>, <a class="el" href="a06340.html#l00178">avg2()</a>, <a class="el" href="a06340.html#l00250">avg2RGBOnly()</a>, <a class="el" href="a06340.html#l00190">avg4()</a>, <a class="el" href="a06340.html#l00257">avg4RGBOnly()</a>, <a class="el" href="a06340.html#l00104">blendFromui()</a>, <a class="el" href="a06340.html#l00227">blendFromuiRGBOnly()</a>, <a class="el" href="a06521.html#l00041">NL3D::CTextureFile::buildBitmapFromFile()</a>, <a class="el" href="a06055.html#l02912">NL3D::CMRMBuilder::buildBlendShapes()</a>, <a class="el" href="a05486.html#l01422">NLMISC::CBitmap::buildMipMaps()</a>, <a class="el" href="a06340.html#l00372">NLMISC::CBGRA::CBGRA()</a>, <a class="el" href="a05642.html#l01511">NL3D::CDriverGL::clear2D()</a>, <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a05790.html#l00628">NL3D::CHLSColorTexture::compressBlockRGB()</a>, <a class="el" href="a06157.html#l01805">NL3D::CPatch::computeCurrentTLILightmapDiv2()</a>, <a class="el" href="a05935.html#l00337">NL3D::computeLodLighting()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06372.html#l00626">NL3D::CShadowMapManager::computeShadowColors()</a>, <a class="el" href="a06372.html#l00595">NL3D::CShadowMapManager::computeShadowDirection()</a>, <a class="el" href="a05648.html#l00071">NL3D::convColor()</a>, <a class="el" href="a05729.html#l00657">NLGEORGES::CFormElm::convertValue()</a>, <a class="el" href="a06559.html#l00399">NL3D::copyToValue()</a>, <a class="el" href="a06340.html#l00488">NLMISC::CRGBAF::CRGBAF()</a>, <a class="el" href="a06055.html#l01685">NL3D::CMRMBuilder::findInsertColorInBaseMesh()</a>, <a class="el" href="a05643.html#l00699">NL3D::CDriverGL::forceActivateTexEnvColor()</a>, <a class="el" href="a05642.html#l02293">NL3D::CDriverGL::getFogColor()</a>, <a class="el" href="a06475.html#l00062">NL3D::CSurfaceLightGrid::getStaticLightSetup()</a>, <a class="el" href="a06515.html#l00273">NL3D::CTextureDLM::modulateAndfillRect565()</a>, <a class="el" href="a06515.html#l00305">NL3D::CTextureDLM::modulateAndfillRect8888()</a>, <a class="el" href="a06515.html#l00335">NL3D::CTextureDLM::modulateConstantAndfillRect()</a>, <a class="el" href="a06340.html#l00133">modulateFromColor()</a>, <a class="el" href="a06340.html#l00243">modulateFromColorRGBOnly()</a>, <a class="el" href="a06340.html#l00119">modulateFromui()</a>, <a class="el" href="a06340.html#l00236">modulateFromuiRGBOnly()</a>, <a class="el" href="a06519.html#l01853">NL3D_drawFarTileInFarTexture()</a>, <a class="el" href="a06519.html#l01983">NL3D_drawFarTileInFarTextureAdditive()</a>, <a class="el" href="a06519.html#l02050">NL3D_drawFarTileInFarTextureAdditiveAlpha()</a>, <a class="el" href="a06519.html#l01916">NL3D_drawFarTileInFarTextureAlpha()</a>, <a class="el" href="a06519.html#l01359">NL3D_expandLightmap()</a>, <a class="el" href="a06340.html#l00089">operator==()</a>, <a class="el" href="a06217.html#l00097">NL3D::PSBinOpAdd()</a>, <a class="el" href="a06217.html#l00106">NL3D::PSBinOpSubtract()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a05647.html#l00164">NL3D::CDriverGL::setAmbientColor()</a>, <a class="el" href="a05641.html#l00164">NL3D::CMaterial::setDiffuse()</a>, <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>, <a class="el" href="a05642.html#l02245">NL3D::CDriverGL::setupFog()</a>, <a class="el" href="a05648.html#l00670">NL3D::CDriverGL::setupLightMapPass()</a>, <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, <a class="el" href="a05862.html#l02650">NL3D::CLandscape::setupStaticLight()</a>, <a class="el" href="a05650.html#l00370">NL3D::CDriverGLStates::setVertexColorLighted()</a>, <a class="el" href="a06340.html#l00213">sub()</a>, <a class="el" href="a06340.html#l00272">subRGBOnly()</a>, and <a class="el" href="a06195.html#l01627">NLLIGO::IPrimitive::write()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAs0" doxytag="NLMISC::CRGBA::Black" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAs0">NLMISC::CRGBA::Black</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +some colors +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAs1" doxytag="NLMISC::CRGBA::Blue" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAs1">NLMISC::CRGBA::Blue</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAs2" doxytag="NLMISC::CRGBA::Cyan" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAs2">NLMISC::CRGBA::Cyan</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAo2" doxytag="NLMISC::CRGBA::G" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAo2">NLMISC::CRGBA::G</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Green componant. +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00336">336</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +Referenced by <a class="el" href="a06340.html#l00201">add()</a>, <a class="el" href="a06698.html#l01036">NL3D::CVegetableManager::addInstance()</a>, <a class="el" href="a06163.html#l00648">NL3D::CPatchDLMContext::addPointLightInfluence()</a>, <a class="el" href="a06340.html#l00264">addRGBOnly()</a>, <a class="el" href="a05559.html#l00424">NL3D::CCloudScape::anim()</a>, <a class="el" href="a06055.html#l01709">NL3D::CMRMBuilder::attToColor()</a>, <a class="el" href="a06340.html#l00178">avg2()</a>, <a class="el" href="a06340.html#l00250">avg2RGBOnly()</a>, <a class="el" href="a06340.html#l00190">avg4()</a>, <a class="el" href="a06340.html#l00257">avg4RGBOnly()</a>, <a class="el" href="a06340.html#l00104">blendFromui()</a>, <a class="el" href="a06340.html#l00227">blendFromuiRGBOnly()</a>, <a class="el" href="a06521.html#l00041">NL3D::CTextureFile::buildBitmapFromFile()</a>, <a class="el" href="a06055.html#l02912">NL3D::CMRMBuilder::buildBlendShapes()</a>, <a class="el" href="a05486.html#l01422">NLMISC::CBitmap::buildMipMaps()</a>, <a class="el" href="a05808.html#l00100">NL3D::CIGSurfaceLightBuild::buildPLDebugMesh()</a>, <a class="el" href="a06340.html#l00372">NLMISC::CBGRA::CBGRA()</a>, <a class="el" href="a05642.html#l01511">NL3D::CDriverGL::clear2D()</a>, <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a05790.html#l00628">NL3D::CHLSColorTexture::compressBlockRGB()</a>, <a class="el" href="a06157.html#l01805">NL3D::CPatch::computeCurrentTLILightmapDiv2()</a>, <a class="el" href="a05935.html#l00337">NL3D::computeLodLighting()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06372.html#l00626">NL3D::CShadowMapManager::computeShadowColors()</a>, <a class="el" href="a06372.html#l00595">NL3D::CShadowMapManager::computeShadowDirection()</a>, <a class="el" href="a05648.html#l00071">NL3D::convColor()</a>, <a class="el" href="a05729.html#l00657">NLGEORGES::CFormElm::convertValue()</a>, <a class="el" href="a06559.html#l00399">NL3D::copyToValue()</a>, <a class="el" href="a06340.html#l00488">NLMISC::CRGBAF::CRGBAF()</a>, <a class="el" href="a06055.html#l01685">NL3D::CMRMBuilder::findInsertColorInBaseMesh()</a>, <a class="el" href="a05643.html#l00699">NL3D::CDriverGL::forceActivateTexEnvColor()</a>, <a class="el" href="a05642.html#l02293">NL3D::CDriverGL::getFogColor()</a>, <a class="el" href="a06475.html#l00062">NL3D::CSurfaceLightGrid::getStaticLightSetup()</a>, <a class="el" href="a06515.html#l00273">NL3D::CTextureDLM::modulateAndfillRect565()</a>, <a class="el" href="a06515.html#l00305">NL3D::CTextureDLM::modulateAndfillRect8888()</a>, <a class="el" href="a06515.html#l00335">NL3D::CTextureDLM::modulateConstantAndfillRect()</a>, <a class="el" href="a06340.html#l00133">modulateFromColor()</a>, <a class="el" href="a06340.html#l00243">modulateFromColorRGBOnly()</a>, <a class="el" href="a06340.html#l00119">modulateFromui()</a>, <a class="el" href="a06340.html#l00236">modulateFromuiRGBOnly()</a>, <a class="el" href="a06519.html#l01853">NL3D_drawFarTileInFarTexture()</a>, <a class="el" href="a06519.html#l01983">NL3D_drawFarTileInFarTextureAdditive()</a>, <a class="el" href="a06519.html#l02050">NL3D_drawFarTileInFarTextureAdditiveAlpha()</a>, <a class="el" href="a06519.html#l01916">NL3D_drawFarTileInFarTextureAlpha()</a>, <a class="el" href="a06519.html#l01359">NL3D_expandLightmap()</a>, <a class="el" href="a06340.html#l00089">operator==()</a>, <a class="el" href="a06217.html#l00097">NL3D::PSBinOpAdd()</a>, <a class="el" href="a06217.html#l00106">NL3D::PSBinOpSubtract()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a05647.html#l00164">NL3D::CDriverGL::setAmbientColor()</a>, <a class="el" href="a05641.html#l00164">NL3D::CMaterial::setDiffuse()</a>, <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>, <a class="el" href="a05642.html#l02245">NL3D::CDriverGL::setupFog()</a>, <a class="el" href="a05648.html#l00670">NL3D::CDriverGL::setupLightMapPass()</a>, <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, <a class="el" href="a05862.html#l02650">NL3D::CLandscape::setupStaticLight()</a>, <a class="el" href="a05650.html#l00370">NL3D::CDriverGLStates::setVertexColorLighted()</a>, <a class="el" href="a06340.html#l00213">sub()</a>, <a class="el" href="a06340.html#l00272">subRGBOnly()</a>, and <a class="el" href="a06195.html#l01627">NLLIGO::IPrimitive::write()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAs3" doxytag="NLMISC::CRGBA::Green" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAs3">NLMISC::CRGBA::Green</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAs4" doxytag="NLMISC::CRGBA::Magenta" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAs4">NLMISC::CRGBA::Magenta</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAo3" doxytag="NLMISC::CRGBA::R" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAo3">NLMISC::CRGBA::R</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Red componant. +<p> + +<p> +Definition at line <a class="el" href="a06340.html#l00334">334</a> of file <a class="el" href="a06340.html">rgba.h</a>. +<p> +Referenced by <a class="el" href="a06340.html#l00201">add()</a>, <a class="el" href="a06698.html#l01036">NL3D::CVegetableManager::addInstance()</a>, <a class="el" href="a06163.html#l00648">NL3D::CPatchDLMContext::addPointLightInfluence()</a>, <a class="el" href="a06340.html#l00264">addRGBOnly()</a>, <a class="el" href="a05559.html#l00424">NL3D::CCloudScape::anim()</a>, <a class="el" href="a06055.html#l01709">NL3D::CMRMBuilder::attToColor()</a>, <a class="el" href="a06340.html#l00178">avg2()</a>, <a class="el" href="a06340.html#l00250">avg2RGBOnly()</a>, <a class="el" href="a06340.html#l00190">avg4()</a>, <a class="el" href="a06340.html#l00257">avg4RGBOnly()</a>, <a class="el" href="a06157.html#l00358">NL3D::bilinearColor()</a>, <a class="el" href="a06340.html#l00104">blendFromui()</a>, <a class="el" href="a06340.html#l00227">blendFromuiRGBOnly()</a>, <a class="el" href="a06702.html#l00052">NL3D::CVegetableShape::build()</a>, <a class="el" href="a06521.html#l00041">NL3D::CTextureFile::buildBitmapFromFile()</a>, <a class="el" href="a06055.html#l02912">NL3D::CMRMBuilder::buildBlendShapes()</a>, <a class="el" href="a05486.html#l01422">NLMISC::CBitmap::buildMipMaps()</a>, <a class="el" href="a05808.html#l00100">NL3D::CIGSurfaceLightBuild::buildPLDebugMesh()</a>, <a class="el" href="a06340.html#l00372">NLMISC::CBGRA::CBGRA()</a>, <a class="el" href="a05642.html#l01511">NL3D::CDriverGL::clear2D()</a>, <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a05790.html#l00628">NL3D::CHLSColorTexture::compressBlockRGB()</a>, <a class="el" href="a06157.html#l01805">NL3D::CPatch::computeCurrentTLILightmapDiv2()</a>, <a class="el" href="a05935.html#l00337">NL3D::computeLodLighting()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06372.html#l00626">NL3D::CShadowMapManager::computeShadowColors()</a>, <a class="el" href="a06372.html#l00595">NL3D::CShadowMapManager::computeShadowDirection()</a>, <a class="el" href="a05648.html#l00071">NL3D::convColor()</a>, <a class="el" href="a05729.html#l00657">NLGEORGES::CFormElm::convertValue()</a>, <a class="el" href="a06559.html#l00399">NL3D::copyToValue()</a>, <a class="el" href="a06340.html#l00488">NLMISC::CRGBAF::CRGBAF()</a>, <a class="el" href="a05486.html#l00965">NLMISC::CBitmap::decompressDXT1()</a>, <a class="el" href="a05486.html#l01090">NLMISC::CBitmap::decompressDXT3()</a>, <a class="el" href="a05486.html#l01200">NLMISC::CBitmap::decompressDXT5()</a>, <a class="el" href="a06517.html#l00101">NL3D::CTextureEmboss::doGenerate()</a>, <a class="el" href="a06055.html#l01685">NL3D::CMRMBuilder::findInsertColorInBaseMesh()</a>, <a class="el" href="a05643.html#l00699">NL3D::CDriverGL::forceActivateTexEnvColor()</a>, <a class="el" href="a05642.html#l02293">NL3D::CDriverGL::getFogColor()</a>, <a class="el" href="a06475.html#l00062">NL3D::CSurfaceLightGrid::getStaticLightSetup()</a>, <a class="el" href="a06515.html#l00273">NL3D::CTextureDLM::modulateAndfillRect565()</a>, <a class="el" href="a06515.html#l00305">NL3D::CTextureDLM::modulateAndfillRect8888()</a>, <a class="el" href="a06515.html#l00335">NL3D::CTextureDLM::modulateConstantAndfillRect()</a>, <a class="el" href="a06340.html#l00133">modulateFromColor()</a>, <a class="el" href="a06340.html#l00243">modulateFromColorRGBOnly()</a>, <a class="el" href="a06340.html#l00119">modulateFromui()</a>, <a class="el" href="a06340.html#l00236">modulateFromuiRGBOnly()</a>, <a class="el" href="a06519.html#l01853">NL3D_drawFarTileInFarTexture()</a>, <a class="el" href="a06519.html#l01983">NL3D_drawFarTileInFarTextureAdditive()</a>, <a class="el" href="a06519.html#l02050">NL3D_drawFarTileInFarTextureAdditiveAlpha()</a>, <a class="el" href="a06519.html#l01916">NL3D_drawFarTileInFarTextureAlpha()</a>, <a class="el" href="a06519.html#l01359">NL3D_expandLightmap()</a>, <a class="el" href="a06340.html#l00089">operator==()</a>, <a class="el" href="a06217.html#l00097">NL3D::PSBinOpAdd()</a>, <a class="el" href="a06217.html#l00106">NL3D::PSBinOpSubtract()</a>, <a class="el" href="a05862.html#l00939">NL3D::CLandscape::render()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a05647.html#l00164">NL3D::CDriverGL::setAmbientColor()</a>, <a class="el" href="a05641.html#l00164">NL3D::CMaterial::setDiffuse()</a>, <a class="el" href="a05647.html#l00043">NL3D::CDriverGL::setLight()</a>, <a class="el" href="a05642.html#l02245">NL3D::CDriverGL::setupFog()</a>, <a class="el" href="a05648.html#l00670">NL3D::CDriverGL::setupLightMapPass()</a>, <a class="el" href="a05648.html#l00257">NL3D::CDriverGL::setupMaterial()</a>, <a class="el" href="a05862.html#l02650">NL3D::CLandscape::setupStaticLight()</a>, <a class="el" href="a05650.html#l00370">NL3D::CDriverGLStates::setVertexColorLighted()</a>, <a class="el" href="a06340.html#l00213">sub()</a>, <a class="el" href="a06340.html#l00272">subRGBOnly()</a>, and <a class="el" href="a06195.html#l01627">NLLIGO::IPrimitive::write()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAs5" doxytag="NLMISC::CRGBA::Red" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAs5">NLMISC::CRGBA::Red</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAs6" doxytag="NLMISC::CRGBA::White" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAs6">NLMISC::CRGBA::White</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CRGBAs7" doxytag="NLMISC::CRGBA::Yellow" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a03337.html">CRGBA</a> <a class="el" href="a03337.html#NLMISC_1_1CRGBAs7">NLMISC::CRGBA::Yellow</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a06340.html">rgba.h</a><li><a class="el" href="a06339.html">rgba.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:32:09 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |