protected override void InitializeInner() { Camera = new CameraOrbit(45) { Alpha = 30.0f, Beta = 25.0f, NearZ = 0.1f, Radius = 5.5f, Target = Vector3.Zero }; Scene.Add(_box1 = new RenderableList { new TestingCube() }); _box2s = new RenderableList(null, Matrix.RotationX(90.5f) * Matrix.Translation(0.0f, 0.0f, 3.0f)) {new TestingCube()}; Scene.Add(_box2 = new RenderableList { new TestingCube(), _box2s }); Scene.Add(_box3 = new RenderableList { new TestingCube() }); Scene.Add(_box4 = new RenderableList { new TestingCube() }); }
protected override void InitializeInner() { base.InitializeInner(); _materialsProvider = new MaterialsProviderDeferred(); _texturesProvider = new TexturesProvider(); DeviceContextHolder.Set(_materialsProvider); DeviceContextHolder.Set(_texturesProvider); Scene.Add(SkyObject.Create(500f)); IRenderableObject mainNode = null; foreach (var kn5 in _kn5) { if (mainNode == null) { _carHelper.SetKn5(DeviceContextHolder); } else { _materialsProvider.SetKn5(kn5); _texturesProvider.SetKn5(kn5.OriginalFilename, kn5); } var node = Kn5Converter.Convert(kn5.RootNode, DeviceContextHolder); Scene.Add(node); if (mainNode != null) continue; node.IsReflectable = false; mainNode = node; } var asList = mainNode as Kn5RenderableList; if (asList != null) { Scene.AddRange(_carHelper.LoadAmbientShadows(asList, 0.001f)); _carHelper.AdjustPosition(asList); _carHelper.LoadMirrors(asList, DeviceContextHolder); LoadLights(asList); } Scene.UpdateBoundingBox(); Camera = new CameraOrbit(32) { Alpha = 0.9f, Beta = 0.1f, NearZ = 0.2f, FarZ = 500f, Radius = mainNode?.BoundingBox?.GetSize().Length() * 1.2f ?? 4.8f, Target = (mainNode?.BoundingBox?.GetCenter() ?? Vector3.Zero) - new Vector3(0f, 0.05f, 0f) }; _resetCamera = (CameraOrbit)Camera.Clone(); Sun = new DirectionalLight { Color = FixLight(new Vector3(1.2f, 1.0f, 0.9f)) * 5f, Direction = Vector3.Normalize(new Vector3(-1.2f, -3.4f, -2.2f)) }; _effect = DeviceContextHolder.GetEffect<EffectDeferredGObject>(); }