protected override void InitializeInner() {
base.InitializeInner();
MaterialsProvider = new MaterialsProviderSimple();
TexturesProvider = new TexturesProvider();
DeviceContextHolder.Set(MaterialsProvider);
DeviceContextHolder.Set(TexturesProvider);
CarHelper.SetKn5(DeviceContextHolder);
CarHelper.SkinTextureUpdated += (sender, args) => IsDirty = true;
var node = Kn5Converter.Convert(Kn5.RootNode, DeviceContextHolder);
Scene.Add(node);
CarNode = node as Kn5RenderableList;
if (CarNode != null) {
Scene.InsertRange(0, CarHelper.LoadAmbientShadows(CarNode, 0f));
CarHelper.AdjustPosition(CarNode);
CarHelper.LoadMirrors(CarNode, DeviceContextHolder);
_carLights = CarHelper.LoadLights(CarNode).ToList();
}
Scene.UpdateBoundingBox();
TrianglesCount = node.TrianglesCount;
ObjectsCount = node.ObjectsCount;
Camera = CreateCamera(node);
_resetCamera = (CameraOrbit)Camera.Clone();
if (_selectSkin != null) {
SelectSkin(_selectSkin);
_selectSkin = null;
}
}