public Scene(Renderer renderer) { _renderer = renderer; _fieldObj = ObjData.LoadFromFile("Data/Models/cube.obj"); _boardboxObj = ObjData.LoadFromFile("Data/Models/boardbox.obj"); _pawnObj = ObjData.LoadFromFile("Data/Models/pawn.obj"); _activeCamera = new Camera(); _activeCamera.NearPlane = 0.1; _activeCamera.FarPlane = 200.0; _activeCamera.Position = VectorHelpers.Create(0, 10, -20); _activeCamera.LookAt = VectorHelpers.Create(0, 0, 0); _activeCamera.UpVector = VectorHelpers.Create(0, 1, 0); _secondaryCamera = new Camera(); _secondaryCamera.NearPlane = 0.1; _secondaryCamera.FarPlane = 200.0; _secondaryCamera.Position = VectorHelpers.Create(0, 5, -20); _secondaryCamera.LookAt = VectorHelpers.Create(0, 0, 0); _secondaryCamera.UpVector = VectorHelpers.Create(0, 1, 0); _renderer.Lights.Add(new PointLight { Position = VectorHelpers.Create(0, 10, -20), Color = Colors.White, }); //_renderer.Lights.Add(new PointLight //{ // Position = VectorHelpers.Create(-10, 1.5, 0), // Color = Colors.Blue, //}); //_renderer.Lights.Add(new PointLight //{ // Position = VectorHelpers.Create(0, 10, 0), // Color = Colors.White, //}); _materials = new List <Material>(); _materials.Add(new Material { AmbientColor = Colors.Black, DiffuseColor = Colors.Chartreuse, SpecularColor = Colors.Gray, DiffuseTexture = new WriteableBitmap(new BitmapImage(new Uri("Data/Textures/darkstone.png", UriKind.Relative))), ShineFactor = 128.0, }); _materials.Add(new Material { AmbientColor = Colors.Black, DiffuseColor = Colors.White, SpecularColor = Colors.Gray, ShineFactor = 1, }); _materials.Add(new Material { AmbientColor = Color.FromRgb(16, 16, 16), DiffuseColor = Colors.RosyBrown, SpecularColor = Colors.White, DiffuseTexture = new WriteableBitmap(new BitmapImage(new Uri("Data/Textures/wood.png", UriKind.Relative))), ShineFactor = 1.0, }); _materials.Add(new Material { AmbientColor = Colors.Black, DiffuseColor = Colors.DarkRed, SpecularColor = Colors.Yellow, ShineFactor = 64.0, }); }