protected AvatarBindingInstance AddBinding(Binding binding)
{
var content = FSO.Content.Content.Get();
var instance = new AvatarBindingInstance();
instance.Mesh = content.AvatarMeshes.Get(binding.MeshTypeID, binding.MeshFileID);
/*if (instance.Mesh != null)
{
//We make a copy so we can modify it, most of the variables
//are kept as pointers because we only change a few locals
//per sim, the rest are global
instance.Mesh = instance.Mesh.Clone();
}*/
if (binding.TextureFileID > 0 && binding.TextureFileID != 4992)
{
instance.Texture = content.AvatarTextures.Get(binding.TextureTypeID, binding.TextureFileID);
}
instance.Mesh.Prepare(Skeleton.RootBone);
if (GPUMode)
{
instance.Mesh.StoreOnGPU(GPUDevice);
}
Bindings.Add(instance);
return instance;
}