SkinnedVerts Asset: Difference between revisions

From COD Engine Research
Created page with "__NOTOC__ Category:Assets Category:BO2 The skinnedverts asset is a new addition to Black Ops 2, as such there is not much known about it's purpose. It appears to be du..."
 
No edit summary
Line 25: Line 25:
   float binormalSign;
   float binormalSign;
   GfxColor color;
   GfxColor color;
#ifndef PS3
   PackedTexCoords texCoord;
   PackedTexCoords texCoord;
   PackedUnitVec normal;
   PackedUnitVec normal;
   PackedUnitVec tangent;
   PackedUnitVec tangent;
#endif
};
};
#ifdef PS3
struct GfxPackedVertexInfo
{
  PackedTexCoords texCoord;
  PackedUnitVec normal;
  PackedUnitVec tangent;
};
#endif


struct SkinnedVerts
struct SkinnedVerts
Line 35: Line 46:
   unsigned int vertCount;
   unsigned int vertCount;
   GfxPackedVertex * vertexArray1; //Count = vertCount
   GfxPackedVertex * vertexArray1; //Count = vertCount
#ifdef PS3
  GfxPackedVertexInfo *vertInfo1;
#endif
   GfxPackedVertex * vertexArray2; //Count = vertCount
   GfxPackedVertex * vertexArray2; //Count = vertCount
#ifdef PS3
  GfxPackedVertexInfo *vertInfo2;
#endif
};
};
</source>
</source>

Revision as of 16:56, 28 February 2014

The skinnedverts asset is a new addition to Black Ops 2, as such there is not much known about it's purpose. It appears to be dual GfxPackedVertex arrays. The specific points dumped into a 3D space do not appear to draw any shapes, which probably means they are buffers.

union GfxColor
{
  unsigned int packed;
  char array[4];
};

union PackedTexCoords
{
  unsigned int packed;
};

union PackedUnitVec
{
  unsigned int packed;
};

struct GfxPackedVertex
{
  float xyz[3];
  float binormalSign;
  GfxColor color;
#ifndef PS3
  PackedTexCoords texCoord;
  PackedUnitVec normal;
  PackedUnitVec tangent;
#endif
};

#ifdef PS3
struct GfxPackedVertexInfo
{
  PackedTexCoords texCoord;
  PackedUnitVec normal;
  PackedUnitVec tangent;
};
#endif

struct SkinnedVerts
{
  const char * name;
  unsigned int vertCount;
  GfxPackedVertex * vertexArray1; //Count = vertCount
#ifdef PS3
  GfxPackedVertexInfo *vertInfo1;
#endif
  GfxPackedVertex * vertexArray2; //Count = vertCount
#ifdef PS3
  GfxPackedVertexInfo *vertInfo2;
#endif
};