aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a06520.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a06520.html245
1 files changed, 245 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a06520.html b/docs/doxygen/nel/a06520.html
new file mode 100644
index 00000000..94cbb23f
--- /dev/null
+++ b/docs/doxygen/nel/a06520.html
@@ -0,0 +1,245 @@
+<!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: texture_far.h Source File</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&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>texture_far.h</h1><a href="a05097.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
+00007 <span class="comment">/* Copyright, 2000 Nevrax Ltd.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * This file is part of NEVRAX NEL.</span>
+00010 <span class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</span>
+00011 <span class="comment"> * it under the terms of the GNU General Public License as published by</span>
+00012 <span class="comment"> * the Free Software Foundation; either version 2, or (at your option)</span>
+00013 <span class="comment"> * any later version.</span>
+00014 <span class="comment"></span>
+00015 <span class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</span>
+00016 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+00017 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+00018 <span class="comment"> * General Public License for more details.</span>
+00019 <span class="comment"></span>
+00020 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
+00021 <span class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</span>
+00022 <span class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</span>
+00023 <span class="comment"> * MA 02111-1307, USA.</span>
+00024 <span class="comment"> */</span>
+00025
+00026 <span class="preprocessor">#ifndef NL_TEXTURE_FAR_H</span>
+00027 <span class="preprocessor"></span><span class="preprocessor">#define NL_TEXTURE_FAR_H</span>
+00028 <span class="preprocessor"></span>
+00029 <span class="preprocessor">#include "<a class="code" href="a05167.html">nel/misc/types_nl.h</a>"</span>
+00030 <span class="preprocessor">#include "<a class="code" href="a04897.html">nel/misc/rect.h</a>"</span>
+00031 <span class="preprocessor">#include "<a class="code" href="a05083.html">3d/texture.h</a>"</span>
+00032 <span class="preprocessor">#include "<a class="code" href="a05120.html">3d/tile_far_bank.h</a>"</span>
+00033
+00034 <span class="comment">/* NB: those Values work only if NL_MAX_TILES_BY_PATCH_EDGE is 16.</span>
+00035 <span class="comment"> asserted in the cpp.</span>
+00036 <span class="comment"> Else must change NL_MAX_FAR_PATCH_EDGE, NL_NUM_FAR_PATCH_EDGE_LEVEL, and NL_NUM_FAR_RECTANGLE_RATIO</span>
+00037 <span class="comment">*/</span>
+00038
+00039 <span class="comment">// The number of different Level to allocate. only possible to allocate 16, 8, 4 or 2 tiles patch (1x? is impossible)</span>
+<a name="l00040"></a><a class="code" href="a05097.html#a0">00040</a> <span class="preprocessor">#define NL_NUM_FAR_PATCH_EDGE_LEVEL (4+NL_NUM_PIXELS_ON_FAR_TILE_EDGE_SHIFT)</span>
+00041 <span class="preprocessor"></span>
+00042 <span class="comment">// Define the max number of pixel per edge for a far texture </span>
+<a name="l00043"></a><a class="code" href="a05097.html#a1">00043</a> <span class="preprocessor">#define NL_MAX_FAR_PATCH_EDGE (16*NL_NUM_PIXELS_ON_FAR_TILE_EDGE) // Max is 16x16 tiles for 4 pix/tiles.</span>
+00044 <span class="preprocessor"></span>
+00045 <span class="comment">// Define the min number of pixel per edge for a far texture </span>
+<a name="l00046"></a><a class="code" href="a05097.html#a2">00046</a> <span class="preprocessor">#define NL_MIN_FAR_PATCH_EDGE 2 // Min is 2x2 tiles for 1 pix/tile</span>
+00047 <span class="preprocessor"></span>
+00048 <span class="comment">// The max Difference of level between Height and Width</span>
+<a name="l00049"></a><a class="code" href="a05097.html#a3">00049</a> <span class="preprocessor">#define NL_NUM_FAR_RECTANGLE_RATIO 4 // 16x16, 16x8, 16x4, 16x2</span>
+<a name="l00050"></a><a class="code" href="a05097.html#a4">00050</a> <span class="preprocessor"></span><span class="preprocessor">#define NL_MAX_FAR_RECTANGLE_RATIO_SHIFT (NL_NUM_RECTANGLE_ASPECT_RATIO-1)</span>
+<a name="l00051"></a><a class="code" href="a05097.html#a5">00051</a> <span class="preprocessor"></span><span class="preprocessor">#define NL_MAX_FAR_RECTANGLE_RATIO (1&lt;&lt;NL_MAX_RECTANGLE_RATIO_SHIFT) // Max is 16 tiles fo 2 tiles =&gt; 8.</span>
+00052 <span class="preprocessor"></span>
+00053 <span class="comment">// The number of Square of MaxFarEdge.</span>
+<a name="l00054"></a><a class="code" href="a05097.html#a6">00054</a> <span class="preprocessor">#define NL_NUM_FAR_BIGGEST_PATCH_PER_EDGE 8</span>
+<a name="l00055"></a><a class="code" href="a05097.html#a7">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define NL_NUM_FAR_BIGGEST_PATCH_PER_TEXTURE (NL_NUM_FAR_BIGGEST_PATCH_PER_EDGE*NL_NUM_FAR_BIGGEST_PATCH_PER_EDGE)</span>
+00056 <span class="preprocessor"></span>
+00057 <span class="comment">// The size of the texture. 8*64 =&gt; textureFar of 512*512.</span>
+<a name="l00058"></a><a class="code" href="a05097.html#a8">00058</a> <span class="preprocessor">#define NL_FAR_TEXTURE_EDGE_SIZE (NL_MAX_FAR_PATCH_EDGE*NL_NUM_FAR_BIGGEST_PATCH_PER_EDGE)</span>
+00059 <span class="preprocessor"></span>
+00060
+00061 <span class="keyword">namespace </span>NLMISC
+00062 {
+00063 <span class="keyword">class </span><a class="code" href="a03337.html">CRGBA</a>;
+00064 }
+00065
+00066 <span class="keyword">namespace </span>NL3D
+00067 {
+00068
+00069 <span class="keyword">class </span>CPatch;
+00070 <span class="keyword">class </span>CTileFarBank;
+00071 <span class="keyword">class </span><a class="code" href="a03520.html">CTileColor</a>;
+00072
+<a name="l00085"></a><a class="code" href="a03498.html">00085</a> <span class="keyword">class </span><a class="code" href="a03498.html">CTextureFar</a> : <span class="keyword">public</span> <a class="code" href="a03487.html">ITexture</a>
+00086 {
+00087 <span class="keyword">public</span>:
+00089 <a class="code" href="a03498.html#NL3D_1_1CTextureFara8">CTextureFar</a>();
+00090 <span class="keyword">virtual</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFara60">~CTextureFar</a>();
+00091
+00092
+00098 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a03498.html#NL3D_1_1CTextureFara55">tryAllocatePatch</a> (<a class="code" href="a03057.html">CPatch</a> *pPatch, <a class="code" href="a04558.html#a15">uint</a> farIndex);
+00099
+00100
+00111 <span class="keywordtype">void</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFara0">allocatePatch</a> (<a class="code" href="a03057.html">CPatch</a> *pPatch, <a class="code" href="a04558.html#a15">uint</a> farIndex, <span class="keywordtype">float</span>&amp; farUScale, <span class="keywordtype">float</span>&amp; farVScale, <span class="keywordtype">float</span>&amp; farUBias, <span class="keywordtype">float</span>&amp; farVBias, <span class="keywordtype">bool</span>&amp; bRot);
+00112
+00116 <span class="keywordtype">void</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFara37">removePatch</a> (<a class="code" href="a03057.html">CPatch</a> *pPatch, <a class="code" href="a04558.html#a15">uint</a> farIndex);
+00117
+00123 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFara9">doGenerate</a>(<span class="keywordtype">bool</span> async = <span class="keyword">false</span>);
+00124
+00129 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a03498.html#NL3D_1_1CTextureFara53">touchPatchULAndNext</a>();
+00130 <span class="keywordtype">void</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFara49">startPatchULTouch</a>();
+00131 <span class="keywordtype">bool</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFara10">endPatchULTouch</a>() <span class="keyword">const</span>;
+00132
+00133
+00135 <span class="keywordtype">void</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFara30">linkBeforeUL</a>(<a class="code" href="a03498.html">CTextureFar</a> *textNext);
+00137 <span class="keywordtype">void</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFara56">unlinkUL</a>();
+<a name="l00139"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFara18">00139</a> <a class="code" href="a03498.html">CTextureFar</a> *<a class="code" href="a03498.html#NL3D_1_1CTextureFara18">getNextUL</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFarr4">_ULNext</a>;}
+00140
+00141
+<a name="l00143"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFaro0">00143</a> <a class="code" href="a03524.html">CTileFarBank</a>* <a class="code" href="a03498.html#NL3D_1_1CTextureFaro0">_Bank</a>;
+00144
+00145
+00146 <span class="keyword">private</span>:
+00147
+<a name="l00148"></a><a class="code" href="a03499.html">00148</a> <span class="keyword">struct </span><a class="code" href="a03499.html">CPatchIdent</a>
+00149 {
+<a name="l00150"></a><a class="code" href="a03499.html#NL3D_1_1CTextureFar_1_1CPatchIdento1">00150</a> <a class="code" href="a03057.html">CPatch</a> *Patch;
+<a name="l00151"></a><a class="code" href="a03499.html#NL3D_1_1CTextureFar_1_1CPatchIdento0">00151</a> <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a03499.html#NL3D_1_1CTextureFar_1_1CPatchIdento0">FarIndex</a>;
+00152
+<a name="l00153"></a><a class="code" href="a03499.html#NL3D_1_1CTextureFar_1_1CPatchIdenta0">00153</a> <span class="keywordtype">bool</span> <a class="code" href="a03499.html#NL3D_1_1CTextureFar_1_1CPatchIdenta0">operator &lt; </a>(<span class="keyword">const</span> <a class="code" href="a03499.html">CPatchIdent</a> &amp;rhs)<span class="keyword"> const</span>
+00154 <span class="keyword"> </span>{
+00155 <span class="keywordflow">return</span> (Patch != rhs.<a class="code" href="a03499.html#NL3D_1_1CTextureFar_1_1CPatchIdento1">Patch</a>) ? Patch &lt; rhs.<a class="code" href="a03499.html#NL3D_1_1CTextureFar_1_1CPatchIdento1">Patch</a> : <a class="code" href="a03499.html#NL3D_1_1CTextureFar_1_1CPatchIdento0">FarIndex</a> &lt; rhs.<a class="code" href="a03499.html#NL3D_1_1CTextureFar_1_1CPatchIdento0">FarIndex</a>;
+00156 }
+00157 };
+00158
+<a name="l00159"></a><a class="code" href="a03500.html">00159</a> <span class="keyword">struct </span><a class="code" href="a03500.html">CVector2s</a>
+00160 {
+<a name="l00161"></a><a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2so1">00161</a> <a class="code" href="a04558.html#a9">uint16</a> <a class="code" href="a04223.html#a572">x</a>, <a class="code" href="a04223.html#a573">y</a>;
+00162
+<a name="l00163"></a><a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2sa1">00163</a> <a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2sa1">CVector2s</a>() {}
+<a name="l00164"></a><a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2sa0">00164</a> <a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2sa1">CVector2s</a>(<a class="code" href="a04558.html#a9">uint16</a> _x, <a class="code" href="a04558.html#a9">uint16</a> _y) {<a class="code" href="a04223.html#a572">x</a>= _x; <a class="code" href="a04223.html#a573">y</a>= _y;}
+00165
+<a name="l00166"></a><a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2sa2">00166</a> <span class="keywordtype">bool</span> <a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2sa2">operator &lt; </a>(<span class="keyword">const</span> <a class="code" href="a03500.html">CVector2s</a> &amp;rhs)<span class="keyword"> const</span>
+00167 <span class="keyword"> </span>{
+00168 <span class="keywordflow">return</span> (<a class="code" href="a04223.html#a572">x</a> != rhs.<a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2so0">x</a>) ? <a class="code" href="a04223.html#a572">x</a> &lt; rhs.<a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2so0">x</a> : <a class="code" href="a04223.html#a573">y</a> &lt; rhs.<a class="code" href="a03500.html#NL3D_1_1CTextureFar_1_1CVector2so1">y</a>;
+00169 }
+00170 };
+00171
+<a name="l00176"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFary0">00176</a> <span class="keyword">typedef</span> std::map&lt;CPatchIdent, CVector2s&gt; <a class="code" href="a03498.html#NL3D_1_1CTextureFary0">TPatchToPosMap</a>;
+<a name="l00177"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFary1">00177</a> <span class="keyword">typedef</span> std::map&lt;CVector2s, CPatchIdent&gt; <a class="code" href="a03498.html#NL3D_1_1CTextureFary1">TPosToPatchMap</a>;
+<a name="l00178"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFarr2">00178</a> <a class="code" href="a03498.html#NL3D_1_1CTextureFary0">TPatchToPosMap</a> <a class="code" href="a03498.html#NL3D_1_1CTextureFarr2">_PatchToPosMap</a>;
+<a name="l00179"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFarr3">00179</a> <a class="code" href="a03498.html#NL3D_1_1CTextureFary1">TPosToPatchMap</a> <a class="code" href="a03498.html#NL3D_1_1CTextureFarr3">_PosToPatchMap</a>;
+00180
+<a name="l00183"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFarr0">00183</a> std::list&lt;CVector2s&gt; <a class="code" href="a03498.html#NL3D_1_1CTextureFarr0">_FreeSpaces</a>[<a class="code" href="a05097.html#a0">NL_NUM_FAR_PATCH_EDGE_LEVEL</a> * <a class="code" href="a05097.html#a3">NL_NUM_FAR_RECTANGLE_RATIO</a>];
+00184
+00185
+00186 <span class="comment">// allocate search</span>
+00187 <span class="keywordtype">bool</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFard1">getUpperSize</a>(<a class="code" href="a04558.html#a15">uint</a> &amp;<a class="code" href="a04223.html#a632">width</a>, <a class="code" href="a04558.html#a15">uint</a> &amp;<a class="code" href="a04223.html#a633">height</a>);
+00188 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a03498.html#NL3D_1_1CTextureFard0">getFreeListId</a>(<a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a632">width</a>, <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a633">height</a>);
+00189 <span class="keywordtype">void</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFard4">recursSplitNext</a>(<a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a632">width</a>, <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a633">height</a>);
+00190
+00194 <span class="keywordtype">void</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFard3">rebuildPatch</a> (<span class="keyword">const</span> <a class="code" href="a03500.html">CVector2s</a> texturePos, <span class="keyword">const</span> <a class="code" href="a03499.html">CPatchIdent</a> &amp;pid);
+00195
+<a name="l00197"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFard5">00197</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a03498.html#NL3D_1_1CTextureFard5">serial</a>(<a class="code" href="a02270.html">NLMISC::IStream</a> &amp;f) <span class="keywordflow">throw</span>(<a class="code" href="a03781.html">NLMISC::EStream</a>) {};
+00198
+00199 <span class="comment">// Some static buffers</span>
+00200 <span class="keyword">static</span> <a class="code" href="a03337.html">NLMISC::CRGBA</a> _LightmapExpanded[];
+00201 <span class="keyword">static</span> <a class="code" href="a04558.html#a7">uint8</a> _LumelExpanded[];
+00202 <span class="keyword">static</span> <a class="code" href="a03337.html">NLMISC::CRGBA</a> _TileTLIColors[];
+00203
+00204 <a class="code" href="a03498.html#NL3D_1_1CTextureFard2">NLMISC_DECLARE_CLASS</a>(<a class="code" href="a03498.html">CTextureFar</a>);
+00205
+<a name="l00207"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFarr5">00207</a> <a class="code" href="a03498.html">CTextureFar</a> *<a class="code" href="a03498.html#NL3D_1_1CTextureFarr5">_ULPrec</a>;
+<a name="l00208"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFarr4">00208</a> <a class="code" href="a03498.html">CTextureFar</a> *<a class="code" href="a03498.html#NL3D_1_1CTextureFarr4">_ULNext</a>;
+00209 <span class="comment">// Iterator to the next patch to update.</span>
+<a name="l00210"></a><a class="code" href="a03498.html#NL3D_1_1CTextureFarr1">00210</a> TPatchToPosMap::iterator <a class="code" href="a03498.html#NL3D_1_1CTextureFarr1">_ItULPatch</a>;
+00211
+00212 };
+00213
+00214 } <span class="comment">// NL3D</span>
+00215
+00216 <span class="comment">// For NL3D_drawFarTileInFarTexture external call</span>
+<a name="l00217"></a><a class="code" href="a03890.html">00217</a> <span class="keyword">struct </span><a class="code" href="a03890.html">NL3D_CComputeTileFar</a>
+00218 {
+00219 <span class="keyword">public</span>:
+00220 <span class="comment">// TileFar pixels</span>
+<a name="l00221"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro8">00221</a> <span class="keyword">const</span> <a class="code" href="a03337.html">NLMISC::CRGBA</a>* <a class="code" href="a03890.html#NL3D__CComputeTileFaro8">SrcDiffusePixels</a>;
+00222
+00223 <span class="comment">// TileFar pixels</span>
+<a name="l00224"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro5">00224</a> <span class="keyword">const</span> <a class="code" href="a03337.html">NLMISC::CRGBA</a>* <a class="code" href="a03890.html#NL3D__CComputeTileFaro5">SrcAdditivePixels</a>;
+00225
+00226 <span class="comment">// Source deltaY</span>
+<a name="l00227"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro6">00227</a> <a class="code" href="a04558.html#a10">sint32</a> <a class="code" href="a03890.html#NL3D__CComputeTileFaro6">SrcDeltaX</a>;
+00228
+00229 <span class="comment">// Source deltaY</span>
+<a name="l00230"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro7">00230</a> <a class="code" href="a04558.html#a10">sint32</a> <a class="code" href="a03890.html#NL3D__CComputeTileFaro7">SrcDeltaY</a>;
+00231
+00232 <span class="comment">// Source lighting</span>
+<a name="l00233"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro10">00233</a> <span class="keyword">const</span> <a class="code" href="a03337.html">NLMISC::CRGBA</a>* <a class="code" href="a03890.html#NL3D__CComputeTileFaro10">SrcLightingPixels</a>;
+00234
+00235 <span class="comment">// Delta Y for lighting</span>
+<a name="l00236"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro9">00236</a> <a class="code" href="a04558.html#a10">sint32</a> <a class="code" href="a03890.html#NL3D__CComputeTileFaro9">SrcLightingDeltaY</a>;
+00237
+00238 <span class="comment">// TileFar pixels</span>
+<a name="l00239"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro3">00239</a> <a class="code" href="a03337.html">NLMISC::CRGBA</a>* <a class="code" href="a03890.html#NL3D__CComputeTileFaro3">DstPixels</a>;
+00240
+00241 <span class="comment">// Destination deltaX</span>
+<a name="l00242"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro1">00242</a> <a class="code" href="a04558.html#a10">sint32</a> <a class="code" href="a03890.html#NL3D__CComputeTileFaro1">DstDeltaX</a>;
+00243
+00244 <span class="comment">// Destination deltaY</span>
+<a name="l00245"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro2">00245</a> <a class="code" href="a04558.html#a10">sint32</a> <a class="code" href="a03890.html#NL3D__CComputeTileFaro2">DstDeltaY</a>;
+00246
+00247 <span class="comment">// Size</span>
+<a name="l00248"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro4">00248</a> <a class="code" href="a04558.html#a10">sint32</a> Size;
+00249
+00250 <span class="comment">// Can the compute be done in MMX</span>
+<a name="l00251"></a><a class="code" href="a03890.html#NL3D__CComputeTileFaro0">00251</a> <span class="keywordtype">bool</span> <a class="code" href="a03890.html#NL3D__CComputeTileFaro0">AsmMMX</a>;
+00252 };
+00253
+00254 <span class="comment">// For NL3D_expandLightmap external call</span>
+<a name="l00255"></a><a class="code" href="a03891.html">00255</a> <span class="keyword">struct </span><a class="code" href="a03891.html">NL3D_CExpandLightmap</a>
+00256 {
+00257 <span class="keyword">public</span>:
+00258 <span class="comment">// CTileColor array.</span>
+<a name="l00259"></a><a class="code" href="a03891.html#NL3D__CExpandLightmapo0">00259</a> <span class="keyword">const</span> <a class="code" href="a03520.html">NL3D::CTileColor</a>* <a class="code" href="a03891.html#NL3D__CExpandLightmapo0">ColorTile</a>;
+00260 <span class="comment">// TLI Color array.</span>
+<a name="l00261"></a><a class="code" href="a03891.html#NL3D__CExpandLightmapo6">00261</a> <span class="keyword">const</span> <a class="code" href="a03337.html">NLMISC::CRGBA</a>* <a class="code" href="a03891.html#NL3D__CExpandLightmapo6">TLIColor</a>;
+00262
+00263 <span class="comment">// Lumel array. 4x4 lumels by tile.</span>
+<a name="l00264"></a><a class="code" href="a03891.html#NL3D__CExpandLightmapo3">00264</a> <span class="keyword">const</span> <a class="code" href="a04558.html#a7">uint8</a>* <a class="code" href="a03891.html#NL3D__CExpandLightmapo3">LumelTile</a>;
+00265
+00266 <span class="comment">// Width of the array</span>
+<a name="l00267"></a><a class="code" href="a03891.html#NL3D__CExpandLightmapo7">00267</a> <a class="code" href="a04558.html#a11">uint32</a> Width;
+00268
+00269 <span class="comment">// Height of the array</span>
+<a name="l00270"></a><a class="code" href="a03891.html#NL3D__CExpandLightmapo2">00270</a> <a class="code" href="a04558.html#a11">uint32</a> Height;
+00271
+00272 <span class="comment">// Mul factor for the size (1, 2 or 4)</span>
+<a name="l00273"></a><a class="code" href="a03891.html#NL3D__CExpandLightmapo4">00273</a> <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a03891.html#NL3D__CExpandLightmapo4">MulFactor</a>;
+00274
+00275 <span class="comment">// Static light color</span>
+<a name="l00276"></a><a class="code" href="a03891.html#NL3D__CExpandLightmapo5">00276</a> <span class="keyword">const</span> <a class="code" href="a03337.html">NLMISC::CRGBA</a>* <a class="code" href="a03891.html#NL3D__CExpandLightmapo5">StaticLightColor</a>;
+00277
+00278 <span class="comment">// Destination array</span>
+<a name="l00279"></a><a class="code" href="a03891.html#NL3D__CExpandLightmapo1">00279</a> <a class="code" href="a03337.html">NLMISC::CRGBA</a>* DstPixels;
+00280 };
+00281
+00282 <span class="comment">// Extern ASM functions</span>
+00283 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> <span class="keywordtype">void</span> <a class="code" href="a05097.html#a9">NL3D_expandLightmap</a> (<span class="keyword">const</span> <a class="code" href="a03891.html">NL3D_CExpandLightmap</a>* pLightmap);
+00284 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> <span class="keywordtype">void</span> <a class="code" href="a05097.html#a10">NL3D_drawFarTileInFarTexture</a> (<span class="keyword">const</span> <a class="code" href="a03890.html">NL3D_CComputeTileFar</a>* pTileFar);
+00285 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> <span class="keywordtype">void</span> <a class="code" href="a05097.html#a11">NL3D_drawFarTileInFarTextureAdditive</a> (<span class="keyword">const</span> <a class="code" href="a03890.html">NL3D_CComputeTileFar</a>* pTileFar);
+00286 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> <span class="keywordtype">void</span> <a class="code" href="a05097.html#a12">NL3D_drawFarTileInFarTextureAlpha</a> (<span class="keyword">const</span> <a class="code" href="a03890.html">NL3D_CComputeTileFar</a>* pTileFar);
+00287 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> <span class="keywordtype">void</span> <a class="code" href="a05097.html#a13">NL3D_drawFarTileInFarTextureAdditiveAlpha</a> (<span class="keyword">const</span> <a class="code" href="a03890.html">NL3D_CComputeTileFar</a>* pTileFar);
+00288
+00289 <span class="preprocessor">#endif // NL_TEXTURE_FAR_H</span>
+00290 <span class="preprocessor"></span>
+00291 <span class="comment">/* End of texture_far.h */</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:40:43 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>