OBD:PLEA
Jump to navigation
Jump to search
|
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, collision detection and BSP.
- Note on plane references
- Planes are referenced by index from various other places. The high bit of a plane index is always used to indicate the direction of the plane's normal (or "which face of the plane is up"). That means that if the high bit is set all 4 float values need to be negated to get the referenced plane.
ONI BINARY DATA |
---|
OTLF << Other file types >> PNTA |
PLEA : Plane Equation Array |
Level file |