public static Convert ( MeshVertex meshVertex ) : |
||
meshVertex | MeshVertex | |
return |
public static VertexColorTextureTBNSkinned Convert ( MeshVertex meshVertex )
{
VertexColorTextureTBNSkinned v;
v.Position = meshVertex.Position;
v.Tangent = MathUtil.ToHalf4( meshVertex.Tangent, 0 );
v.Binormal = MathUtil.ToHalf4( meshVertex.Binormal, 0 );
v.Normal = MathUtil.ToHalf4( meshVertex.Normal, 0 );
v.Color = meshVertex.Color0;
v.TexCoord = meshVertex.TexCoord0;
v.SkinIndices = meshVertex.SkinIndices;
v.SkinWeights = meshVertex.SkinWeights;
return v;
}
}
/// <summary> /// /// </summary> internal void CreateVertexAndIndexBuffers(GraphicsDevice device) { indexBuffer = IndexBuffer.Create(device, GetIndices()); bool skinned = false; foreach (var v in Vertices) { if (v.SkinIndices != Int4.Zero) { skinned = true; break; } } IsSkinned = skinned; if (skinned) { vertexBuffer = VertexBuffer.Create(device, Vertices.Select(v => VertexColorTextureTBNSkinned.Convert(v)).ToArray()); } else { vertexBuffer = VertexBuffer.Create(device, Vertices.Select(v => VertexColorTextureTBNRigid.Convert(v)).ToArray()); } }