public ParticleSystem(TransparentObjectManager manager) { this.transparentObjectManager = manager; this.VisibleChanged += new EventHandler(ParticleSystem_VisibleChanged); mesh = new SquareMesh(0.2f, 1, 1, 1.0f); Initialize(); }
/// <summary> /// This event will be fired immediately after the Direct3D device has been /// created, which will happen during application initialization and windowed/full screen /// toggles. This is the best location to create Pool.Managed resources since these /// resources need to be reloaded whenever the device is destroyed. Resources created /// here should be released in the Disposing event. /// </summary> private void OnCreateDevice(object sender, DeviceEventArgs e) { // Initialize the stats font //statsFont = ResourceCache.GetGlobalInstance().CreateFont(e.Device, 15, 0, FontWeight.Bold, 1, false, CharacterSet.Default, // Precision.Default, FontQuality.Default, PitchAndFamily.FamilyDoNotCare | PitchAndFamily.DefaultPitch // , "Arial"); System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); SoundManager.Initialize(Framework.Instance.Window); inputManager = new Bonsai.Input.InputManager(Framework.Instance.Window); transparentObjectManager = new TransparentObjectManager(); weather = new Weather(this); //modelControl = new ModelControl("Data/cessna/cessna.par"); modelControl = new ModelControl(); rotationAxisMesh = new LineMesh(); sky = new GameObject(); DomeMesh skyDome = new DomeMesh(5000, 10, 16); skyDome.Texture = new Bonsai.Objects.Textures.TextureBase("data\\sky2.JPG"); sky.Position = new Vector3(0, -5f, 0); sky.Mesh = skyDome; scenery = new GameObject(); SquareMesh sceneryMesh = new SquareMesh(5000, 10, 10, 1000f); sceneryMesh.Texture = new Bonsai.Objects.Textures.TextureBase("data\\scenery\\default\\grass1.jpg"); scenery.Mesh = sceneryMesh; scenery.Position = new Vector3(0, -5f, 0); scenery.RotateXAngle = (float)Math.PI / 2; cameraEditor = new CameraBase("ObserverCamera"); cameraEditor.Near = 0.05f; cameraPilot = new ObserverCamera("PilotCamera", modelControl.AirplaneModel); cameraPilot.LookFrom = new Vector3(5f, -3.3f, 5f); //camera.LookAt = modelControl.AirplaneModel.Position; //camera.LookFrom = modelControl.AirplaneModel.Position + new Vector3(cameraDistance, 0f, 0f); //camera.AutoZoom = true; cameraEditor.AspectRatio = (float)(e.BackBufferDescription.Width) / e.BackBufferDescription.Height; cameraPilot.AspectRatio = (float)(e.BackBufferDescription.Width) / e.BackBufferDescription.Height; Framework.Instance.CurrentCamera = cameraEditor; sun = new DirectionalLight(new Vector3(-0.5f, -0.707f, 0.5f)); sun.Color = System.Drawing.Color.FromArgb(148, 148, 148); collisionPoints = new CollisionPoints(); cursor3d = new Cursor3d(); cursor3d2 = new Cursor3d(); }
/// <summary> /// This event will be fired immediately after the Direct3D device has been /// created, which will happen during application initialization and windowed/full screen /// toggles. This is the best location to create Pool.Managed resources since these /// resources need to be reloaded whenever the device is destroyed. Resources created /// here should be released in the Disposing event. /// </summary> private void OnCreateDevice(object sender, DeviceEventArgs e) { transparentObjectManager = new TransparentObjectManager(); // Initialize the stats font //statsFont = ResourceCache.GetGlobalInstance().CreateFont(e.Device, 15, 0, FontWeight.Bold, 1, false, CharacterSet.Default, // Precision.Default, FontQuality.Default, PitchAndFamily.FamilyDoNotCare | PitchAndFamily.DefaultPitch // , "Arial"); // Create the camera camera = new FirstPersonCamera("FPCamera"); camera.AspectRatio = (float)(e.BackBufferDescription.Width) / e.BackBufferDescription.Height; camera.MoveScaler = 50.0f; weather = new Weather(this); // Create the ground scenery = new Scenery(this); scenery.LoadDefinition("data/scenery/default/default.par"); //scenery.LoadDefinition(@"C:\Users\Gebruiker\Documents\RC Desk Pilot\Scenery\Aero Club Bad Oldesloe\Aero Club Bad Oldesloe.par"); scenery.SetWaterCallback(this.OnFrameRenderWater); // Create birds birds = new Birds(100); birds.Random = true; // Create the 3Dcursor cursor3d = new Cursor3D(); selectedObject = new SelectedObject(); RCSim.TerrainDefinition.ObjectTypeEnum objectType; selectedObject.SetSelectedObject(scenery.Definition.GetNearestObject(cursor3d.Position, out objectType)); sun = new DirectionalLight(new Vector3(0.5f, -0.707f, 0.5f)); sun.Color = System.Drawing.Color.FromArgb(148, 148, 148); framework.CurrentCamera = camera; }