46 lines
840 B
C
46 lines
840 B
C
#pragma once
|
|
|
|
struct FFlatVertex // Note: this must always match the SurfaceVertex struct in shaders (std430 layout rules apply)
|
|
{
|
|
float x, z, y; // world position
|
|
float lindex; // lightmap texture index
|
|
float u, v; // texture coordinates
|
|
float lu, lv; // lightmap texture coordinates
|
|
|
|
void Set(float xx, float zz, float yy, float uu, float vv)
|
|
{
|
|
x = xx;
|
|
z = zz;
|
|
y = yy;
|
|
u = uu;
|
|
v = vv;
|
|
lindex = -1.0f;
|
|
}
|
|
|
|
void Set(float xx, float zz, float yy, float uu, float vv, float llu, float llv, float llindex)
|
|
{
|
|
x = xx;
|
|
z = zz;
|
|
y = yy;
|
|
lindex = llindex;
|
|
u = uu;
|
|
v = vv;
|
|
lu = llu;
|
|
lv = llv;
|
|
}
|
|
|
|
void SetVertex(float _x, float _y, float _z = 0)
|
|
{
|
|
x = _x;
|
|
z = _y;
|
|
y = _z;
|
|
}
|
|
|
|
void SetTexCoord(float _u = 0, float _v = 0)
|
|
{
|
|
u = _u;
|
|
v = _v;
|
|
}
|
|
|
|
FVector3 fPos() const { return FVector3(x, y, z); }
|
|
};
|