5,389
edits
mNo edit summary |
m (typos) |
||
Line 25: | Line 25: | ||
;Intersected gunk quads | ;Intersected gunk quads | ||
:An octtree leaf (OTLF) stores its size and position and the gunk quads that intersect it. The first field contains an index/count pair that is used to access the first [[OBD:IDXA|IDXA]] field that is stored in the [[OBD:AKOT|AKOT]] that owns this leaf. This [[OBD:IDXA|IDXA]] contains the gunk quad numbers that intersect the leaf. In theory there can be at most 4096 gunk quads that intersect a leaf but in practice this number is much lower (max is 462). In addition the | :An octtree leaf (OTLF) stores its size and position and the gunk quads that intersect it. The first field contains an index/count pair that is used to access the first [[OBD:IDXA|IDXA]] field that is stored in the [[OBD:AKOT|AKOT]] that owns this leaf. This [[OBD:IDXA|IDXA]] contains the gunk quad numbers that intersect the leaf. In theory there can be at most 4096 gunk quads that intersect a leaf but in practice this number is much lower (max is 462). In addition the threshold limit used to build the octree seems to be 19 gunk quads per leaf. | ||
;Intersected BNVs | ;Intersected BNVs | ||
:An | :An octtree leaf can intersect some BNVs (see [[OBD:AKVA|AKVA]]). The last field contains the index and count of this list in the second [[OBD:IDXA|IDXA]] field of [[OBD:AKOT|AKOT]]. | ||
;Position and size | ;Position and size | ||
:The position (of leaf's positive corner) is stored as three 9 bit fields. These values are not the x, y and z coordinates | :The position (of leaf's positive corner) is stored as three 9 bit fields. These values are not the x, y and z coordinates themselves but they are indices into a constant table. This constant table has 512 entries starting with -4080.0 and going up to 4096.0 in 16 units increments. | ||
:The size of leaf is stored in a 5 bit field and it is and index into another constant table. This table has 9 entries starting with 16.0 and going up to 4096.0 (each entry is double the previous one). | :The size of leaf is stored in a 5 bit field and it is and index into another constant table. This table has 9 entries starting with 16.0 and going up to 4096.0 (each entry is double the previous one). | ||
:*Maximum environment size is (8192.0, 8192.0, 8192.0) | :*Maximum environment size is (8192.0, 8192.0, 8192.0) |