source: OGRE/trunk/ogrenew/Docs/api/html/structOgre_1_1BspLevel_1_1VisData.html @ 657

Revision 657, 7.3 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>Ogre::BspLevel::VisData struct Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>Ogre::BspLevel::VisData Struct Reference</h1>Internal lookup table to determine visibility between leaves. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgreBspLevel_8h-source.html">OgreBspLevel.h</a>&gt;</code>
14<p>
15<a href="structOgre_1_1BspLevel_1_1VisData-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
16<tr><td></td></tr>
17<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
18<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structOgre_1_1BspLevel_1_1VisData.html#Ogre_1_1BspLevel_1_1VisDatao0">tableData</a></td></tr>
19
20<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structOgre_1_1BspLevel_1_1VisData.html#Ogre_1_1BspLevel_1_1VisDatao1">numClusters</a></td></tr>
21
22<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structOgre_1_1BspLevel_1_1VisData.html#Ogre_1_1BspLevel_1_1VisDatao2">rowLength</a></td></tr>
23
24</table>
25<hr><a name="_details"></a><h2>Detailed Description</h2>
26Internal lookup table to determine visibility between leaves.
27<p>
28Leaf nodes are assigned to 'clusters' of nodes, which are used to group nodes together for visibility testing. This data holds a lookup table which is used to determine if one cluster of leaves is visible from another cluster. Whilst it would be possible to expand all this out so that each node had a list of pointers to other visible nodes, this would be very expensive in terms of storage (using the cluster method there is a table which is 1-bit squared per cluster, rounded up to the nearest byte obviously, which uses far less space than 4-bytes per linked node per source node). Of course the limitation here is that you have to each leaf in turn to determine if it is visible rather than just following a list, but since this is only done once per frame this is not such a big overhead. Each row in the table is a 'from' cluster, with each bit in the row corresponding to a 'to' cluster, both ordered based on cluster index. A 0 in the bit indicates the 'to' cluster is not visible from the 'from' cluster, whilst a 1 indicates it is. As many will notice, this is lifted directly from the Quake implementation of PVS.
29<p>
30
31<p>
32Definition at line <a class="el" href="OgreBspLevel_8h-source.html#l00175">175</a> of file <a class="el" href="OgreBspLevel_8h-source.html">OgreBspLevel.h</a>.<hr><h2>Member Data Documentation</h2>
33<a class="anchor" name="Ogre_1_1BspLevel_1_1VisDatao1" doxytag="Ogre::BspLevel::VisData::numClusters" ></a><p>
34<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
35  <tr>
36    <td class="mdRow">
37      <table cellpadding="0" cellspacing="0" border="0">
38        <tr>
39          <td class="md" nowrap valign="top"> int <a class="el" href="structOgre_1_1BspLevel_1_1VisData.html#Ogre_1_1BspLevel_1_1VisDatao1">Ogre::BspLevel::VisData::numClusters</a>
40      </table>
41    </td>
42  </tr>
43</table>
44<table cellspacing=5 cellpadding=0 border=0>
45  <tr>
46    <td>
47      &nbsp;
48    </td>
49    <td>
50
51<p>
52
53<p>
54Definition at line <a class="el" href="OgreBspLevel_8h-source.html#l00178">178</a> of file <a class="el" href="OgreBspLevel_8h-source.html">OgreBspLevel.h</a>.    </td>
55  </tr>
56</table>
57<a class="anchor" name="Ogre_1_1BspLevel_1_1VisDatao2" doxytag="Ogre::BspLevel::VisData::rowLength" ></a><p>
58<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
59  <tr>
60    <td class="mdRow">
61      <table cellpadding="0" cellspacing="0" border="0">
62        <tr>
63          <td class="md" nowrap valign="top"> int <a class="el" href="structOgre_1_1BspLevel_1_1VisData.html#Ogre_1_1BspLevel_1_1VisDatao2">Ogre::BspLevel::VisData::rowLength</a>
64      </table>
65    </td>
66  </tr>
67</table>
68<table cellspacing=5 cellpadding=0 border=0>
69  <tr>
70    <td>
71      &nbsp;
72    </td>
73    <td>
74
75<p>
76
77<p>
78Definition at line <a class="el" href="OgreBspLevel_8h-source.html#l00179">179</a> of file <a class="el" href="OgreBspLevel_8h-source.html">OgreBspLevel.h</a>.    </td>
79  </tr>
80</table>
81<a class="anchor" name="Ogre_1_1BspLevel_1_1VisDatao0" doxytag="Ogre::BspLevel::VisData::tableData" ></a><p>
82<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
83  <tr>
84    <td class="mdRow">
85      <table cellpadding="0" cellspacing="0" border="0">
86        <tr>
87          <td class="md" nowrap valign="top"> unsigned char* <a class="el" href="structOgre_1_1BspLevel_1_1VisData.html#Ogre_1_1BspLevel_1_1VisDatao0">Ogre::BspLevel::VisData::tableData</a>
88      </table>
89    </td>
90  </tr>
91</table>
92<table cellspacing=5 cellpadding=0 border=0>
93  <tr>
94    <td>
95      &nbsp;
96    </td>
97    <td>
98
99<p>
100
101<p>
102Definition at line <a class="el" href="OgreBspLevel_8h-source.html#l00177">177</a> of file <a class="el" href="OgreBspLevel_8h-source.html">OgreBspLevel.h</a>.    </td>
103  </tr>
104</table>
105<hr>The documentation for this struct was generated from the following file:<ul>
106<li><a class="el" href="OgreBspLevel_8h-source.html">OgreBspLevel.h</a></ul>
107<hr>
108<p>
109Copyright &copy; 2000-2005 by The OGRE Team<br />
110<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
111This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
112                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
113                <Work rdf:about="">
114                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
115        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
116                </Work>
117                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
118
119Last modified Sun Feb 12 13:05:18 2006
120</p>
121</body>
122</html>
Note: See TracBrowser for help on using the repository browser.