diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/landscape_8h-source.html | |
download | nevrax-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.html | 730 |
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> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </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> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </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> + + +<!-- 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> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.14 --> +<center> +<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <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> </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 <map></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<<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<CBindError></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> &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 &refineCenter, <font class="keyword">const</font> std::vector<CPlane> &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 &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 &refineCenter, <font class="keyword">const</font> CVector &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 &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 &bbox, std::vector<CTriangle> &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<CTriangle> &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 &bbox, std::vector<CTrianglePatch> &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 &bbox, std::vector<CPatchBlockIdent> &paBlockIds); +00289 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CLandscape.html#z480_4">fillPatchQuadBlock</a>(CPatchQuadBlock &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 &patchId, <font class="keyword">const</font> CUV &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<const CTessFace*> &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<uint16> &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 &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<ITexture></a> <a class="code" href="classNL3D_1_1CLandscape.html#z482_2">getTileTexture</a>(uint16 tileId, CTile::TBitmap bitmapType, CVector &uvScaleBias); +00338 +00340 CTileElement *<a class="code" href="classNL3D_1_1CLandscape.html#z482_3">getTileElement</a>(<font class="keyword">const</font> CPatchIdent &patchId, <font class="keyword">const</font> CUV &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 &diffuse, <font class="keyword">const</font> CRGBA &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 &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 &<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 &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 &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 &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 &ambient, <font class="keyword">const</font> CRGBA &diffuse, <font class="keyword">const</font> CVector &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 &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 &patchId, <font class="keyword">const</font> CUV &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 &patchId, <font class="keyword">const</font> CUV &uv, +00508 std::vector<CPointLightInfluence> &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 &pos); +00524 +<a name="l00526"></a><a class="code" href="classNL3D_1_1CLandscape.html#z487_1">00526</a> <font class="keyword">const</font> CVector &<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<CPointLight*> &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<CTessFace> <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<CTessVertex> <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<CTessNearVertex> <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<CTessFarVertex> <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<CTileMaterial> <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<CTileFace> <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>& far1UScale, <font class="keywordtype">float</font>& far1VScale, <font class="keywordtype">float</font>& far1UBias, <font class="keywordtype">float</font>& far1VBias, <font class="keywordtype">bool</font>& 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 &uvScaleBias, uint8 &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 &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<IDriver> <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<ITexture></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<std::string, RPTexture> <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<CPatchRdrPass> <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<CPatchRdrPass></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<CTileInfo*> <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<TSPRenderPass> <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<TSPRenderPass> <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<TSPRenderPassSet> <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 -> Color.</font> +<a name="l00767"></a><a class="code" href="classNL3D_1_1CLandscape.html#u9">00767</a> <font class="keyword">typedef</font> std::map<std::string, NLMISC::CRGBA> <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 &textName); +00777 CPatchRdrPass *<a class="code" href="classNL3D_1_1CLandscape.html#c18">findTileRdrPass</a>(<font class="keyword">const</font> CPatchRdrPass &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 *&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 &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> &curZone, EBadBind &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<CBezierPatchZ> <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<CPatchIdentEx> <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 &paIdEx, <font class="keyword">const</font> CAABBox &bbox, std::vector<CTrianglePatch> &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 &paIdEx, <font class="keyword">const</font> CAABBox &bbox, std::vector<CPatchBlockIdent> &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<CLandscapeVegetableBlock> <a class="code" href="classNL3D_1_1CLandscape.html#z496_4">_VegetableBlockList</a>; +00895 +00899 <font class="keyword">const</font> CTileVegetableDesc &<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<ITexture> _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> </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> |