public MetaModel(MetaModel copy)
            : this()
        {
            if (copy.XMesh != null)
            {
                XMesh = (MetaResourceBase)copy.XMesh.Clone();
            }
            if (copy.Mesh != null)
            {
                Mesh = (MetaResource <Mesh9, Mesh10>)copy.Mesh.Clone();
            }
            if (copy.Texture != null)
            {
                Texture = (MetaResource <SlimDX.Direct3D9.Texture, SlimDX.Direct3D10.Texture2D>)
                          copy.Texture.Clone();
            }
            if (copy.SpecularTexture != null)
            {
                SpecularTexture = (MetaResource <SlimDX.Direct3D9.Texture, SlimDX.Direct3D10.Texture2D>)
                                  copy.SpecularTexture.Clone();
            }
            if (copy.SplatTexutre != null)
            {
                SplatTexutre = new MetaResource <SlimDX.Direct3D9.Texture, SlimDX.Direct3D10.Texture2D> [copy.SplatTexutre.Length];

                for (int i = 0; i < copy.SplatTexutre.Length; i++)
                {
                    SplatTexutre[i] = (MetaResource <SlimDX.Direct3D9.Texture, SlimDX.Direct3D10.Texture2D>)
                                      copy.SplatTexutre[i].Clone();
                }
            }

            if (copy.MaterialTexture != null)
            {
                MaterialTexture = new MetaResource <SlimDX.Direct3D9.Texture, SlimDX.Direct3D10.Texture2D> [copy.MaterialTexture.Length];

                for (int i = 0; i < copy.MaterialTexture.Length; i++)
                {
                    if (copy.MaterialTexture[i] != null)
                    {
                        MaterialTexture[i] = (MetaResource <SlimDX.Direct3D9.Texture, SlimDX.Direct3D10.Texture2D>)
                                             copy.MaterialTexture[i].Clone();
                    }
                }
            }

            if (copy.BaseTexture != null)
            {
                BaseTexture = (MetaResource <SlimDX.Direct3D9.Texture, SlimDX.Direct3D10.Texture2D>)copy.BaseTexture.Clone();
            }

            if (copy.SkinnedMesh != null)
            {
                SkinnedMesh = (MetaResource <SkinnedMesh>)copy.SkinnedMesh.Clone();
            }

            AlphaRef             = copy.AlphaRef;
            CastShadows          = copy.CastShadows;
            HasAlpha             = copy.HasAlpha;
            IsBillboard          = copy.IsBillboard;
            IsWater              = copy.IsWater;
            Opacity              = copy.Opacity;
            ReceivesAmbientLight = copy.ReceivesAmbientLight;
            ReceivesDiffuseLight = copy.ReceivesDiffuseLight;
            ReceivesSpecular     = copy.ReceivesSpecular;
            ReceivesShadows      = copy.ReceivesShadows;
            Animate              = copy.Animate;
            SplatMapped          = copy.SplatMapped;
            Visible              = copy.Visible;
            World               = copy.World;
            DontSort            = copy.DontSort;
            AxialDirection      = copy.AxialDirection;
            IsAxialBillboard    = copy.IsAxialBillboard;
            ReceivesFog         = copy.ReceivesFog;
            TextureAddress      = copy.TextureAddress;
            AmbientLight        = copy.AmbientLight;
            SpecularExponent    = copy.SpecularExponent;
            OverrideZBuffer     = copy.OverrideZBuffer;
            StoredFrameMatrices = copy.StoredFrameMatrices;
            OrientationRelation = copy.OrientationRelation;
        }
 public override void Release(MetaModel metaResource, ContentPool content, StructBoxer <BoundingBox> resource)
 {
 }