コード例 #1
0
ファイル: Window.cs プロジェクト: Dmihawk/Terrain
        public void Dispose()
        {
            Timer   = null;
            _light  = null;
            _camera = null;

            _lightShader.Dispose();
            _lightShader = null;

            _object.Dispose();
            _object = null;

            _directX.Dispose();
            _directX = null;
        }
コード例 #2
0
ファイル: Window.cs プロジェクト: Dmihawk/Terrain
        public void Dispose()
        {
            _player       = null;
            _frameCounter = null;
            _camera       = null;

            _frustrum = null;


            _skyPlane.ShurDown();
            _skyPlane = null;

            _skyDome.ShutDown();
            _skyDome = null;

            _quadTree?.Shutdown();
            _quadTree = null;

            _foliage?.Dispose();
            _foliage = null;

            _groundModel?.Dispose();
            _groundModel = null;

            _terrain?.Dispose();
            _terrain = null;

            _userInterface?.Dispose();
            _userInterface = null;

            _shaderManager?.Dispose();
            _shaderManager = null;

            _input?.Dispose();
            _input = null;

            _directX?.Dispose();
            _directX = null;
        }
コード例 #3
0
ファイル: Window.cs プロジェクト: Dmihawk/Terrain
        public bool Initialise(Dimension size, IntPtr windowHandle)
        {
            var result = true;

            try
            {
                _directX = new DirectX();
                result  &= _directX.Initialise(size, windowHandle);

                Timer   = new Timer();
                result &= Timer.Initialise();

                _camera = new Camera();
                _camera.SetPosition(new Coordinate3D <float>(0, 0, -10));

                _object = new Object();
                result &= _object.Initialise(_directX.Device, "Cube.txt", "seafloor.bmp");

                _lightShader = new LightShader();
                result      &= _lightShader.Initialise(_directX.Device, windowHandle);

                _light = new Light()
                {
                    DiffuseColour = new Vector4(1, 1, 1, 1),
                    Direction     = new Vector3(0, 0, 1)
                };

                return(result);
            }
            catch (Exception ex)
            {
                Log.WriteToFile(ErrorLevel.Error, "Window.Initialise", ex, true);

                return(false);
            }
        }
コード例 #4
0
ファイル: Window.cs プロジェクト: Dmihawk/Terrain
        public bool Initialise(Dimension size, IntPtr windowHandle)
        {
            var result = true;

            try
            {
                _directX = new DirectX();
                result  &= _directX.Initialise(size, windowHandle);

                _input  = new Input();
                result &= _input.Initialise(size, windowHandle);

                _shaderManager = new ShaderManager();
                result        &= _shaderManager.Initialise(_directX, windowHandle);

                _player = new Player
                {
                    Position = new Coordinate3D <float>(31.0f, 18.0f, 7.0f),
                    Rotation = new Coordinate3D <float>(11.0f, 23.0f, 0.0f)
                };

                _camera = new Camera();
                _camera.SetPosition(new Coordinate3D <float>(0, 0, -10));
                _camera.Render();
                _camera.RenderBaseViewMatrix();

                _frameCounter = new FrameCounter();
                _frameCounter.Initialise();

                _userInterface = new UserInterface();
                result        &= _userInterface.Initialise(_directX, size);

                _terrain = new Terrain();
                result  &= _terrain.Initialise(_directX.Device, "heightmap01.bmp", "dirt03.bmp");

                _groundModel = new Object();
                result      &= _groundModel.Initialise(_directX.Device, "plane01.txt", "rock015.bmp");

                _quadTree = new QuadTree();
                result   &= _quadTree.Initialise(_terrain, _directX.Device);

                _foliage = new Foliage();
                result  &= _foliage.Initialise(_directX.Device, _quadTree, "grass01.bmp", 2500);

                _frustrum = new Frustrum();

                _skyDome = new SkyDome();
                result  &= _skyDome.Initialise(_directX.Device);

                _skyPlane = new SkyPlane();
                result   &= _skyPlane.Initialze(_directX.Device, "cloud001.bmp", "perturb001.bmp");

                return(result);
            }
            catch (Exception ex)
            {
                //Log.WriteToFile(ErrorLevel.Error, "Window.Initialise", ex, true);

                return(false);
            }
        }