UCol

C++
struct UCol {
  union {
    uint32 dcolor;
    uint8 bcolor[4];
    struct {
      uint8 b, g, r, a;
    };
    struct {
      uint8 z, y, x, w;
    };
  };
  struct Vec3f16 : public CryHalf4 {
  };
  struct Vec2f16 : public CryHalf2 {
  };
  struct SVF_P3F_C4B_T2F {
    Vec3 xyz;
    UCol color;
    Vec2 st;
  };
  struct SVF_TP3F_C4B_T2F {
    Vec4 pos;
    UCol color;
    Vec2 st;
  };
  struct SVF_P3S_C4B_T2S {
    Vec3f16 xyz;
    UCol color;
    Vec2f16 st;
    struct SVF_P3F_C4B_T2S {
      Vec3 xyz;
      UCol color;
      Vec2f16 st;
    };
    struct SVF_P3S_N4B_C4B_T2S {
      Vec3f16 xyz;
      UCol normal;
      UCol color;
      Vec2f16 st;
    };
    struct SVF_P2S_N4B_C4B_T1F {
      CryHalf2 xy;
      UCol normal;
      UCol color;
      float z;
    };
    struct SVF_T2F {
      Vec2 st;
    };
    struct SVF_W4B_I4S {
      UCol weights;
      uint16 indices[4];
    };
    struct SVF_C4B_C4B {
      UCol coef0;
      UCol coef1;
    };
    struct SVF_P3F_P3F_I4B {
      Vec3 thin;
      Vec3 fat;
      UCol index;
    };
    struct SVF_P3F {
      Vec3 xyz;
    };
    struct SVF_P3F_T3F {
      Vec3 p;
      Vec3 st;
    };
    struct SVF_P3F_T2F_T3F {
      Vec3 p;
      Vec2 st0;
      Vec3 st1;
    };
    struct SVF_TP3F_T2F_T3F {
      Vec4 p;
      Vec2 st0;
      Vec3 st1;
    };
    struct SVF_P2F_T4F_C4F {
      Vec2 p;
      Vec4 st;
      Vec4 color;
    };
    struct SVF_P3F_C4B_I4B_PS4F {
      Vec3 xyz;
      Vec2 prevXaxis;
      Vec2 prevYaxis;
      UCol color;
      Vec3 prevPos;
      struct SpriteInfo {
        uint8 tex_x, tex_y, tex_z, backlight;
      } info;
      Vec2 xaxis;
      Vec2 yaxis;
    };
    struct SVF_P3F_C4B_T4B_N3F2 {
      Vec3 xyz;
      UCol color;
      UCol st;
      Vec3 xaxis;
      Vec3 yaxis;
    };
    struct SVF_C4B_T2S {
      UCol color;
      Vec2f16 st;
    };
    struct SPipTangents {
      Vec4sf Tangent;
      Vec4sf Binormal;
    };
    struct SQTangents {
      Vec4sf QTangent;
    };
    enum EStreamIDs {
      VSF_GENERAL,
      VSF_TANGENTS,
      VSF_QTANGENTS,
      VSF_HWSKIN_INFO,
      VSF_VELOCITY,
      VSF_NUM,
      VSF_MORPHBUDDY = 8,
      VSF_INSTANCED = 9,
      VSF_MORPHBUDDY_WEIGHTS = 15
    };
    enum EStreamMasks {
      VSM_GENERAL = 1<VSM_TANGENTS = ((1<VSM_HWSKIN = 1<VSM_VELOCITY = 1<VSM_MORPHBUDDY = 1<VSM_INSTANCED = 1<VSM_MASK = ((1 << VSF_NUM)-1)
    };
  };
};
File

VertexFormats.h

UCol::SVF_P3F_C4B_T2F Structure
C++
struct SVF_P3F_C4B_T2F {
  Vec3 xyz;
  UCol color;
  Vec2 st;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S Structure
C++
struct SVF_P3S_C4B_T2S {
  Vec3f16 xyz;
  UCol color;
  Vec2f16 st;
  struct SVF_P3F_C4B_T2S {
    Vec3 xyz;
    UCol color;
    Vec2f16 st;
  };
  struct SVF_P3S_N4B_C4B_T2S {
    Vec3f16 xyz;
    UCol normal;
    UCol color;
    Vec2f16 st;
  };
  struct SVF_P2S_N4B_C4B_T1F {
    CryHalf2 xy;
    UCol normal;
    UCol color;
    float z;
  };
  struct SVF_T2F {
    Vec2 st;
  };
  struct SVF_W4B_I4S {
    UCol weights;
    uint16 indices[4];
  };
  struct SVF_C4B_C4B {
    UCol coef0;
    UCol coef1;
  };
  struct SVF_P3F_P3F_I4B {
    Vec3 thin;
    Vec3 fat;
    UCol index;
  };
  struct SVF_P3F {
    Vec3 xyz;
  };
  struct SVF_P3F_T3F {
    Vec3 p;
    Vec3 st;
  };
  struct SVF_P3F_T2F_T3F {
    Vec3 p;
    Vec2 st0;
    Vec3 st1;
  };
  struct SVF_TP3F_T2F_T3F {
    Vec4 p;
    Vec2 st0;
    Vec3 st1;
  };
  struct SVF_P2F_T4F_C4F {
    Vec2 p;
    Vec4 st;
    Vec4 color;
  };
  struct SVF_P3F_C4B_I4B_PS4F {
    Vec3 xyz;
    Vec2 prevXaxis;
    Vec2 prevYaxis;
    UCol color;
    Vec3 prevPos;
    struct SpriteInfo {
      uint8 tex_x, tex_y, tex_z, backlight;
    } info;
    Vec2 xaxis;
    Vec2 yaxis;
  };
  struct SVF_P3F_C4B_T4B_N3F2 {
    Vec3 xyz;
    UCol color;
    UCol st;
    Vec3 xaxis;
    Vec3 yaxis;
  };
  struct SVF_C4B_T2S {
    UCol color;
    Vec2f16 st;
  };
  struct SPipTangents {
    Vec4sf Tangent;
    Vec4sf Binormal;
  };
  struct SQTangents {
    Vec4sf QTangent;
  };
  enum EStreamIDs {
    VSF_GENERAL,
    VSF_TANGENTS,
    VSF_QTANGENTS,
    VSF_HWSKIN_INFO,
    VSF_VELOCITY,
    VSF_NUM,
    VSF_MORPHBUDDY = 8,
    VSF_INSTANCED = 9,
    VSF_MORPHBUDDY_WEIGHTS = 15
  };
  enum EStreamMasks {
    VSM_GENERAL = 1<VSM_TANGENTS = ((1<VSM_HWSKIN = 1<VSM_VELOCITY = 1<VSM_MORPHBUDDY = 1<VSM_INSTANCED = 1<VSM_MASK = ((1 << VSF_NUM)-1)
  };
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::EStreamIDs Enumeration
C++
enum EStreamIDs {
  VSF_GENERAL,
  VSF_TANGENTS,
  VSF_QTANGENTS,
  VSF_HWSKIN_INFO,
  VSF_VELOCITY,
  VSF_NUM,
  VSF_MORPHBUDDY = 8,
  VSF_INSTANCED = 9,
  VSF_MORPHBUDDY_WEIGHTS = 15
};
File

VertexFormats.h

Members
Members
Description
VSF_GENERAL
General vertex buffer
VSF_TANGENTS
Tangents buffer
VSF_QTANGENTS
Tangents buffer
VSF_HWSKIN_INFO
HW skinning buffer
VSF_VELOCITY
Velocity buffer
VSF_NUM
Number of vertex streams
VSF_MORPHBUDDY = 8
Morphing (from m_pMorphBuddy)
VSF_INSTANCED = 9
Data is for instance stream
VSF_MORPHBUDDY_WEIGHTS = 15
Morphing weights
Description

Stream IDs

UCol::SVF_P3S_C4B_T2S::EStreamMasks Enumeration
C++
enum EStreamMasks {
  VSM_GENERAL = 1<VSM_TANGENTS = ((1<VSM_HWSKIN = 1<VSM_VELOCITY = 1<VSM_MORPHBUDDY = 1<VSM_INSTANCED = 1<VSM_MASK = ((1 << VSF_NUM)-1)
};
File

VertexFormats.h

Description

Stream Masks (Used during updating)

UCol::SVF_P3S_C4B_T2S::SPipTangents Structure
C++
struct SPipTangents {
  Vec4sf Tangent;
  Vec4sf Binormal;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SQTangents Structure
C++
struct SQTangents {
  Vec4sf QTangent;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_C4B_C4B Structure
C++
struct SVF_C4B_C4B {
  UCol coef0;
  UCol coef1;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_C4B_T2S Structure
C++
struct SVF_C4B_T2S {
  UCol color;
  Vec2f16 st;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P2F_T4F_C4F Structure
C++
struct SVF_P2F_T4F_C4F {
  Vec2 p;
  Vec4 st;
  Vec4 color;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P2S_N4B_C4B_T1F Structure
C++
struct SVF_P2S_N4B_C4B_T1F {
  CryHalf2 xy;
  UCol normal;
  UCol color;
  float z;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P3F Structure
C++
struct SVF_P3F {
  Vec3 xyz;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P3F_C4B_I4B_PS4F Structure
C++
struct SVF_P3F_C4B_I4B_PS4F {
  Vec3 xyz;
  Vec2 prevXaxis;
  Vec2 prevYaxis;
  UCol color;
  Vec3 prevPos;
  struct SpriteInfo {
    uint8 tex_x, tex_y, tex_z, backlight;
  } info;
  Vec2 xaxis;
  Vec2 yaxis;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P3F_C4B_I4B_PS4F::SpriteInfo Structure
C++
struct SpriteInfo {
  uint8 tex_x, tex_y, tex_z, backlight;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P3F_C4B_T2S Structure
C++
struct SVF_P3F_C4B_T2S {
  Vec3 xyz;
  UCol color;
  Vec2f16 st;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P3F_C4B_T4B_N3F2 Structure
C++
struct SVF_P3F_C4B_T4B_N3F2 {
  Vec3 xyz;
  UCol color;
  UCol st;
  Vec3 xaxis;
  Vec3 yaxis;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P3F_P3F_I4B Structure
C++
struct SVF_P3F_P3F_I4B {
  Vec3 thin;
  Vec3 fat;
  UCol index;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P3F_T2F_T3F Structure
C++
struct SVF_P3F_T2F_T3F {
  Vec3 p;
  Vec2 st0;
  Vec3 st1;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P3F_T3F Structure
C++
struct SVF_P3F_T3F {
  Vec3 p;
  Vec3 st;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_P3S_N4B_C4B_T2S Structure
C++
struct SVF_P3S_N4B_C4B_T2S {
  Vec3f16 xyz;
  UCol normal;
  UCol color;
  Vec2f16 st;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_T2F Structure
C++
struct SVF_T2F {
  Vec2 st;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_TP3F_T2F_T3F Structure
C++
struct SVF_TP3F_T2F_T3F {
  Vec4 p;
  Vec2 st0;
  Vec3 st1;
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::SVF_W4B_I4S Structure
C++
struct SVF_W4B_I4S {
  UCol weights;
  uint16 indices[4];
};
File

VertexFormats.h

UCol::SVF_P3S_C4B_T2S::color Data Member
C++
UCol color;
UCol::SVF_P3S_C4B_T2S::st Data Member
C++
UCol::SVF_P3S_C4B_T2S::xyz Data Member
C++
Vec3f16 xyz;
UCol::SVF_P3S_C4B_T2S::GetNormal Method (SPipTangents&)
C++
inline Vec3 GetNormal(const SPipTangents& tan2);
Description

Normal extraction from vertex formats

UCol::SVF_P3S_C4B_T2S::GetNormal Method (SQTangents&)
C++
inline Vec3 GetNormal(const SQTangents& qtan);
UCol::SVF_P3S_C4B_T2S::GetNormal Method (UCol)
C++
inline Vec3 GetNormal(UCol col);
UCol::SVF_P3S_C4B_T2S::tPackB2F Method (Vec4sf&)
C++
_inline Vec4 tPackB2F(const Vec4sf& v);
UCol::SVF_P3S_C4B_T2S::tPackB2F Method (Vec4sf&, Vec3&)
C++
_inline void tPackB2F(const Vec4sf& v, Vec3& vDst);
UCol::SVF_P3S_C4B_T2S::tPackB2F Method (Vec4sf&, Vec4&)
C++
_inline void tPackB2F(const Vec4sf& v, Vec4& vDst);
UCol::SVF_P3S_C4B_T2S::tPackB2F Method (int16f)
C++
_inline float tPackB2F(const int16f i);
UCol::SVF_P3S_C4B_T2S::tPackB2FScale Method (Vec4sf&, Vec3&, Vec3&)
C++
_inline void tPackB2FScale(const Vec4sf& v, Vec3& vDst, const Vec3& vScale);
UCol::SVF_P3S_C4B_T2S::tPackB2FScale Method (Vec4sf&, Vec4&, Vec3&)
C++
_inline void tPackB2FScale(const Vec4sf& v, Vec4& vDst, const Vec3& vScale);
UCol::SVF_P3S_C4B_T2S::tPackF2B Method
C++
_inline int16f tPackF2B(const float f);
Description

Tangent vectors packing

UCol::SVF_P3S_C4B_T2S::tPackF2Bv Method (Vec3&)
C++
_inline Vec4sf tPackF2Bv(const Vec3& v);
UCol::SVF_P3S_C4B_T2S::tPackF2Bv Method (Vec4&)
C++
_inline Vec4sf tPackF2Bv(const Vec4& v);
UCol::SVF_P3S_C4B_T2S::SAuxVertex Nested Type
C++
typedef SVF_P3F_C4B_T2F SAuxVertex;
UCol::SVF_TP3F_C4B_T2F Structure
C++
struct SVF_TP3F_C4B_T2F {
  Vec4 pos;
  UCol color;
  Vec2 st;
};
File

VertexFormats.h

UCol::Vec2f16 Structure
C++
struct Vec2f16 : public CryHalf2 {
};
File

VertexFormats.h

UCol::Vec2f16::[] Operator
C++
float operator [](int i) const;
UCol::Vec2f16::= Operator (Vec2&)
C++
Vec2f16& operator =(const Vec2& sl);
UCol::Vec2f16::= Operator (Vec2f16&)
C++
Vec2f16& operator =(const Vec2f16& sl);
UCol::Vec2f16::ToVec2 Method
C++
_inline Vec2 ToVec2() const;
UCol::Vec2f16::Vec2f16 Constructor ()
C++
_inline Vec2f16();
UCol::Vec2f16::Vec2f16 Constructor (f32, f32)
C++
_inline Vec2f16(f32 _x, f32 _y);
UCol::Vec3f16 Structure
C++
struct Vec3f16 : public CryHalf4 {
};
File

VertexFormats.h

UCol::Vec3f16::[] Operator
C++
float operator [](int i) const;
UCol::Vec3f16::= Operator (Vec3&)
C++
_inline Vec3f16& operator =(const Vec3& sl);
UCol::Vec3f16::= Operator (Vec4A&)
C++
_inline Vec3f16& operator =(const Vec4A& sl);
UCol::Vec3f16::ToVec3 Method
C++
_inline Vec3 ToVec3() const;
UCol::Vec3f16::Vec3f16 Constructor ()
C++
_inline Vec3f16();
UCol::Vec3f16::Vec3f16 Constructor (f32, f32, f32)
C++
_inline Vec3f16(f32 _x, f32 _y, f32 _z);