aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/landscape_8h-source.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/landscape_8h-source.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/landscape_8h-source.html730
1 files changed, 730 insertions, 0 deletions
diff --git a/docs/doxygen/nel/landscape_8h-source.html b/docs/doxygen/nel/landscape_8h-source.html
new file mode 100644
index 00000000..f1f32961
--- /dev/null
+++ b/docs/doxygen/nel/landscape_8h-source.html
@@ -0,0 +1,730 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+ <TITLE>nevrax.org : docs</TITLE>
+ <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css">
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY MARGINHEIGHT="0" MARGINWIDTH="0">
+
+<!-- uplinks -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ </TR>
+</TABLE>
+
+<!-- banner Nevrax -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%>
+ <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR>
+</TABLE>
+
+<!-- main table -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+ <!------ Begin Box ------>
+ <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black>
+ <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF>
+ <TABLE cellspacing=0 cellpadding=1 border=0>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr>
+ </TABLE>
+ </TD></TR></TABLE></TD></TR></TABLE>
+ <!------ End Box ------>
+
+ </TD>
+ <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+<!-- title -->
+<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td>
+<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A>
+</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT="">
+</td></tr></table>
+&nbsp;
+
+<!-- block -->
+<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD>
+ <TD><B>Documentation</B></TD>
+ <TD ALIGN=RIGHT>&nbsp;</td>
+</tr></table>
+<!-- Generated by Doxygen 1.2.14 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> &nbsp; </center>
+<hr><h1>landscape.h</h1><a href="landscape_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
+00007 <font class="comment">/* Copyright, 2000 Nevrax Ltd.</font>
+00008 <font class="comment"> *</font>
+00009 <font class="comment"> * This file is part of NEVRAX NEL.</font>
+00010 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font>
+00011 <font class="comment"> * it under the terms of the GNU General Public License as published by</font>
+00012 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font>
+00013 <font class="comment"> * any later version.</font>
+00014 <font class="comment"></font>
+00015 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font>
+00016 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font>
+00017 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font>
+00018 <font class="comment"> * General Public License for more details.</font>
+00019 <font class="comment"></font>
+00020 <font class="comment"> * You should have received a copy of the GNU General Public License</font>
+00021 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font>
+00022 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font>
+00023 <font class="comment"> * MA 02111-1307, USA.</font>
+00024 <font class="comment"> */</font>
+00025
+00026 <font class="preprocessor">#ifndef NL_LANDSCAPE_H</font>
+00027 <font class="preprocessor"></font><font class="preprocessor">#define NL_LANDSCAPE_H</font>
+00028 <font class="preprocessor"></font>
+00029
+00030 <font class="preprocessor">#include "<a class="code" href="types__nl_8h.html">nel/misc/types_nl.h</a>"</font>
+00031 <font class="preprocessor">#include "<a class="code" href="class__id_8h.html">nel/misc/class_id.h</a>"</font>
+00032 <font class="preprocessor">#include "<a class="code" href="smart__ptr_8h.html">nel/misc/smart_ptr.h</a>"</font>
+00033 <font class="preprocessor">#include "<a class="code" href="triangle_8h.html">nel/misc/triangle.h</a>"</font>
+00034 <font class="preprocessor">#include "<a class="code" href="src_23d_2zone_8h.html">3d/zone.h</a>"</font>
+00035 <font class="preprocessor">#include "<a class="code" href="tile__bank_8h.html">3d/tile_bank.h</a>"</font>
+00036 <font class="preprocessor">#include "<a class="code" href="patch__rdr__pass_8h.html">3d/patch_rdr_pass.h</a>"</font>
+00037 <font class="preprocessor">#include "<a class="code" href="vertex__buffer_8h.html">3d/vertex_buffer.h</a>"</font>
+00038 <font class="preprocessor">#include "<a class="code" href="3d_2primitive__block_8h.html">3d/primitive_block.h</a>"</font>
+00039 <font class="preprocessor">#include "<a class="code" href="material_8h.html">3d/material.h</a>"</font>
+00040 <font class="preprocessor">#include "<a class="code" href="tile__far__bank_8h.html">3d/tile_far_bank.h</a>"</font>
+00041 <font class="preprocessor">#include "<a class="code" href="texture__near_8h.html">3d/texture_near.h</a>"</font>
+00042 <font class="preprocessor">#include "<a class="code" href="3d_2quad__grid_8h.html">3d/quad_grid.h</a>"</font>
+00043 <font class="preprocessor">#include "<a class="code" href="block__memory_8h.html">nel/misc/block_memory.h</a>"</font>
+00044 <font class="preprocessor">#include "<a class="code" href="landscapevb__allocator_8h.html">3d/landscapevb_allocator.h</a>"</font>
+00045 <font class="preprocessor">#include "<a class="code" href="landscape__face__vector__manager_8h.html">3d/landscape_face_vector_manager.h</a>"</font>
+00046 <font class="preprocessor">#include "<a class="code" href="tess__face__priority__list_8h.html">3d/tess_face_priority_list.h</a>"</font>
+00047 <font class="preprocessor">#include "<a class="code" href="point__light__influence_8h.html">nel/3d/point_light_influence.h</a>"</font>
+00048
+00049 <font class="preprocessor">#include &lt;map&gt;</font>
+00050
+<a name="l00051"></a><a class="code" href="landscape_8h.html#a0">00051</a> <font class="preprocessor">#define NL_MAX_SIZE_OF_TEXTURE_EDGE_SHIFT (NL_MAX_TILES_BY_PATCH_EDGE_SHIFT+NL_NUM_PIXELS_ON_FAR_TILE_EDGE_SHIFT)</font>
+<a name="l00052"></a><a class="code" href="landscape_8h.html#a1">00052</a> <font class="preprocessor"></font><font class="preprocessor">#define NL_MAX_SIZE_OF_TEXTURE_EDGE (1&lt;&lt;NL_MAX_SIZE_OF_TEXTURE_EDGE_SHIFT) // Size max of a far texture edge in pixel</font>
+00053 <font class="preprocessor"></font>
+00054
+00055 <font class="keyword">namespace </font>NL3D
+00056 {
+00057
+00058
+00059 <font class="keyword">class </font>CHeightMap;
+00060 <font class="keyword">class </font>CTileNoiseMap;
+00061 <font class="keyword">class </font>CVegetableManager;
+00062 <font class="keyword">class </font>CVegetable;
+00063 <font class="keyword">class </font>CTileVegetableDesc;
+00064 <font class="keyword">class </font>CScene;
+00065 <font class="keyword">class </font>CTextureFar;
+00066 <font class="keyword">class </font>CTextureDLM;
+00067 <font class="keyword">class </font>CPatchDLMContextList;
+00068
+00069 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1Exception.html">NLMISC::Exception</a>;
+00070 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CTriangle.html">NLMISC::CTriangle</a>;
+00071 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CBlockMemory.html">NLMISC::CBlockMemory</a>;
+00072
+00073 <font class="comment">// ***************************************************************************</font>
+00074 <font class="comment">// The maximum amount of different tiles in world.</font>
+00075 <font class="keyword">const</font> sint <a class="code" href="namespaceNL3D.html#a66">NbTilesMax</a>= 65536;
+00076 <font class="comment">// Size of a CTextureNear. 256 by default (works everywhere).</font>
+00077 <font class="comment">// Texures must be square, because of uvscalebias...</font>
+00078 <font class="keyword">const</font> sint <a class="code" href="namespaceNL3D.html#a67">TextureNearSize</a>= 512;
+00079 <font class="keyword">const</font> sint <a class="code" href="namespaceNL3D.html#a68">NbTileLightMapByLine</a>= <a class="code" href="namespaceNL3D.html#a67">TextureNearSize</a>/<a class="code" href="texture__near_8h.html#a0">NL_TILE_LIGHTMAP_SIZE</a>;
+00080 <font class="keyword">const</font> sint <a class="code" href="namespaceNL3D.html#a69">NbTileLightMapByTexture</a>= <a class="code" href="namespaceNL3D.html#a68">NbTileLightMapByLine</a>*<a class="code" href="namespaceNL3D.html#a68">NbTileLightMapByLine</a>;
+00081
+00082
+00083
+00084 <font class="comment">// ***************************************************************************</font>
+<a name="l00091"></a><a class="code" href="structNL3D_1_1EBadBind.html">00091</a> <font class="comment"></font><font class="keyword">struct </font>EBadBind : <font class="keyword">public</font> Exception
+00092 {
+00093 <font class="keyword">private</font>:
+<a name="l00094"></a><a class="code" href="structNL3D_1_1EBadBind.html#o0">00094</a> <font class="keyword">mutable</font> std::string <a class="code" href="structNL3D_1_1EBadBind.html#o0">_Output</a>;
+00095
+00096 <font class="keyword">public</font>:
+<a name="l00097"></a><a class="code" href="structNL3D_1_1EBadBind_1_1CBindError.html">00097</a> <font class="keyword">struct </font>CBindError
+00098 {
+<a name="l00099"></a><a class="code" href="structNL3D_1_1EBadBind_1_1CBindError.html#a0">00099</a> <a class="code" href="structNL3D_1_1EBadBind_1_1CBindError.html#a0">CBindError</a>(sint <a class="code" href="driver__opengl__extension__def_8h.html#a366">z</a>, sint p) {<a class="code" href="structNL3D_1_1EBadBind_1_1CBindError.html#m0">ZoneId</a>= <a class="code" href="driver__opengl__extension__def_8h.html#a366">z</a>; <a class="code" href="structNL3D_1_1EBadBind_1_1CBindError.html#m1">PatchId</a>= p;}
+<a name="l00100"></a><a class="code" href="structNL3D_1_1EBadBind_1_1CBindError.html#m0">00100</a> sint <a class="code" href="structNL3D_1_1EBadBind_1_1CBindError.html#m0">ZoneId</a>;
+<a name="l00101"></a><a class="code" href="structNL3D_1_1EBadBind_1_1CBindError.html#m1">00101</a> sint <a class="code" href="structNL3D_1_1EBadBind_1_1CBindError.html#m1">PatchId</a>;
+00102 };
+00103
+00104
+00105 <font class="comment">// The result list of bind errors.</font>
+<a name="l00106"></a><a class="code" href="structNL3D_1_1EBadBind.html#m0">00106</a> <a class="code" href="classstd_1_1list.html">std::list&lt;CBindError&gt;</a> <a class="code" href="structNL3D_1_1EBadBind.html#m0">BindErrors</a>;
+00107
+00108 <font class="keyword">public</font>:
+<a name="l00109"></a><a class="code" href="structNL3D_1_1EBadBind.html#a0">00109</a> <a class="code" href="structNL3D_1_1EBadBind.html#a0">EBadBind</a>() {}
+<a name="l00110"></a><a class="code" href="structNL3D_1_1EBadBind.html#a1">00110</a> <a class="code" href="structNL3D_1_1EBadBind.html#a1">~EBadBind</a>() <font class="keywordflow">throw</font> () {}
+00111 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="structNL3D_1_1EBadBind.html#a2">what</a>() <font class="keyword">const</font> <font class="keywordflow">throw</font>();
+00112
+00113 };
+00114
+00115
+00116
+00117 <font class="comment">// ***************************************************************************</font>
+<a name="l00138"></a><a class="code" href="classNL3D_1_1CLandscape.html">00138</a> <font class="comment"></font><font class="keyword">class </font>CLandscape : <font class="keyword">public</font> NLMISC::CRefCount
+00139 {
+00140 <font class="keyword">public</font>:
+00141 <font class="comment">// The bank of tiles information.</font>
+<a name="l00142"></a><a class="code" href="classNL3D_1_1CLandscape.html#m0">00142</a> CTileBank <a class="code" href="classNL3D_1_1CLandscape.html#m0">TileBank</a>;
+<a name="l00143"></a><a class="code" href="classNL3D_1_1CLandscape.html#m1">00143</a> CTileFarBank <a class="code" href="classNL3D_1_1CLandscape.html#m1">TileFarBank</a>;
+00144
+00145 <font class="keyword">public</font>:
+00146
+00148 <a class="code" href="classNL3D_1_1CLandscape.html#a0">CLandscape</a>();
+00150 <a class="code" href="classNL3D_1_1CLandscape.html#a1">~CLandscape</a>();
+00151
+00152
+00154 <font class="comment">// @{</font>
+00156 <font class="comment"> void init();</font>
+00157
+00163 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z477_1">addZone</a>(<font class="keyword">const</font> <a class="code" href="classNL3D_1_1CLandscape.html#l2">CZone</a> &amp;newZone);
+00164
+00170 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z477_2">removeZone</a>(uint16 zoneId);
+00171
+00173 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z477_3">clear</a>();
+00174
+00176 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z477_4">checkBinds</a>() <font class="keywordflow">throw</font>(EBadBind);
+00178 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z477_4">checkBinds</a>(uint16 zoneId) <font class="keywordflow">throw</font>(EBadBind);
+00179
+00185 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z477_6">initTileBanks</a> ();
+00186 <font class="comment">// @}</font>
+00187
+00188
+00190 <font class="comment">// @{</font>
+00192 <font class="comment"> void setTileNear (float tileNear);</font>
+<a name="l00194"></a><a class="code" href="classNL3D_1_1CLandscape.html#z478_1">00194</a> <font class="comment"> float getTileNear () const {return _TileDistNear;}</font>
+00196 <font class="comment"> void setThreshold (float thre);</font>
+<a name="l00198"></a><a class="code" href="classNL3D_1_1CLandscape.html#z478_3">00198</a> <font class="comment"> float getThreshold () const {return _Threshold;}</font>
+<a name="l00199"></a><a class="code" href="classNL3D_1_1CLandscape.html#z478_4">00199</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z478_4">setRefineMode</a>(<font class="keywordtype">bool</font> enabled) {<a class="code" href="classNL3D_1_1CLandscape.html#o3">_RefineMode</a>= enabled;}
+<a name="l00200"></a><a class="code" href="classNL3D_1_1CLandscape.html#z478_5">00200</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z478_5">getRefineMode</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CLandscape.html#o3">_RefineMode</a>;}
+00202 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z478_6">setTileMaxSubdivision</a> (uint tileDiv);
+00204 uint <a class="code" href="classNL3D_1_1CLandscape.html#z478_7">getTileMaxSubdivision</a> ();
+00205
+00207 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z478_8">setNoiseMode</a>(<font class="keywordtype">bool</font> enabled);
+00208 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z478_9">getNoiseMode</a>() <font class="keyword">const</font>;
+00209
+00210 <font class="comment">// \todo yoyo: other landscape param setup (Transition etc...).</font>
+00211 <font class="comment">// Store it by landscape, and not only globally in CLandscapeGlobals statics.</font>
+00212 <font class="comment">// @}</font>
+00213
+00214
+00216 <font class="comment">// @{</font>
+00222 <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z479_0">setDriver</a>(IDriver *drv);
+00226 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z479_1">clip</a>(<font class="keyword">const</font> CVector &amp;refineCenter, <font class="keyword">const</font> std::vector&lt;CPlane&gt; &amp;pyramid);
+00229 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z479_2">refine</a>(<font class="keyword">const</font> CVector &amp;refineCenter);
+00236 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z479_3">render</a>(<font class="keyword">const</font> CVector &amp;refineCenter, <font class="keyword">const</font> CVector &amp;frontVector, <font class="keyword">const</font> CPlane pyramid[<a class="code" href="tess__block_8h.html#a0">NL3D_TESSBLOCK_NUM_CLIP_PLANE</a>], <font class="keywordtype">bool</font> doTileAddPass=<font class="keyword">false</font>);
+00237
+00239 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z479_4">refineAll</a>(<font class="keyword">const</font> CVector &amp;refineCenter);
+00241 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z479_5">excludePatchFromRefineAll</a>(sint zoneId, uint patch, <font class="keywordtype">bool</font> exclude);
+00242
+00243
+00248 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z479_6">averageTesselationVertices</a>();
+00249
+00250
+00251 <font class="comment">// @}</font>
+00252
+00253
+00255 <font class="comment">// @{</font>
+00263 <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z480_0">buildCollideFaces</a>(<font class="keyword">const</font> CAABBoxExt &amp;bbox, std::vector&lt;CTriangle&gt; &amp;faces, <font class="keywordtype">bool</font> faceSplit);
+00267 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z480_0">buildCollideFaces</a>(sint zoneId, sint patch, std::vector&lt;CTriangle&gt; &amp;faces);
+00268
+00276 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z480_2">buildTrianglesInBBox</a>(<font class="keyword">const</font> CAABBox &amp;bbox, std::vector&lt;CTrianglePatch&gt; &amp;triangles, uint8 tileTessLevel);
+00277
+00278
+00285 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z480_3">buildPatchBlocksInBBox</a>(<font class="keyword">const</font> CAABBox &amp;bbox, std::vector&lt;CPatchBlockIdent&gt; &amp;paBlockIds);
+00289 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z480_4">fillPatchQuadBlock</a>(CPatchQuadBlock &amp;quadBlock) <font class="keyword">const</font>;
+00290
+00291
+00295 CVector <a class="code" href="classNL3D_1_1CLandscape.html#z480_5">getTesselatedPos</a>(<font class="keyword">const</font> CPatchIdent &amp;patchId, <font class="keyword">const</font> CUV &amp;uv) <font class="keyword">const</font>;
+00296
+00297
+00301 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z480_6">getTessellationLeaves</a>(std::vector&lt;const CTessFace*&gt; &amp;leaves) <font class="keyword">const</font>;
+00302
+00303 <font class="comment">// @}</font>
+00304
+00305
+00306
+00308 <font class="comment">// @{</font>
+00314 <font class="comment"></font> <a class="code" href="classNL3D_1_1CLandscape.html#l2">CZone</a>* <a class="code" href="classNL3D_1_1CLandscape.html#z481_0">getZone</a> (sint zoneId);
+00320 <font class="keyword">const</font> <a class="code" href="classNL3D_1_1CLandscape.html#l2">CZone</a>* <a class="code" href="classNL3D_1_1CLandscape.html#z481_0">getZone</a> (sint zoneId) <font class="keyword">const</font>;
+00323 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z481_2">getZoneList</a>(std::vector&lt;uint16&gt; &amp;zoneIds) <font class="keyword">const</font>;
+00325 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z481_3">buildZoneName</a>(sint zoneId, std::string &amp;zoneName);
+00326 <font class="comment">// @}</font>
+00327
+00328
+00330 <font class="comment">// @{</font>
+00332 <font class="comment"> void flushTiles(IDriver *drv, uint16 tileStart, uint16 nbTiles);</font>
+00334 <font class="comment"> void releaseTiles(uint16 tileStart, uint16 nbTiles);</font>
+00335
+00337 <a class="code" href="classNLMISC_1_1CSmartPtr.html">NLMISC::CSmartPtr&lt;ITexture&gt;</a> <a class="code" href="classNL3D_1_1CLandscape.html#z482_2">getTileTexture</a>(uint16 tileId, CTile::TBitmap bitmapType, CVector &amp;uvScaleBias);
+00338
+00340 CTileElement *<a class="code" href="classNL3D_1_1CLandscape.html#z482_3">getTileElement</a>(<font class="keyword">const</font> CPatchIdent &amp;patchId, <font class="keyword">const</font> CUV &amp;uv);
+00341 <font class="comment">// @}</font>
+00342
+00344 <font class="comment">// @{</font>
+00352 <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z483_0">setupStaticLight</a> (<font class="keyword">const</font> CRGBA &amp;diffuse, <font class="keyword">const</font> CRGBA &amp;ambiant, <font class="keywordtype">float</font> multiply);
+<a name="l00358"></a><a class="code" href="classNL3D_1_1CLandscape.html#z483_1">00358</a> <font class="keyword">const</font> CRGBA* <a class="code" href="classNL3D_1_1CLandscape.html#z483_1">getStaticLight</a> ()<font class="keyword"> const</font>
+00359 <font class="keyword"> </font>{
+00360 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CLandscape.html#o17">_LightValue</a>;
+00361 }
+00362
+00363
+00368 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z483_2">setPointLightDiffuseMaterial</a>(CRGBA diffuse);
+<a name="l00372"></a><a class="code" href="classNL3D_1_1CLandscape.html#z483_3">00372</a> CRGBA <a class="code" href="classNL3D_1_1CLandscape.html#z483_3">getPointLightDiffuseMaterial</a> ()<font class="keyword"> const</font>
+00373 <font class="keyword"> </font>{
+00374 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CLandscape.html#z499_6">_PointLightDiffuseMaterial</a>;
+00375 }
+00376
+00377
+00383 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z483_4">enableAutomaticLighting</a>(<font class="keywordtype">bool</font> enable);
+00389 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z483_5">setupAutomaticLightDir</a>(<font class="keyword">const</font> CVector &amp;lightDir);
+<a name="l00391"></a><a class="code" href="classNL3D_1_1CLandscape.html#z483_6">00391</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z483_6">getAutomaticLighting</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CLandscape.html#o18">_AutomaticLighting</a>;}
+<a name="l00393"></a><a class="code" href="classNL3D_1_1CLandscape.html#z483_7">00393</a> <font class="keyword">const</font> CVector &amp;<a class="code" href="classNL3D_1_1CLandscape.html#z483_7">getAutomaticLightDir</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CLandscape.html#o19">_AutomaticLightDir</a>;}
+00394
+00395
+00398 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z483_8">removeAllPointLights</a>();
+00399
+00400
+00406 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z483_9">setPointLightFactor</a>(<font class="keyword">const</font> std::string &amp;lightGroupName, <a class="code" href="classNLMISC_1_1CRGBA.html">NLMISC::CRGBA</a> nFactor);
+00407
+00408
+00409 <font class="comment">// @}</font>
+00410
+00411
+00413 <font class="comment">// @{</font>
+00415 <font class="comment"> CVector getHeightFieldDeltaZ(float x, float y) const;</font>
+00421 <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z484_1">setHeightField</a>(<font class="keyword">const</font> CHeightMap &amp;hf);
+00422 <font class="comment">// @}</font>
+00423
+00424
+00426 <font class="comment">// @{</font>
+00427
+00431 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_0">createVegetableBlendLayersModels</a>(CScene *scene);
+00432
+00436 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_1">setVegetableTime</a>(<font class="keywordtype">double</font> time);
+00437
+00441 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_2">setVegetableUpdateLightingTime</a>(<font class="keywordtype">double</font> time);
+00442
+00443
+00447 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_3">enableVegetable</a>(<font class="keywordtype">bool</font> enable);
+00448
+00452 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_4">isVegetableActive</a>() <font class="keyword">const</font>;
+00453
+00456 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_5">loadVegetableTexture</a>(<font class="keyword">const</font> std::string &amp;textureFileName);
+00457
+00460 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_6">setupVegetableLighting</a>(<font class="keyword">const</font> CRGBA &amp;ambient, <font class="keyword">const</font> CRGBA &amp;diffuse, <font class="keyword">const</font> CVector &amp;directionalLight);
+00461
+00471 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_7">setVegetableWind</a>(<font class="keyword">const</font> CVector &amp;windDir, <font class="keywordtype">float</font> windFreq, <font class="keywordtype">float</font> windPower, <font class="keywordtype">float</font> windBendMin);
+00472
+00473
+00477 uint <a class="code" href="classNL3D_1_1CLandscape.html#z485_8">getNumVegetableFaceRendered</a>() <font class="keyword">const</font>;
+00478
+00479
+00484 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_9">setVegetableUpdateLightingFrequency</a>(<font class="keywordtype">float</font> freq);
+00485
+00486
+00495 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z485_10">setupColorsFromTileFlags</a>(<font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CRGBA.html">NLMISC::CRGBA</a> colors[4]);
+00496
+00497 <font class="comment">// @}</font>
+00498
+00499
+00501 <font class="comment">// @{</font>
+00502
+00504 uint8 <a class="code" href="classNL3D_1_1CLandscape.html#z486_0">getLumel</a>(<font class="keyword">const</font> CPatchIdent &amp;patchId, <font class="keyword">const</font> CUV &amp;uv) <font class="keyword">const</font>;
+00505
+00507 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z486_1">appendTileLightInfluences</a>(<font class="keyword">const</font> CPatchIdent &amp;patchId, <font class="keyword">const</font> CUV &amp;uv,
+00508 std::vector&lt;CPointLightInfluence&gt; &amp;pointLightList) <font class="keyword">const</font>;
+00509
+00510 <font class="comment">// @}</font>
+00511
+00512
+00514 <font class="comment">// @{</font>
+00515
+00523 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z487_0">setPZBModelPosition</a>(<font class="keyword">const</font> CVector &amp;pos);
+00524
+<a name="l00526"></a><a class="code" href="classNL3D_1_1CLandscape.html#z487_1">00526</a> <font class="keyword">const</font> CVector &amp;<a class="code" href="classNL3D_1_1CLandscape.html#z487_1">getPZBModelPosition</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CLandscape.html#z497_0">_PZBModelPosition</a>;}
+00527
+00528 <font class="comment">// @}</font>
+00529
+00530
+00532 <font class="comment">// @{</font>
+00533
+00537 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z488_0">updateLighting</a>(<font class="keywordtype">double</font> time);
+00538
+00543 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z488_1">setUpdateLightingFrequency</a>(<font class="keywordtype">float</font> freq);
+00544
+00548 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z488_2">updateLightingAll</a>();
+00549
+00550
+00551 <font class="comment">// @}</font>
+00552
+00553
+00555 <font class="comment">// @{</font>
+00556
+00560 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z489_0">computeDynamicLighting</a>(<font class="keyword">const</font> std::vector&lt;CPointLight*&gt; &amp;pls);
+00561
+00566 uint <a class="code" href="classNL3D_1_1CLandscape.html#z489_1">getDynamicLightingMemoryLoad</a>() <font class="keyword">const</font>;
+00567
+00571 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z489_2">setDynamicLightingMaxAttEnd</a>(<font class="keywordtype">float</font> maxAttEnd);
+00572
+<a name="l00575"></a><a class="code" href="classNL3D_1_1CLandscape.html#z489_3">00575</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CLandscape.html#z489_3">getDynamicLightingMaxAttEnd</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CLandscape.html#z499_4">_DLMMaxAttEnd</a>;}
+00576
+00580 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z489_4">setDLMGlobalVegetableColor</a>(CRGBA gvc);
+00581
+<a name="l00584"></a><a class="code" href="classNL3D_1_1CLandscape.html#z489_5">00584</a> CRGBA <a class="code" href="classNL3D_1_1CLandscape.html#z489_5">getDLMGlobalVegetableColor</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CLandscape.html#z499_5">_DLMGlobalVegetableColor</a>;}
+00585
+00586 <font class="comment">// @}</font>
+00587
+00588
+00589
+00590 <font class="comment">// ********************************</font>
+00591 <font class="keyword">private</font>:
+00592 <font class="comment">// Private part used by CTessFace / CPatch / CZone.</font>
+<a name="l00593"></a><a class="code" href="classNL3D_1_1CLandscape.html#l0">00593</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CLandscape.html#l0">CTessFace</a>;
+<a name="l00594"></a><a class="code" href="classNL3D_1_1CLandscape.html#l1">00594</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CLandscape.html#l1">CPatch</a>;
+<a name="l00595"></a><a class="code" href="classNL3D_1_1CLandscape.html#l2">00595</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CLandscape.html#l2">CZone</a>;
+00596
+00597
+00599 <font class="comment">// @{</font>
+00600
+<a name="l00601"></a><a class="code" href="classNL3D_1_1CLandscape.html#z490_12">00601</a> CBlockMemory&lt;CTessFace&gt; <a class="code" href="classNL3D_1_1CLandscape.html#z490_12">TessFaceAllocator</a>;
+<a name="l00602"></a><a class="code" href="classNL3D_1_1CLandscape.html#z490_13">00602</a> CBlockMemory&lt;CTessVertex&gt; <a class="code" href="classNL3D_1_1CLandscape.html#z490_13">TessVertexAllocator</a>;
+<a name="l00603"></a><a class="code" href="classNL3D_1_1CLandscape.html#z490_14">00603</a> CBlockMemory&lt;CTessNearVertex&gt; <a class="code" href="classNL3D_1_1CLandscape.html#z490_14">TessNearVertexAllocator</a>;
+<a name="l00604"></a><a class="code" href="classNL3D_1_1CLandscape.html#z490_15">00604</a> CBlockMemory&lt;CTessFarVertex&gt; <a class="code" href="classNL3D_1_1CLandscape.html#z490_15">TessFarVertexAllocator</a>;
+<a name="l00605"></a><a class="code" href="classNL3D_1_1CLandscape.html#z490_16">00605</a> CBlockMemory&lt;CTileMaterial&gt; <a class="code" href="classNL3D_1_1CLandscape.html#z490_16">TileMaterialAllocator</a>;
+<a name="l00606"></a><a class="code" href="classNL3D_1_1CLandscape.html#z490_17">00606</a> CBlockMemory&lt;CTileFace&gt; <a class="code" href="classNL3D_1_1CLandscape.html#z490_17">TileFaceAllocator</a>;
+00607
+00608 <a class="code" href="classNL3D_1_1CLandscape.html#l0">CTessFace</a> *<a class="code" href="classNL3D_1_1CLandscape.html#z490_0">newTessFace</a>();
+00609 CTessVertex *<a class="code" href="classNL3D_1_1CLandscape.html#z490_1">newTessVertex</a>();
+00610 CTessNearVertex *<a class="code" href="classNL3D_1_1CLandscape.html#z490_2">newTessNearVertex</a>();
+00611 CTessFarVertex *<a class="code" href="classNL3D_1_1CLandscape.html#z490_3">newTessFarVertex</a>();
+00612 CTileMaterial *<a class="code" href="classNL3D_1_1CLandscape.html#z490_4">newTileMaterial</a>();
+00613 CTileFace *<a class="code" href="classNL3D_1_1CLandscape.html#z490_5">newTileFace</a>();
+00614
+00615 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z490_6">deleteTessFace</a>(<a class="code" href="classNL3D_1_1CLandscape.html#l0">CTessFace</a> *f);
+00616 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z490_7">deleteTessVertex</a>(CTessVertex *<a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>);
+00617 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z490_8">deleteTessNearVertex</a>(CTessNearVertex *<a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>);
+00618 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z490_9">deleteTessFarVertex</a>(CTessFarVertex *<a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>);
+00619 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z490_10">deleteTileMaterial</a>(CTileMaterial *tm);
+00620 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z490_11">deleteTileFace</a>(CTileFace *tf);
+00621
+00622 <font class="comment">// Allocator of FaceVector for allocation of packed triangles indices.</font>
+<a name="l00623"></a><a class="code" href="classNL3D_1_1CLandscape.html#z490_18">00623</a> CLandscapeFaceVectorManager <a class="code" href="classNL3D_1_1CLandscape.html#z490_18">_FaceVectorManager</a>;
+00624 <font class="comment">// This is not a valid TessBlock. But it is used as a Root for modification list.</font>
+00625 <font class="comment">// Can't use a ptr, because of ~CTessBlock().</font>
+<a name="l00626"></a><a class="code" href="classNL3D_1_1CLandscape.html#z490_19">00626</a> CTessBlock <a class="code" href="classNL3D_1_1CLandscape.html#z490_19">_TessBlockModificationRoot</a>;
+00627 <font class="comment">// @}</font>
+00628
+00629
+00630 <font class="comment">// Return the render pass for a far texture here.</font>
+00631 CPatchRdrPass *<a class="code" href="classNL3D_1_1CLandscape.html#c0">getFarRenderPass</a>(<a class="code" href="classNL3D_1_1CLandscape.html#l1">CPatch</a>* pPatch, uint farIndex, <font class="keywordtype">float</font>&amp; far1UScale, <font class="keywordtype">float</font>&amp; far1VScale, <font class="keywordtype">float</font>&amp; far1UBias, <font class="keywordtype">float</font>&amp; far1VBias, <font class="keywordtype">bool</font>&amp; bRot);
+00632 <font class="comment">// Free the render pass for a far texture here.</font>
+00633 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c1">freeFarRenderPass</a> (<a class="code" href="classNL3D_1_1CLandscape.html#l1">CPatch</a>* pPatch, CPatchRdrPass* pass, uint farIndex);
+00634 <font class="comment">// Return the render pass for a tile Id, and a patch Lightmap.</font>
+00635 CPatchRdrPass *<a class="code" href="classNL3D_1_1CLandscape.html#c2">getTileRenderPass</a>(uint16 tileId, <font class="keywordtype">bool</font> additiveRdrPass);
+00636 <font class="comment">// Return the UvScaleBias for a tile Id. uv.z has the scale info. uv.x has the BiasU, and uv.y has the BiasV.</font>
+00637 <font class="comment">// if bitmap type is CTile::alpha, Return also the additionla rot for alpha (else 0).</font>
+00638 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c3">getTileUvScaleBiasRot</a>(uint16 tileId, CTile::TBitmap bitmapType, CVector &amp;uvScaleBias, uint8 &amp;rotAlpha);
+00639
+00640 <font class="comment">// release Far render pass/reset Tile/Far render. Delete also VB, and FaceVectors</font>
+00641 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c4">resetRenderFarAndDeleteVBFV</a>();
+00643 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c5">forceMergeAtTileLevel</a>();
+00644
+00645 <font class="comment">// Update globals value to CTessFace, and lock Buffers if possible.</font>
+00646 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c6">updateGlobalsAndLockBuffers</a> (<font class="keyword">const</font> CVector &amp;refineCenter);
+00647 <font class="comment">// lockBuffers(), called by updateGlobalsAndLockBuffers().</font>
+00648 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c7">lockBuffers</a> ();
+00649 <font class="comment">// unlockBuffers. This is the END call for updateGlobalsAndLockBuffers().</font>
+00650 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c8">unlockBuffers</a> ();
+00651 <font class="comment">// special for ATI. called in render()</font>
+00652 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c9">synchronizeATIVBHards</a>();
+00653 <font class="comment">// update TheFaceVector for which the faces may have been modified during refine(), refineAll() etc....</font>
+00654 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c10">updateTessBlocksFaceVector</a>();
+00655
+00656
+00657 <font class="comment">// System: update UL links, and call _FarRdrPassSet.erase()</font>
+00658 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c11">eraseFarRenderPassFromSet</a> (CPatchRdrPass* pass);
+00659
+00660
+00661
+00662 <font class="keyword">private</font>:
+<a name="l00663"></a><a class="code" href="classNL3D_1_1CLandscape.html#o0">00663</a> <a class="code" href="namespaceNL3D.html#a312">TZoneMap</a> <a class="code" href="classNL3D_1_1CLandscape.html#o0">Zones</a>;
+00664
+00665 <font class="comment">// Parameters.</font>
+<a name="l00666"></a><a class="code" href="classNL3D_1_1CLandscape.html#o1">00666</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CLandscape.html#o1">_TileDistNear</a>;
+<a name="l00667"></a><a class="code" href="classNL3D_1_1CLandscape.html#o2">00667</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CLandscape.html#o2">_Threshold</a>;
+<a name="l00668"></a><a class="code" href="classNL3D_1_1CLandscape.html#o3">00668</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#o3">_RefineMode</a>;
+<a name="l00669"></a><a class="code" href="classNL3D_1_1CLandscape.html#o4">00669</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CLandscape.html#o4">_FarTransition</a>;
+<a name="l00670"></a><a class="code" href="classNL3D_1_1CLandscape.html#o5">00670</a> uint <a class="code" href="classNL3D_1_1CLandscape.html#o5">_TileMaxSubdivision</a>;
+00671 <font class="comment">// For VertexProgram. true if change has occured in threshold since the last render().</font>
+<a name="l00672"></a><a class="code" href="classNL3D_1_1CLandscape.html#o6">00672</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CLandscape.html#o6">_VPThresholdChange</a>;
+00673
+00675 <font class="comment">// @{</font>
+<a name="l00676"></a><a class="code" href="classNL3D_1_1CLandscape.html#z491_0">00676</a> CRefPtr&lt;IDriver&gt; <a class="code" href="classNL3D_1_1CLandscape.html#z491_0">_Driver</a>;
+<a name="l00677"></a><a class="code" href="classNL3D_1_1CLandscape.html#z491_1">00677</a> CLandscapeVBAllocator <a class="code" href="classNL3D_1_1CLandscape.html#z491_1">_Far0VB</a>;
+<a name="l00678"></a><a class="code" href="classNL3D_1_1CLandscape.html#z491_2">00678</a> CLandscapeVBAllocator <a class="code" href="classNL3D_1_1CLandscape.html#z491_2">_Far1VB</a>;
+<a name="l00679"></a><a class="code" href="classNL3D_1_1CLandscape.html#z491_3">00679</a> CLandscapeVBAllocator <a class="code" href="classNL3D_1_1CLandscape.html#z491_3">_TileVB</a>;
+00680 <font class="comment">// True if we can compute Geomorph and Alpha with VertexShader.</font>
+<a name="l00681"></a><a class="code" href="classNL3D_1_1CLandscape.html#z491_4">00681</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z491_4">_VertexShaderOk</a>;
+00682 <font class="comment">// For CZone::refreshTesselationGeometry().</font>
+<a name="l00683"></a><a class="code" href="classNL3D_1_1CLandscape.html#z491_5">00683</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z491_5">_RenderMustRefillVB</a>;
+00684 <font class="comment">// @}</font>
+00685
+00686
+00687 <font class="comment">// Tiles Types.</font>
+00688 <font class="comment">//=============</font>
+00689 <font class="comment">// Texture Map. Use a RefPtr because TileTextureMap must not reference the object, but the ptr.</font>
+<a name="l00690"></a><a class="code" href="classNL3D_1_1CLandscape.html#u0">00690</a> <font class="keyword">typedef</font> <a class="code" href="classNLMISC_1_1CRefPtr.html">NLMISC::CRefPtr&lt;ITexture&gt;</a> <a class="code" href="classNLMISC_1_1CRefPtr.html">RPTexture</a>;
+<a name="l00691"></a><a class="code" href="classNL3D_1_1CLandscape.html#u1">00691</a> <font class="keyword">typedef</font> std::map&lt;std::string, RPTexture&gt; <a class="code" href="classNL3D_1_1CLandscape.html#u1">TTileTextureMap</a>;
+<a name="l00692"></a><a class="code" href="classNL3D_1_1CLandscape.html#u2">00692</a> <font class="keyword">typedef</font> TTileTextureMap::iterator <a class="code" href="classNL3D_1_1CLandscape.html#u2">ItTileTextureMap</a>;
+00693 <font class="comment">// RdrPass Set.</font>
+<a name="l00694"></a><a class="code" href="classNL3D_1_1CLandscape.html#u3">00694</a> <font class="keyword">typedef</font> std::set&lt;CPatchRdrPass&gt; <a class="code" href="classNL3D_1_1CLandscape.html#u3">TTileRdrPassSet</a>;
+<a name="l00695"></a><a class="code" href="classNL3D_1_1CLandscape.html#u4">00695</a> <font class="keyword">typedef</font> TTileRdrPassSet::iterator <a class="code" href="classNL3D_1_1CLandscape.html#u4">ItTileRdrPassSet</a>;
+<a name="l00696"></a><a class="code" href="classNL3D_1_1CLandscape.html#u5">00696</a> <font class="keyword">typedef</font> <a class="code" href="classNLMISC_1_1CSmartPtr.html">NLMISC::CSmartPtr&lt;CPatchRdrPass&gt;</a> <a class="code" href="classNLMISC_1_1CSmartPtr.html">TSPRenderPass</a>;
+00697
+00698 <font class="comment">// The additional realtime structure for a tile.</font>
+<a name="l00699"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html">00699</a> <font class="keyword">struct </font>CTileInfo
+00700 {
+00701 <font class="comment">// NB: CSmartPtr are not used for simplicity, and because of TTileRdrPassSet...</font>
+00702 <font class="comment">// CPatchRdrPass::RefCount are excplictly incremented/decremented...</font>
+00703 <font class="comment">// The rdrpass for diffuse+Alpha material.</font>
+<a name="l00704"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m0">00704</a> CPatchRdrPass *<a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m0">DiffuseRdrPass</a>;
+00705 <font class="comment">// The rdrpass for additive material (may be NULL if no additive part).</font>
+<a name="l00706"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m1">00706</a> CPatchRdrPass *<a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m1">AdditiveRdrPass</a>;
+00707 <font class="comment">// The scale/Bias to access those tiles in the big texture.</font>
+00708 <font class="comment">// uv.z has the scale info. uv.x has the BiasU, and uv.y has the BiasV.</font>
+00709 <font class="comment">// Manages the demi-texel on tile border too.</font>
+<a name="l00710"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m2">00710</a> CVector <a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m2">DiffuseUvScaleBias</a>;
+<a name="l00711"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m3">00711</a> CVector <a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m3">AlphaUvScaleBias</a>;
+<a name="l00712"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m4">00712</a> CVector <a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m4">AdditiveUvScaleBias</a>;
+00713 <font class="comment">// The additional rotation for this tile, in alpha.</font>
+<a name="l00714"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m5">00714</a> uint8 <a class="code" href="structNL3D_1_1CLandscape_1_1CTileInfo.html#m5">RotAlpha</a>;
+00715 };
+00716
+00717
+00718 <font class="comment">// Tiles Data.</font>
+00719 <font class="comment">//=============</font>
+00720 <font class="comment">// The map of tile texture loaded.</font>
+<a name="l00721"></a><a class="code" href="classNL3D_1_1CLandscape.html#o7">00721</a> <a class="code" href="classNL3D_1_1CLandscape.html#u1">TTileTextureMap</a> <a class="code" href="classNL3D_1_1CLandscape.html#o7">TileTextureMap</a>;
+00722 <font class="comment">// The set of tile Rdr Pass.</font>
+<a name="l00723"></a><a class="code" href="classNL3D_1_1CLandscape.html#o8">00723</a> <a class="code" href="classNL3D_1_1CLandscape.html#u3">TTileRdrPassSet</a> <a class="code" href="classNL3D_1_1CLandscape.html#o8">TileRdrPassSet</a>;
+00724 <font class="comment">// The parrallel array of tile of those existing in TileBank. size of NbTilesMax.</font>
+<a name="l00725"></a><a class="code" href="classNL3D_1_1CLandscape.html#o9">00725</a> std::vector&lt;CTileInfo*&gt; <a class="code" href="classNL3D_1_1CLandscape.html#o9">TileInfos</a>;
+00726 <font class="comment">// The Lightmap rdrpass for tiles.</font>
+00727 <font class="comment">// must have a vector of pointer, because of vector reallocation.</font>
+<a name="l00728"></a><a class="code" href="classNL3D_1_1CLandscape.html#o10">00728</a> std::vector&lt;TSPRenderPass&gt; <a class="code" href="classNL3D_1_1CLandscape.html#o10">_TextureNears</a>;
+<a name="l00729"></a><a class="code" href="classNL3D_1_1CLandscape.html#o11">00729</a> uint <a class="code" href="classNL3D_1_1CLandscape.html#o11">_NFreeLightMaps</a>;
+00730
+00731
+00732 <font class="comment">// The Tile material.</font>
+<a name="l00733"></a><a class="code" href="classNL3D_1_1CLandscape.html#o12">00733</a> CMaterial <a class="code" href="classNL3D_1_1CLandscape.html#o12">TileMaterial</a>;
+00734
+00735 <font class="comment">// The Far material.</font>
+<a name="l00736"></a><a class="code" href="classNL3D_1_1CLandscape.html#o13">00736</a> CMaterial <a class="code" href="classNL3D_1_1CLandscape.html#o13">FarMaterial</a>;
+00737
+00738
+00739 <font class="comment">// *** Far texture </font>
+00740
+00741 <font class="comment">// ** Some types</font>
+00742
+00743 <font class="comment">// The vector of set of far render pass</font>
+<a name="l00744"></a><a class="code" href="classNL3D_1_1CLandscape.html#u6">00744</a> <font class="keyword">typedef</font> std::set&lt;TSPRenderPass&gt; <a class="code" href="classNL3D_1_1CLandscape.html#u6">TSPRenderPassSet</a>;
+<a name="l00745"></a><a class="code" href="classNL3D_1_1CLandscape.html#u7">00745</a> <font class="keyword">typedef</font> TSPRenderPassSet::iterator <a class="code" href="classNL3D_1_1CLandscape.html#u7">ItSPRenderPassSet</a>;
+<a name="l00746"></a><a class="code" href="classNL3D_1_1CLandscape.html#u8">00746</a> <font class="keyword">typedef</font> std::vector&lt;TSPRenderPassSet&gt; <a class="code" href="classNL3D_1_1CLandscape.html#u8">TSPRdrPassSetVector</a>;
+<a name="l00747"></a><a class="code" href="classNL3D_1_1CLandscape.html#o14">00747</a> <a class="code" href="classNL3D_1_1CLandscape.html#u6">TSPRenderPassSet</a> <a class="code" href="classNL3D_1_1CLandscape.html#o14">_FarRdrPassSet</a>; <font class="comment">// Contain all the render pass not empty for pass0 and pass1</font>
+<a name="l00748"></a><a class="code" href="classNL3D_1_1CLandscape.html#o15">00748</a> <a class="code" href="classNL3D_1_1CLandscape.html#u8">TSPRdrPassSetVector</a> <a class="code" href="classNL3D_1_1CLandscape.html#o15">_FarRdrPassSetVectorFree</a>; <font class="comment">// Contain the render pass not filled yet sorted by size for pass0 and pass1</font>
+<a name="l00749"></a><a class="code" href="classNL3D_1_1CLandscape.html#o16">00749</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#o16">_FarInitialized</a>;
+00750
+00751 <font class="comment">// Used internaly by initTileBanks</font>
+00752 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#c12">eraseTileFarIfNotGood</a> (uint tileNumber, uint sizeOrder0, uint sizeOrder1, uint sizeOrder2);
+00753
+00754 <font class="comment">// ** Some private methods</font>
+00755 <font class="keyword">static</font> uint <a class="code" href="classNL3D_1_1CLandscape.html#f0">getRdrPassIndexWithSize</a> (uint <a class="code" href="driver__opengl__extension__def_8h.html#a389">width</a>, uint <a class="code" href="driver__opengl__extension__def_8h.html#a390">height</a>);
+00756 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c13">addPatch</a> ();
+00757 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c14">removePatch</a> ();
+00758
+00759
+00760 <font class="comment">// *** Lighting</font>
+<a name="l00761"></a><a class="code" href="classNL3D_1_1CLandscape.html#o17">00761</a> CRGBA <a class="code" href="classNL3D_1_1CLandscape.html#o17">_LightValue</a>[256];
+00762
+<a name="l00763"></a><a class="code" href="classNL3D_1_1CLandscape.html#o18">00763</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#o18">_AutomaticLighting</a>;
+<a name="l00764"></a><a class="code" href="classNL3D_1_1CLandscape.html#o19">00764</a> CVector <a class="code" href="classNL3D_1_1CLandscape.html#o19">_AutomaticLightDir</a>;
+00765
+00766 <font class="comment">// The map LightGroupName -&gt; Color.</font>
+<a name="l00767"></a><a class="code" href="classNL3D_1_1CLandscape.html#u9">00767</a> <font class="keyword">typedef</font> std::map&lt;std::string, NLMISC::CRGBA&gt; <a class="code" href="classNL3D_1_1CLandscape.html#u9">TLightGroupColorMap</a>;
+<a name="l00768"></a><a class="code" href="classNL3D_1_1CLandscape.html#u10">00768</a> <font class="keyword">typedef</font> TLightGroupColorMap::iterator <a class="code" href="classNL3D_1_1CLandscape.html#u10">ItLightGroupColorMap</a>;
+<a name="l00769"></a><a class="code" href="classNL3D_1_1CLandscape.html#o20">00769</a> <a class="code" href="classNL3D_1_1CLandscape.html#u9">TLightGroupColorMap</a> <a class="code" href="classNL3D_1_1CLandscape.html#o20">_LightGroupColorMap</a>;
+00770
+00771
+00772 <font class="keyword">private</font>:
+00773 <font class="comment">// Internal only. Force load of the tile (with TileBank).</font>
+00774 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c15">loadTile</a>(uint16 tileId);
+00775 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c16">releaseTile</a>(uint16 tileId);
+00776 ITexture *<a class="code" href="classNL3D_1_1CLandscape.html#c17">findTileTexture</a>(<font class="keyword">const</font> std::string &amp;textName);
+00777 CPatchRdrPass *<a class="code" href="classNL3D_1_1CLandscape.html#c18">findTileRdrPass</a>(<font class="keyword">const</font> CPatchRdrPass &amp;pass);
+00778
+00779 <font class="comment">// Tile LightMap mgt. NB: a lightmap is now a 2x2 tiles lightmap (10x10 pixels).</font>
+00780 <font class="comment">// @{</font>
+00781 <font class="comment">// Compute and get a lightmapId/lightmap renderpass.</font>
+00782 <font class="comment">// lightmap returned is to be uses with getTileRenderPass(). The id returned must be stored.</font>
+00783 uint <a class="code" href="classNL3D_1_1CLandscape.html#z492_0">getTileLightMap</a>(CRGBA map[<a class="code" href="texture__near_8h.html#a0">NL_TILE_LIGHTMAP_SIZE</a>*<a class="code" href="texture__near_8h.html#a0">NL_TILE_LIGHTMAP_SIZE</a>], CPatchRdrPass *&amp;lightmapRdrPass);
+00784 <font class="comment">// tileLightMapId must be the id returned by getTileLightMap().</font>
+00785 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z492_1">getTileLightMapUvInfo</a>(uint tileLightMapId, CVector &amp;uvScaleBias);
+00786 <font class="comment">// tileLightMapId must be the id returned by getTileLightMap().</font>
+00787 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z492_2">releaseTileLightMap</a>(uint tileLightMapId);
+00788
+00789 <font class="comment">// refill a lightmap already computed. tileLightMapId must be the id returned by getTileLightMap().</font>
+00790 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z492_3">refillTileLightMap</a>(uint tileLightMapId, CRGBA map[<a class="code" href="texture__near_8h.html#a0">NL_TILE_LIGHTMAP_SIZE</a>*<a class="code" href="texture__near_8h.html#a0">NL_TILE_LIGHTMAP_SIZE</a>]);
+00791
+00792 <font class="comment">// @}</font>
+00793
+00794
+00795 <font class="comment">// check a zone, adding error to exception.</font>
+00796 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#c19">checkZoneBinds</a>(<a class="code" href="classNL3D_1_1CLandscape.html#l2">CZone</a> &amp;curZone, EBadBind &amp;bindError);
+00797
+00798
+<a name="l00802"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CBezierPatchZ.html">00802</a> <font class="keyword">struct </font>CBezierPatchZ
+00803 {
+<a name="l00805"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CBezierPatchZ.html#m0">00805</a> <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CLandscape_1_1CBezierPatchZ.html#m0">Vertices</a>[4];
+<a name="l00807"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CBezierPatchZ.html#m1">00807</a> <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CLandscape_1_1CBezierPatchZ.html#m1">Tangents</a>[8];
+<a name="l00809"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CBezierPatchZ.html#m2">00809</a> <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CLandscape_1_1CBezierPatchZ.html#m2">Interiors</a>[4];
+00810
+00812 <font class="keywordtype">void</font> <a class="code" href="structNL3D_1_1CLandscape_1_1CBezierPatchZ.html#a0">makeInteriors</a>();
+00814 <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CLandscape_1_1CBezierPatchZ.html#a1">eval</a>(<font class="keywordtype">float</font> <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>, <font class="keywordtype">float</font> <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>) <font class="keyword">const</font>; <font class="comment">// s,t coordinates for quad.</font>
+00815 };
+00816
+00817
+00818 <font class="comment">// HeightFields.</font>
+<a name="l00819"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html">00819</a> <font class="keyword">struct </font>CHeightField
+00820 {
+<a name="l00821"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m0">00821</a> std::vector&lt;CBezierPatchZ&gt; <a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m0">ZPatchs</a>;
+00822
+<a name="l00824"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m2">00824</a> <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m1">OriginX</a>, <a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m2">OriginY</a>;
+<a name="l00826"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m4">00826</a> <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m3">SizeX</a>, <a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m4">SizeY</a>;
+<a name="l00827"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m6">00827</a> <font class="keywordtype">float</font> <a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m5">OOSizeX</a>, <a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m6">OOSizeY</a>;
+<a name="l00829"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m7">00829</a> uint <a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m7">Width</a>, <a class="code" href="structNL3D_1_1CLandscape_1_1CHeightField.html#m8">Height</a>;
+00830 };
+<a name="l00831"></a><a class="code" href="classNL3D_1_1CLandscape.html#o21">00831</a> CHeightField <a class="code" href="classNL3D_1_1CLandscape.html#o21">_HeightField</a>;
+00832
+00833
+00835 <font class="comment">// @{</font>
+00836
+00837 <font class="comment">// A CPatchIdent, with a ptr to the compiled CPatch </font>
+<a name="l00838"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CPatchIdentEx.html">00838</a> <font class="keyword">struct </font>CPatchIdentEx : <font class="keyword">public</font> CPatchIdent
+00839 {
+<a name="l00840"></a><a class="code" href="structNL3D_1_1CLandscape_1_1CPatchIdentEx.html#m0">00840</a> <font class="keyword">const</font> CPatch *<a class="code" href="structNL3D_1_1CLandscape_1_1CPatchIdentEx.html#m0">Patch</a>;
+00841 };
+00842
+<a name="l00844"></a><a class="code" href="classNL3D_1_1CLandscape.html#z493_2">00844</a> CQuadGrid&lt;CPatchIdentEx&gt; <a class="code" href="classNL3D_1_1CLandscape.html#z493_2">_PatchQuadGrid</a>;
+00845 <font class="keyword">static</font> <font class="keyword">const</font> uint <a class="code" href="classNL3D_1_1CLandscape.html#z493_3">_PatchQuadGridSize</a>;
+00846 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CLandscape.html#z493_4">_PatchQuadGridEltSize</a>;
+00847
+00854 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z493_0">addTrianglesInBBox</a>(<font class="keyword">const</font> CPatchIdentEx &amp;paIdEx, <font class="keyword">const</font> CAABBox &amp;bbox, std::vector&lt;CTrianglePatch&gt; &amp;triangles, uint8 tileTessLevel) <font class="keyword">const</font>;
+00855
+00858 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z493_1">addPatchBlocksInBBox</a>(<font class="keyword">const</font> CPatchIdentEx &amp;paIdEx, <font class="keyword">const</font> CAABBox &amp;bbox, std::vector&lt;CPatchBlockIdent&gt; &amp;paBlockIds);
+00859 <font class="comment">// @}</font>
+00860
+00861
+00863 <font class="comment">// @{</font>
+00864 <font class="comment">// guess.</font>
+<a name="l00865"></a><a class="code" href="classNL3D_1_1CLandscape.html#z494_0">00865</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z494_0">_NoiseEnabled</a>;
+00866 <font class="comment">// @}</font>
+00867
+00868
+00870 <font class="comment">// @{</font>
+<a name="l00872"></a><a class="code" href="classNL3D_1_1CLandscape.html#z495_0">00872</a> <font class="comment"> CTessFacePriorityList _SplitPriorityList;</font>
+<a name="l00874"></a><a class="code" href="classNL3D_1_1CLandscape.html#z495_1">00874</a> <font class="comment"> CTessFacePriorityList _MergePriorityList;</font>
+<a name="l00876"></a><a class="code" href="classNL3D_1_1CLandscape.html#z495_2">00876</a> <font class="comment"> CVector _OldRefineCenter;</font>
+<a name="l00877"></a><a class="code" href="classNL3D_1_1CLandscape.html#z495_3">00877</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z495_3">_OldRefineCenterSetuped</a>;
+<a name="l00879"></a><a class="code" href="classNL3D_1_1CLandscape.html#z495_4">00879</a> CTessFacePListNode <a class="code" href="classNL3D_1_1CLandscape.html#z495_4">_RootNewLeaves</a>;
+00880 <font class="comment">// @}</font>
+00881
+00882
+00884 <font class="comment">// @{</font>
+<a name="l00886"></a><a class="code" href="classNL3D_1_1CLandscape.html#z496_1">00886</a> <font class="comment"> CVegetableManager *_VegetableManager;</font>
+00887
+<a name="l00889"></a><a class="code" href="classNL3D_1_1CLandscape.html#z496_2">00889</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z496_2">_VegetableManagerEnabled</a>;
+<a name="l00891"></a><a class="code" href="classNL3D_1_1CLandscape.html#z496_3">00891</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z496_3">_DriverOkForVegetable</a>;
+00892
+<a name="l00894"></a><a class="code" href="classNL3D_1_1CLandscape.html#z496_4">00894</a> CTessList&lt;CLandscapeVegetableBlock&gt; <a class="code" href="classNL3D_1_1CLandscape.html#z496_4">_VegetableBlockList</a>;
+00895
+00899 <font class="keyword">const</font> CTileVegetableDesc &amp;<a class="code" href="classNL3D_1_1CLandscape.html#z496_0">getTileVegetableDesc</a>(uint16 tileId);
+00900
+00901 <font class="comment">// @}</font>
+00902
+00903
+00905 <font class="comment">// @{</font>
+<a name="l00907"></a><a class="code" href="classNL3D_1_1CLandscape.html#z497_0">00907</a> <font class="comment"> CVector _PZBModelPosition;</font>
+00908 <font class="comment">// @}</font>
+00909
+00910
+00912 <font class="comment">// @{</font>
+00913 <font class="comment">// Last update time.</font>
+<a name="l00914"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_4">00914</a> <font class="keywordtype">double</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_4">_ULPrecTime</a>;
+<a name="l00915"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_5">00915</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_5">_ULPrecTimeInit</a>;
+<a name="l00916"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_6">00916</a> <font class="keywordtype">double</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_6">_ULTime</a>;
+<a name="l00918"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_7">00918</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_7">_ULFrequency</a>;
+00919
+00920
+<a name="l00922"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_8">00922</a> sint <a class="code" href="classNL3D_1_1CLandscape.html#z498_8">_ULTotalFarPixels</a>;
+<a name="l00924"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_9">00924</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_9">_ULFarPixelsToUpdate</a>;
+<a name="l00926"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_10">00926</a> CTextureFar *<a class="code" href="classNL3D_1_1CLandscape.html#z498_10">_ULRootTextureFar</a>;
+<a name="l00928"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_11">00928</a> uint <a class="code" href="classNL3D_1_1CLandscape.html#z498_11">_ULFarCurrentPatchId</a>;
+00929
+00930
+<a name="l00932"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_12">00932</a> sint <a class="code" href="classNL3D_1_1CLandscape.html#z498_12">_ULTotalNearPixels</a>;
+<a name="l00934"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_13">00934</a> <font class="keywordtype">float</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_13">_ULNearPixelsToUpdate</a>;
+<a name="l00936"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_14">00936</a> <a class="code" href="classNL3D_1_1CLandscape.html#l1">CPatch</a> *<a class="code" href="classNL3D_1_1CLandscape.html#z498_14">_ULRootNearPatch</a>;
+<a name="l00938"></a><a class="code" href="classNL3D_1_1CLandscape.html#z498_15">00938</a> uint <a class="code" href="classNL3D_1_1CLandscape.html#z498_15">_ULNearCurrentTessBlockId</a>;
+00939
+00941 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_0">linkPatchToNearUL</a>(<a class="code" href="classNL3D_1_1CLandscape.html#l1">CPatch</a> *patch);
+00942 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_1">unlinkPatchFromNearUL</a>(<a class="code" href="classNL3D_1_1CLandscape.html#l1">CPatch</a> *patch);
+00943
+00944
+00946 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_2">updateLightingTextureFar</a>(<font class="keywordtype">float</font> ratio);
+00948 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z498_3">updateLightingTextureNear</a>(<font class="keywordtype">float</font> ratio);
+00949
+00950
+00951 <font class="comment">// @}</font>
+00952
+00953
+00955 <font class="comment">// @{</font>
+<a name="l00957"></a><a class="code" href="classNL3D_1_1CLandscape.html#z499_2">00957</a> <font class="comment"> NLMISC::CSmartPtr&lt;ITexture&gt; _TextureDLM;</font>
+<a name="l00959"></a><a class="code" href="classNL3D_1_1CLandscape.html#z499_0">00959</a> <font class="comment"> CTextureDLM *getTextureDLM() const {return (CTextureDLM*)(ITexture*)_TextureDLM;}</font>
+<a name="l00961"></a><a class="code" href="classNL3D_1_1CLandscape.html#z499_3">00961</a> <font class="comment"> CPatchDLMContextList *_PatchDLMContextList;</font>
+<a name="l00963"></a><a class="code" href="classNL3D_1_1CLandscape.html#z499_1">00963</a> <font class="comment"> CPatchDLMContextList *getPatchDLMContextList() const {return _PatchDLMContextList;}</font>
+<a name="l00965"></a><a class="code" href="classNL3D_1_1CLandscape.html#z499_4">00965</a> <font class="comment"> float _DLMMaxAttEnd;</font>
+00966
+<a name="l00968"></a><a class="code" href="classNL3D_1_1CLandscape.html#z499_5">00968</a> CRGBA <a class="code" href="classNL3D_1_1CLandscape.html#z499_5">_DLMGlobalVegetableColor</a>;
+00969
+<a name="l00971"></a><a class="code" href="classNL3D_1_1CLandscape.html#z499_6">00971</a> CRGBA <a class="code" href="classNL3D_1_1CLandscape.html#z499_6">_PointLightDiffuseMaterial</a>;
+00972
+00973 <font class="comment">// @}</font>
+00974
+00975 };
+00976
+00977
+00978
+00979 } <font class="comment">// NL3D</font>
+00980
+00981
+00982 <font class="preprocessor">#endif // NL_LANDSCAPE_H</font>
+00983 <font class="preprocessor"></font>
+00984 <font class="comment">/* End of landscape.h */</font>
+</pre></div>
+
+<!-- footer -->
+<BR><FONT Size=+5>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </FONT>
+</TD>
+<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD>
+</TR>
+</TABLE>
+</BODY>
+</HTML>