OBD:M3GM: Difference between revisions
Jump to navigation
Jump to search
m (image link) |
m (fixed typo) |
||
Line 7: | Line 7: | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr|0x00|res_id|FF0000|01 | {{OBDtr|0x00|res_id |FF0000|01 D7 00 00|215 | 00215-door_1_0.M3GM}} | ||
{{OBDtr|0x04|lev_id|FFFF00|01 00 00 | {{OBDtr|0x04|lev_id |FFFF00|01 00 00 06|3 | level 3}} | ||
{{OBDtr|0x08|int32 |FFC8C8|00 00 00 00 | {{OBDtr|0x08|int32 |FFC8C8|00 00 00 00|0 | unknown; maybe a runtime pointer?}} | ||
{{OBDtr|0x0C| | {{OBDtr|0x0C|link |FFFFC8|01 DA 00 00|218 | link to [[OBD:PNTA|00218-.PNTA]] (vertex XYZs) }} | ||
{{OBDtr|0x10| | {{OBDtr|0x10|link |FFFFC8|01 F7 00 00|247 | link to [[OBD:VCRA|00247-.VCRA]] (vertex normals) }} | ||
{{OBDtr|0x14| | {{OBDtr|0x14|link |FFFFC8|01 F0 00 00|240 | link to 00240-.[[OBD:VCRA|VCRA]] (face normals) }} | ||
{{OBDtr|0x18| | {{OBDtr|0x18|link |FFFFC8|01 ED 00 00|237 | link to [[OBD:TXCA|00237-.TXCA]] (vertex UVs) }} | ||
{{OBDtr|0x1C| | {{OBDtr|0x1C|link |FFFFC8|01 0C 01 00|268 | link to [[OBD:IDXA|00268-.IDXA]] (triangle strips) }} | ||
{{OBDtr|0x20| | {{OBDtr|0x20|link |FFFFC8|01 11 01 00|273 | link to 00273-.[[OBD:IDXA|IDXA]] (face groupings) }} | ||
{{OBDtr|0x24| | {{OBDtr|0x24|link |FFFFC8|01 D8 00 00|216 | link to 00216-.[[OBD:TXMP|TXMP]] (texture) }} | ||
{{OBDtr|0x28| | {{OBDtr|0x28|link |C8FFC8|00 00 00 00|unused| unused link; never used in Oni}} | ||
{{OBDtr|0x2C| | {{OBDtr|0x2C|char[20]|C8FFFF|AD DE |dead | unused}} | ||
|} | |} | ||
;Vertices | ;Vertices | ||
:XYZ and UV coordinates are stored in parallel (same number of entries in PNTA and TXCA). | :XYZ and UV coordinates are stored in parallel (same number of entries in PNTA and TXCA). | ||
Line 40: | Line 42: | ||
{{OBD_File_Footer | type=M3GM | prev=M3GA | next=Mtrl | name=Geometry | family=Generic | align=center}} | {{OBD_File_Footer | type=M3GM | prev=M3GA | next=Mtrl | name=Geometry | family=Generic | align=center}} |
Revision as of 19:09, 9 September 2007
|
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x00 | res_id | 01 D7 00 00 | 215 | 00215-door_1_0.M3GM |
0x04 | lev_id | 01 00 00 06 | 3 | level 3 |
0x08 | int32 | 00 00 00 00 | 0 | unknown; maybe a runtime pointer? |
0x0C | link | 01 DA 00 00 | 218 | link to 00218-.PNTA (vertex XYZs) |
0x10 | link | 01 F7 00 00 | 247 | link to 00247-.VCRA (vertex normals) |
0x14 | link | 01 F0 00 00 | 240 | link to 00240-.VCRA (face normals) |
0x18 | link | 01 ED 00 00 | 237 | link to 00237-.TXCA (vertex UVs) |
0x1C | link | 01 0C 01 00 | 268 | link to 00268-.IDXA (triangle strips) |
0x20 | link | 01 11 01 00 | 273 | link to 00273-.IDXA (face groupings) |
0x24 | link | 01 D8 00 00 | 216 | link to 00216-.TXMP (texture) |
0x28 | link | 00 00 00 00 | unused | unused link; never used in Oni |
0x2C | char[20] | AD DE | dead | unused |
- Vertices
- XYZ and UV coordinates are stored in parallel (same number of entries in PNTA and TXCA).
- Vertex normals
- The first VCRA stores the normals for every vertex (same entries as in PNTA and TXCA).
- Vertex normals are supposed to be used by Gouraud shading (directional lighting).
- The precomputed normals are apparently ignored by Oni, which generates its own...
- Face normals
- The second VCRA stores the normals for every face (groups defined by the second IDXA).
- Face normals may be used for env-mapping (but vertex normals could also work there).
- The precomputed face normals are apparently ignored by Oni too... didn't check much.
- Triangle strips
- The first IDXA lists the triangles as strips. The IDs are the ones in PNTA and IDXA.
- The start of a new strip is signaled by a high bit in the ID of its first vertex.
- Strips are more optimal for rendering, they are generated when authoring an M3GM.
- Face groupings
- The second IDXA groups the triangles into faces (oriented by the second VCRA).
- Even if the normals are computed at runtime, the group assignment might be used.
- (e.g., if a face normal is defined as the average of the normals of the triangles)
ONI BINARY DATA |
---|
M3GA << Other file types >> Mtrl |
M3GM : Geometry |
Generic file |