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) }; }; };
VertexFormats.h
struct SVF_P3F_C4B_T2F { Vec3 xyz; UCol color; Vec2 st; };
VertexFormats.h
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) }; };
VertexFormats.h
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 };
VertexFormats.h
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 |
Stream IDs
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) };
VertexFormats.h
Stream Masks (Used during updating)
VertexFormats.h
struct SQTangents { Vec4sf QTangent; };
VertexFormats.h
VertexFormats.h
VertexFormats.h
struct SVF_P2F_T4F_C4F { Vec2 p; Vec4 st; Vec4 color; };
VertexFormats.h
VertexFormats.h
struct SVF_P3F { Vec3 xyz; };
VertexFormats.h
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; };
VertexFormats.h
struct SpriteInfo { uint8 tex_x, tex_y, tex_z, backlight; };
VertexFormats.h
VertexFormats.h
VertexFormats.h
struct SVF_P3F_P3F_I4B { Vec3 thin; Vec3 fat; UCol index; };
VertexFormats.h
struct SVF_P3F_T2F_T3F { Vec3 p; Vec2 st0; Vec3 st1; };
VertexFormats.h
struct SVF_P3F_T3F { Vec3 p; Vec3 st; };
VertexFormats.h
VertexFormats.h
struct SVF_T2F { Vec2 st; };
VertexFormats.h
struct SVF_TP3F_T2F_T3F { Vec4 p; Vec2 st0; Vec3 st1; };
VertexFormats.h
struct SVF_W4B_I4S { UCol weights; uint16 indices[4]; };
VertexFormats.h
UCol color;
Vec2f16 st;
Vec3f16 xyz;
inline Vec3 GetNormal(const SPipTangents& tan2);
Normal extraction from vertex formats
inline Vec3 GetNormal(const SQTangents& qtan);
inline Vec3 GetNormal(UCol col);
_inline Vec4 tPackB2F(const Vec4sf& v);
_inline void tPackB2F(const Vec4sf& v, Vec3& vDst);
_inline void tPackB2F(const Vec4sf& v, Vec4& vDst);
_inline float tPackB2F(const int16f i);
_inline void tPackB2FScale(const Vec4sf& v, Vec3& vDst, const Vec3& vScale);
_inline void tPackB2FScale(const Vec4sf& v, Vec4& vDst, const Vec3& vScale);
_inline int16f tPackF2B(const float f);
Tangent vectors packing
_inline Vec4sf tPackF2Bv(const Vec3& v);
_inline Vec4sf tPackF2Bv(const Vec4& v);
typedef SVF_P3F_C4B_T2F SAuxVertex;
struct SVF_TP3F_C4B_T2F { Vec4 pos; UCol color; Vec2 st; };
VertexFormats.h
struct Vec2f16 : public CryHalf2 { };
VertexFormats.h
float operator [](int i) const;
Vec2f16& operator =(const Vec2& sl);
_inline Vec2 ToVec2() const;
_inline Vec2f16();
_inline Vec2f16(f32 _x, f32 _y);
struct Vec3f16 : public CryHalf4 { };
VertexFormats.h
float operator [](int i) const;
_inline Vec3f16& operator =(const Vec3& sl);
_inline Vec3f16& operator =(const Vec4A& sl);
_inline Vec3 ToVec3() const;
_inline Vec3f16();
_inline Vec3f16(f32 _x, f32 _y, f32 _z);