OBD:PLEA: Difference between revisions
Jump to navigation
Jump to search
m (what the?) |
(Cleanup) |
||
Line 12: | Line 12: | ||
{{OBDtr| 0x1C | int32 |00FFFF| 03 00 00 00 | 13554 | array size }} | {{OBDtr| 0x1C | int32 |00FFFF| 03 00 00 00 | 13554 | array size }} | ||
{{OBDtrBK}} | {{OBDtrBK}} | ||
{{OBDtr| 0x00 | float |FFC8C8| 00 00 00 00 | 0.000000 | | {{OBDtr| 0x00 | float |FFC8C8| 00 00 00 00 | 0.000000 | 'a' coefficient of the plane equation (x component of plane's normal) }} | ||
{{OBDtr| 0x04 | float |FFFFC8| 00 00 00 00 | 0.000000 | | {{OBDtr| 0x04 | float |FFFFC8| 00 00 00 00 | 0.000000 | 'b' coefficient of the plane equation (y component of plane's normal) }} | ||
{{OBDtr| 0x08 | float |C8FFC8| 00 00 80 3F | 1.000000 | | {{OBDtr| 0x08 | float |C8FFC8| 00 00 80 3F | 1.000000 | 'c' coefficient of the plane equation (z component of plane's normal) }} | ||
{{OBDtr| 0x0C | float |C8FFFF| 00 00 19 44 |612.000000| | {{OBDtr| 0x0C | float |C8FFFF| 00 00 19 44 |612.000000| 'd' coefficient of the plane equation }} | ||
|} | |} | ||
Line 23: | Line 23: | ||
::a * x + b * y + c * z + d = 0 | ::a * x + b * y + c * z + d = 0 | ||
:where (a, b, c, d) are 4 real numbers. The plane is the set of points (x, y, z) verifying that equation. | :where (a, b, c, d) are 4 real numbers. The plane is the set of points (x, y, z) verifying that equation. | ||
: | :The four floats in one of a PLEA's packages are exactly the (a, b, c, d) of the above definition. | ||
::In that case, the first package of the above example defines the plane (0 * x + 0 * y + 1 * z + 612 = 0), i.e., the vertical plane z = -612. | ::In that case, the first package of the above example defines the plane (0 * x + 0 * y + 1 * z + 612 = 0), i.e., the vertical plane z = -612. | ||
Planes are used for environment culling and collision detection. | |||
{{OBD_File_Footer | type=PLEA | prev=OTLF | next=PNTA | name=Plane Equation Array | family=Level}} | {{OBD_File_Footer | type=PLEA | prev=OTLF | next=PNTA | name=Plane Equation Array | family=Level}} |
Revision as of 19:39, 13 February 2008
|
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x00 | res_id | 01 41 02 00 | 577 | 00577-.PLEA |
0x04 | lev_id | 01 00 00 06 | 3 | level 3 |
0x08 | char[20] | AD DE | dead | unused |
0x1C | int32 | 03 00 00 00 | 13554 | array size |
First element (black outline) | ||||
0x00 | float | 00 00 00 00 | 0.000000 | 'a' coefficient of the plane equation (x component of plane's normal) |
0x04 | float | 00 00 00 00 | 0.000000 | 'b' coefficient of the plane equation (y component of plane's normal) |
0x08 | float | 00 00 80 3F | 1.000000 | 'c' coefficient of the plane equation (z component of plane's normal) |
0x0C | float | 00 00 19 44 | 612.000000 | 'd' coefficient of the plane equation |
- Plane equation
- The canonical equation for a plane in 3D is :
- a * x + b * y + c * z + d = 0
- where (a, b, c, d) are 4 real numbers. The plane is the set of points (x, y, z) verifying that equation.
- The four floats in one of a PLEA's packages are exactly the (a, b, c, d) of the above definition.
- In that case, the first package of the above example defines the plane (0 * x + 0 * y + 1 * z + 612 = 0), i.e., the vertical plane z = -612.
Planes are used for environment culling and collision detection.
ONI BINARY DATA |
---|
OTLF << Other file types >> PNTA |
PLEA : Plane Equation Array |
Level file |