Difference between revisions of "War Drum OpenGL Native Data"

From GTAMods Wiki
Jump to navigation Jump to search
(Created page with "This page describes the format of pre-instanced DFFs as used by the mobile GTA games. =Bin Mesh= The Bin Mesh's chunk format is almost the same...")
 
m (Redirected page to Native Data PLG (RW Section))
(Tag: New redirect)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This page describes the format of pre-instanced DFFs as used by the mobile GTA games.
+
#REDIRECT [[Native Data PLG (RW Section)]]
 
 
=Bin Mesh=
 
The [[Bin_Mesh_PLG_(RW_Section)|Bin Mesh]]'s chunk format is almost the same as in non-instanced DFFs. The only difference is that the indices are RwUInt16 (as used internally by RW) instead of RwUInt32.
 
 
 
=Native Data=
 
 
 
The Native Data has no child Struct like on the other platforms and not platform information.
 
 
 
4b - RwUInt32  - number of attributes
 
 
 
Next come the attribute descriptions:
 
 
 
4b - RwUInt32  - attribute index
 
4b - RwInt32    - type (0 = GL_FLOAT, 1 = GL_BYTE, 2 = GL_UNSIGNED_BYTE, 3 = GL_SHORT, 4 = GL_UNSIGNED_SHORT)
 
4b - RwBool    - isNormalized
 
4b - RwInt32    - size
 
4b - RwUInt32  - stride
 
4b - RwUInt32  - offset
 
 
 
Apart from the type, these can be directly passed to [https://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttribPointer.xml glVertexAttribPointer].
 
 
 
Next is the vertex data as described by the attribute descriptions.
 
Since the size of a vertex is given by the stride of the attribute descriptions, the size of the vertex data is <code>stride*geometry->numVertices</code>.
 
 
 
== Indices ==
 
 
 
Each vertex attribute in an OpenGL shader has an index. The indices used by hte mobile GTAs are the following:
 
 
 
0 - vertex position
 
1 - tex coord 0
 
2 - normal
 
3 - color
 
4 - vertex weights (only used with skinned geometry)
 
5 - bone indices (only used with skinned geometry)
 
6 - extra color (only used with SA's extra color plugin)
 

Latest revision as of 07:46, 13 September 2020