// Methods public virtual bool Initialize(string title, int width, int height, bool vSync, bool fullScreen, int testTimeSeconds) { bool result = false; if (Configuration == null) { Configuration = new DSystemConfiguration(title, width, height, fullScreen, vSync); } // Initialize Window. InitializeWindows(title); // Create the application wrapper object. DApplication = new DApplication(); // Initialize the application wrapper object. if (!DApplication.Initialize(Configuration, RenderForm.Handle)) { return(false); } DPerfLogger.Initialize("RenderForm C# SharpDX: " + Configuration.Width + "x" + Configuration.Height + " VSync:" + DSystemConfiguration.VerticalSyncEnabled + " FullScreen:" + DSystemConfiguration.FullScreen + " " + RenderForm.Text, testTimeSeconds, Configuration.Width, Configuration.Height);; // Create and initialize Timer. Timer = new DTimer(); if (!Timer.Initialize()) { MessageBox.Show("Could not initialize Timer object", "Error", MessageBoxButtons.OK); return(false); } return(result); }
// Methods. public bool Initialize(DSystemConfiguration configuration, IntPtr windowHandle) { try { // Create the input object. The input object will be used to handle reading the keyboard and mouse input from the user. Input = new DInput(); // Initialize the input object. if (!Input.Initialize(configuration, windowHandle)) { return(false); } // #region Initialize System // Create the Direct3D object. D3D = new DDX11(); // Initialize the Direct3D object. if (!D3D.Initialize(configuration, windowHandle)) { return(false); } // Create the position object. Position = new DPosition(); // Set the initial position and rotation of the viewer. Position.SetPosition(15.0f, 13.0f, 20.0f); Position.SetRotation(25.0f, 180.0f, 0.0f); // Create the camera object Camera = new DCamera(); // Create the light object. Light = new DLight(); // Initialize the light object. Light.Direction = new Vector3(0.5f, -0.75f, 0.0f); // Create the model object. TerrainModel = new DTerrainHeightMap(); // Initialize the terrain object. if (!TerrainModel.Initialize(D3D.Device, "hm01.bmp", 10.0f)) { return(false); } // Create the color shader object. TerrainShader = new DTerrainShader(); //// Initialize the color shader object. if (!TerrainShader.Initialize(D3D.Device, windowHandle)) { return(false); } // Create the first color texture object. ColourTexture1 = new DTexture(); // Load the first color texture object. if (!ColourTexture1.Initialize(D3D.Device, DSystemConfiguration.DataFilePath + "dirt001.bmp")) { return(false); } // Create the second color texture object. ColourTexture2 = new DTexture(); // Load the second color texture object. if (!ColourTexture2.Initialize(D3D.Device, DSystemConfiguration.DataFilePath + "dirt004.bmp")) { return(false); } // Create the third color texture object. ColourTexture3 = new DTexture(); // Load the third color texture object. if (!ColourTexture3.Initialize(D3D.Device, DSystemConfiguration.DataFilePath + "dirt002.bmp")) { return(false); } // Create the fourth color texture object. ColourTexture4 = new DTexture(); // Load the forth color texture object. if (!ColourTexture4.Initialize(D3D.Device, DSystemConfiguration.DataFilePath + "stone001.bmp")) { return(false); } // Create the first alpha texture object. AlphaTexture1 = new DTexture(); // Load the first alpha texture object. if (!AlphaTexture1.Initialize(D3D.Device, DSystemConfiguration.DataFilePath + "alphaRoad001.bmp")) { return(false); } // Create the first normal texture object. NormalTexture1 = new DTexture(); // Load the first alpha/Normal texture object. if (!NormalTexture1.Initialize(D3D.Device, DSystemConfiguration.DataFilePath + "normal001.bmp")) { return(false); } // Create the second normal texture object. NormalTexture2 = new DTexture(); // Load the second alpha/Normal texture object. if (!NormalTexture2.Initialize(D3D.Device, DSystemConfiguration.DataFilePath + "normal002.bmp")) { return(false); } return(true); } catch (Exception ex) { MessageBox.Show("Could not initialize Direct3D\nError is '" + ex.Message + "'"); return(false); } }