blob: 5c5de9ecf66f5fafd5988bbfa9aee4a7dabdd8f1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
using Unity.Mathematics;
using UnityEngine;
namespace NGS.MeshFusionPro;
public struct LightweightVertex
{
public float3 pos;
public sbyte normX;
public sbyte normY;
public sbyte normZ;
public sbyte normW;
public sbyte tanX;
public sbyte tanY;
public sbyte tanZ;
public sbyte tanW;
public half2 uv;
public half2 uv2;
public Vector3 Position
{
get
{
return pos;
}
set
{
pos = value;
}
}
public Vector3 Normal
{
get
{
return new Vector3((float)normX / 127f, (float)normY / 127f, (float)normZ / 127f);
}
set
{
normX = (sbyte)(value.x * 127f);
normY = (sbyte)(value.y * 127f);
normZ = (sbyte)(value.z * 127f);
normW = 1;
}
}
public Vector4 Tangent
{
get
{
return new Vector4((float)tanX / 127f, (float)tanY / 127f, (float)tanZ / 127f, (float)tanW / 127f);
}
set
{
tanX = (sbyte)(value.x * 127f);
tanY = (sbyte)(value.y * 127f);
tanZ = (sbyte)(value.z * 127f);
tanW = (sbyte)(value.w * 127f);
}
}
public Vector2 UV
{
get
{
return new Vector2(uv.x, uv.y);
}
set
{
uv = new half2((half)value.x, (half)value.y);
}
}
public Vector2 UV2
{
get
{
return new Vector2(uv2.x, uv2.y);
}
set
{
uv2 = new half2((half)value.x, (half)value.y);
}
}
}
|