public void Load(string filename)
{
_model = REngine.Instance._content.Load<Model>(filename);
Matrix = Matrix.CreateScale(1.0f);
Scaling = new Vector3(1f, 1f, 1f);
Matrix = BuildScalingMatrix(Matrix);
#if XBOX
_defaultEffect = REngine.Instance._resourceContent.Load<RShader>("Actor.Xbox");
#elif MACOSX
_defaultEffect = RShader.LoadEffectResource("Actor.ogl.mgfxo");
#else
_defaultEffect = RShader.LoadEffectResource("Actor.ogl.mgfxo");
#endif
_defaultEffect.effect.CurrentTechnique = _defaultEffect.effect.Techniques[0];
_sphere = _model.Meshes[0].BoundingSphere;
foreach (ModelMesh mesh in _model.Meshes)
{
_sphere = BoundingSphere.CreateMerged(_sphere, mesh.BoundingSphere);
for (int i = 0; i < mesh.MeshParts.Count; i++)
{
BasicEffect effect = (BasicEffect)mesh.MeshParts[i].Effect;
Texture t = effect.Texture;
mesh.MeshParts[i].Effect = _defaultEffect.effect.Clone();
mesh.MeshParts[i].Effect.Parameters["Texture"].SetValue(t);
}
}
_skinningData = _model.Tag as SkinningData;
_player = new AnimationPlayer(_skinningData);
_player.StartClip(_skinningData.AnimationIndexes[0], 1.0f);
_playing = true;
}