This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
rcpstructs [2018/05/02 16:30] trenavix [RSP Geometry Mode] |
rcpstructs [2018/10/01 05:58] David [Vertex Structure] Lowered some capitals in the description, also testing if this summary appears with the waluigi bot. Hi Hack64 discord! |
||
---|---|---|---|
Line 129: | Line 129: | ||
* <color #1df61d>__10:__</color> <color #00a2e8>G_BL_1:</color> Constant 1.0 value | * <color #1df61d>__10:__</color> <color #00a2e8>G_BL_1:</color> Constant 1.0 value | ||
* <color #1df61d>__11:__</color> <color #00a2e8>G_BL_0:</color> Constant 0.0 value | * <color #1df61d>__11:__</color> <color #00a2e8>G_BL_0:</color> Constant 0.0 value | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Vertex Structure ===== | ||
+ | |||
+ | Vertices are points in 3D space that are used in drawing triangles. This structure is the same no matter which graphics microcode you use. Each vertex takes up 16 bytes. | ||
+ | |||
+ | ''[<color red>XX XX</color>] [<color green>YY YY</color>] [<color cyan>ZZ ZZ</color>] [<color lightgray>FF FF</color>] [<color orange>UU UU</color>] [<color #AA88DD>VV VV</color>] [<color pink>XR</color>] [<color lightgreen>YG</color>] [<color lightblue>ZB</color>] [<color lightgray>AA</color>]'' | ||
+ | |||
+ | | <color red>XXXX</color> | short | Position on X axis | | ||
+ | | <color green>YYYY</color> | short | Position on Y axis | | ||
+ | | <color cyan>ZZZZ</color> | short | Position on Z axis | | ||
+ | | <color lightgray>FFFF</color> | ushort | Flag. Unknown usage, usually just 0000 | | ||
+ | | <color orange>UUUU</color> | short | Texture coordinate on the U axis | | ||
+ | | <color #AA88DD>VVVV</color> | short | Texture coordinate on the V axis | | ||
+ | | <color pink>XR</color> | byte or ubyte | X unit vector of normal or red color* | | ||
+ | | <color lightgreen>YG</color> | byte or ubyte | Y unit vector of normal or green color* | | ||
+ | | <color lightblue>ZB</color> | byte or ubyte | Z unit vector of normal or blue color* | | ||
+ | | <color lightgray>AA</color> | ubyte | Alpha (Transparency)<nowiki>**</nowiki> | | ||
+ | |||
+ | * You cannot use vertex colors and vertex lighting at the same time. Normals are used if the geometry mode ''G_LIGHTING'' bit is enabled, otherwise the RGB colors will be used instead. (see: [[rcpstructs#rsp_geometry_mode|RSP Geometry Mode]]) | ||
+ | |||
+ | <nowiki>**</nowiki> Vertex alpha cannot be used when fog is enabled. The vertex will use the fog alpha value instead. | ||
---- | ---- | ||