//public static readonly int SizeInBytes = (sizeof(float) * (3 + 4)); public ANSKVertexDeclaration(Vector3 pos, Vector2 uv, Vector3 normal, int4 indices, float4 weights, int boneCount) { Position = pos; Uv = uv; Normal = normal; Indices = indices; Weights = weights; BoneCount = boneCount; }
private float4 VertexToJointsWeights(int vertIndex, int4 ints) { float4 floats = new float4(); floats.Init(); for (int i = 0; i < ints.Count; i++) { floats.AddFloat(_joints[ints[i]].GetWeight(vertIndex)); } return floats; }
private int4 VertexToJointIndices(int vertIndex) { int4 ints = new int4(); ints.Init(); for (int i = 0; i < _joints.Count; i++) { if (_joints[i].IsIndicePartOfThisJoint(vertIndex)) ints.AddInt(i); } return ints; }