Ejemplo n.º 1
0
        public override bool Init()
        {
            if (!base.Init())
            {
                return(false);
            }
            Effects.InitAll(Device);
            InputLayouts.InitAll(Device);
            RenderStates.InitAll(Device);

            _texMgr = new TextureManager();
            _texMgr.Init(Device);

            _gridModel = new BasicModel();
            _gridModel.CreateGrid(Device, 20, 20, 40, 40);
            _gridModel.Materials[0] = new Material {
                Diffuse = Color.SaddleBrown, Specular = new Color4(16, .9f, .9f, .9f)
            };
            _gridModel.DiffuseMapSRV[0] = _texMgr.CreateTexture("Textures/floor.dds");
            _gridModel.NormalMapSRV[0]  = _texMgr.CreateTexture("textures/floor_nmap.dds");

            _sphereModel = new BasicModel();
            _sphereModel.CreateSphere(Device, 0.3f, 5, 4);
            _sphereModel.Materials[0] = new Material {
                Ambient = Color.Blue, Diffuse = Color.Blue, Specular = new Color4(64.0f, 1.0f, 1.0f, 1.0f)
            };
            _sphereModel.NormalMapSRV[0] = _texMgr.CreateTexture("Textures/stones_nmap.dds");

            _cylinderModel = new BasicModel();
            _cylinderModel.CreateCylinder(Device, 1, 1, 3, 20, 20);
            _cylinderModel.Materials[0] = new Material {
                Ambient = Color.Green, Diffuse = Color.Green, Specular = new Color4(64.0f, 1.0f, 1.0f, 1.0f)
            };
            _cylinderModel.NormalMapSRV[0] = _texMgr.CreateTexture("Textures/stones_nmap.dds");

            _grid = new BasicModelInstance(_gridModel)
            {
                TexTransform = Matrix.Scaling(10, 10, 1),
                World        = Matrix.Scaling(10, 1, 10) * Matrix.Translation(0, 0, 90)
            };

            _sphere = new BasicModelInstance(_sphereModel);

            _cylinder = new BasicModelInstance(_cylinderModel)
            {
                World = Matrix.Translation(0, 1.5f, 0)
            };

            return(true);
        }
Ejemplo n.º 2
0
        public override bool Init()
        {
            if (!base.Init())
            {
                return(false);
            }
            Effects.InitAll(Device);
            InputLayouts.InitAll(Device);
            RenderStates.InitAll(Device);

            _sky = new Sky(Device, "Textures/grasscube1024.dds", 5000.0f);

            _texMgr = new TextureManager();
            _texMgr.Init(Device);

            _gridModel = new BasicModel();
            _gridModel.CreateGrid(Device, 20, 20, 40, 40);
            _gridModel.Materials[0] = new Material {
                Diffuse = Color.LightGray, Specular = new Color4(16, .9f, .9f, .9f)
            };
            _gridModel.DiffuseMapSRV[0] = _texMgr.CreateTexture("Textures/floor.dds");
            _gridModel.NormalMapSRV[0]  = _texMgr.CreateTexture("textures/floor_nmap.dds");

            _grid = new BasicModelInstance(_gridModel)
            {
                TexTransform = Matrix.Scaling(10, 10, 1),
                World        = Matrix.Scaling(10, 1, 10)
            };
            InitFireworksRules();
            _cylinderModel = new BasicModel();
            _cylinderModel.CreateCylinder(Device, 1, 1, 3, 20, 20);
            _cylinderModel.Materials[0] = new Material {
                Ambient = Color.Green, Diffuse = Color.Green, Specular = new Color4(64.0f, 1.0f, 1.0f, 1.0f)
            };
            _cylinderModel.DiffuseMapSRV[0] = _texMgr.CreateTexture("Textures/stones.dds");
            _cylinderModel.NormalMapSRV[0]  = _texMgr.CreateTexture("Textures/stones_nmap.dds");

            _cylinder = new BasicModelInstance(_cylinderModel)
            {
                World = Matrix.Translation(0, 1.5f, 0)
            };

            return(true);
        }
Ejemplo n.º 3
0
        private void BuildShapeGeometryBuffers()
        {
            _texMgr = new TextureManager();
            _texMgr.Init(Device);

            _boxModel = new BasicModel();
            _boxModel.CreateBox(Device, 1, 1, 1);
            _boxModel.Materials[0] = new Material {
                Ambient  = Color.White,
                Diffuse  = Color.White,
                Specular = new Color4(16.0f, 0.8f, 0.8f, 0.8f),
                Reflect  = Color.Black
            };
            _boxModel.DiffuseMapSRV[0] = _texMgr.CreateTexture("Textures/bricks.dds");
            _boxModel.NormalMapSRV[0]  = _texMgr.CreateTexture("Textures/bricks_nmap.dds");

            _gridModel = new BasicModel();
            _gridModel.CreateGrid(Device, 20, 30, 40, 60);
            _gridModel.Materials[0] = new Material {
                Ambient  = new Color4(0.8f, 0.8f, 0.8f),
                Diffuse  = new Color4(0.8f, 0.8f, 0.8f),
                Specular = new Color4(16.0f, 0.8f, 0.8f, 0.8f),
                Reflect  = Color.Black
            };
            _gridModel.DiffuseMapSRV[0] = _texMgr.CreateTexture("Textures/floor.dds");
            _gridModel.NormalMapSRV[0]  = _texMgr.CreateTexture("Textures/floor_nmap.dds");


            _sphereModel = new BasicModel();
            _sphereModel.CreateSphere(Device, 0.5f, 20, 20);
            _sphereModel.Materials[0] = new Material {
                Ambient  = new Color4(0.6f, 0.8f, 0.9f),
                Diffuse  = new Color4(0.6f, 0.8f, 0.9f),
                Specular = new Color4(16.0f, 0.9f, 0.9f, 0.9f),
                Reflect  = new Color4(0.4f, 0.4f, 0.4f)
            };
            _cylinderModel = new BasicModel();
            _cylinderModel.CreateCylinder(Device, 0.5f, 0.3f, 3.0f, 20, 20);
            _cylinderModel.Materials[0] = new Material {
                Ambient  = Color.White,
                Diffuse  = Color.White,
                Specular = new Color4(16.0f, 0.8f, 0.8f, 0.8f),
                Reflect  = Color.Black
            };
            _cylinderModel.DiffuseMapSRV[0] = _texMgr.CreateTexture("Textures/bricks.dds");
            _cylinderModel.NormalMapSRV[0]  = _texMgr.CreateTexture("Textures/bricks_nmap.dds");

            for (var i = 0; i < 5; i++)
            {
                _cylinders[i * 2] = new BasicModelInstance(_cylinderModel)
                {
                    World        = Matrix.Translation(-5.0f, 1.5f, -10.0f + i * 5.0f),
                    TexTransform = Matrix.Scaling(1, 2, 1)
                };
                _cylinders[i * 2 + 1] = new BasicModelInstance(_cylinderModel)
                {
                    World        = Matrix.Translation(5.0f, 1.5f, -10.0f + i * 5.0f),
                    TexTransform = Matrix.Scaling(1, 2, 1)
                };

                _spheres[i * 2] = new BasicModelInstance(_sphereModel)
                {
                    World = Matrix.Translation(-5.0f, 3.5f, -10.0f + i * 5.0f)
                };
                _spheres[i * 2 + 1] = new BasicModelInstance(_sphereModel)
                {
                    World = Matrix.Translation(5.0f, 3.5f, -10.0f + i * 5.0f)
                };
            }

            _grid = new BasicModelInstance(_gridModel)
            {
                TexTransform = Matrix.Scaling(8, 10, 1),
                World        = Matrix.Identity
            };

            _box = new BasicModelInstance(_boxModel)
            {
                TexTransform = Matrix.Scaling(2, 1, 1),
                World        = Matrix.Scaling(3.0f, 1.0f, 3.0f) * Matrix.Translation(0, 0.5f, 0)
            };
        }
Ejemplo n.º 4
0
        private void BuildShapeGeometryBuffers(Device device)
        {
            var textureManager = TextureManager11.Instance;

            _boxModel = BasicModel.CreateBox(device, 1, 1, 1);
            _boxModel.Materials[0] = new Material {
                Ambient  = Color.White,
                Diffuse  = Color.White,
                Specular = new Color(0.8f, 0.8f, 0.8f, 16.0f),
                Reflect  = Color.Black
            };
            _boxModel.DiffuseMapSRV[0] = textureManager.CreateTexture(NoireConfiguration.GetFullResourcePath("textures/bricks.dds"));
            //_boxModel.DiffuseMapSRV[0] = textureManager.CreateTexture(NoireConfiguration.GetFullResourcePath("textures/metal.jpg"));
            _boxModel.NormalMapSRV[0] = textureManager.CreateTexture(NoireConfiguration.GetFullResourcePath("textures/bricks_nmap.png"));

            _gridModel = BasicModel.CreateGrid(device, 80, 120, 40, 60);
            _gridModel.Materials[0] = new Material {
                Ambient  = new Color(0.8f, 0.8f, 0.8f),
                Diffuse  = new Color(0.8f, 0.8f, 0.8f),
                Specular = new Color(0.8f, 0.8f, 0.8f, 16.0f),
                Reflect  = Color.Black
            };
            _gridModel.DiffuseMapSRV[0] = textureManager.CreateTexture(NoireConfiguration.GetFullResourcePath("textures/floor.dds"));
            _gridModel.NormalMapSRV[0]  = textureManager.CreateTexture(NoireConfiguration.GetFullResourcePath("textures/floor_nmap.png"));

            _sphereModel = BasicModel.CreateSphere(device, 0.5f, 20, 20);
            _sphereModel.Materials[0] = new Material {
                Ambient  = new Color(0.6f, 0.8f, 0.9f),
                Diffuse  = new Color(0.6f, 0.8f, 0.9f),
                Specular = new Color(0.9f, 0.9f, 0.9f, 16.0f),
                Reflect  = new Color(0.4f, 0.4f, 0.4f)
            };
            _cylinderModel = BasicModel.CreateCylinder(device, 0.5f, 0.3f, 3.0f, 20, 20);
            _cylinderModel.Materials[0] = new Material {
                Ambient = Color.White,
                Diffuse = Color.White,
                //Specular = new Color(0.3f, 0.3f, 0.3f, 16.0f), // plywood
                //Specular = new Color(0.8f, 0.8f, 0.8f, 16.0f), // metal, stone
                Specular = new Color(0.6f, 0.6f, 0.6f, 16.0f), // leather
                Reflect  = Color.Black
            };
            _cylinderModel.DiffuseMapSRV[0] = textureManager.CreateTexture(NoireConfiguration.GetFullResourcePath("textures/material/copper_Base_Color.png"));
            _cylinderModel.NormalMapSRV[0]  = textureManager.CreateTexture(NoireConfiguration.GetFullResourcePath("textures/material/copper_Normal.png"));

            for (var i = 0; i < 5; i++)
            {
                _cylinders[i * 2] = new BasicModelInstance(_cylinderModel)
                {
                    World        = Matrix.Translation(-5.0f, 1.5f, -10.0f + i * 5.0f),
                    TexTransform = Matrix.Scaling(1, 2, 1)
                };
                _cylinders[i * 2 + 1] = new BasicModelInstance(_cylinderModel)
                {
                    World        = Matrix.Translation(5.0f, 1.5f, -10.0f + i * 5.0f),
                    TexTransform = Matrix.Scaling(1, 2, 1)
                };

                _spheres[i * 2] = new BasicModelInstance(_sphereModel)
                {
                    World = Matrix.Translation(-5.0f, 3.5f, -10.0f + i * 5.0f)
                };
                _spheres[i * 2 + 1] = new BasicModelInstance(_sphereModel)
                {
                    World = Matrix.Translation(5.0f, 3.5f, -10.0f + i * 5.0f)
                };
            }

            _grid = new BasicModelInstance(_gridModel)
            {
                TexTransform = Matrix.Scaling(32, 40, 1),
                World        = Matrix.Identity
            };

            _box = new BasicModelInstance(_boxModel)
            {
                TexTransform = Matrix.Scaling(2, 1, 1),
                World        = Matrix.Scaling(3.0f, 1.0f, 3.0f) * Matrix.Translation(0, 0.5f, 0)
            };

            // MIC
            const string decelFileDir = @"C:\Users\MIC\Documents\3dsMax\export";
            var          decelFile    = Path.Combine(decelFileDir, "decel.3ds");

            _decelModel    = BasicModel.Create(device, TextureManager11.Instance, decelFile, decelFileDir);
            _decelWorld    = Matrix.Scaling(8f) * Matrix.Translation(0, 0.6f, 5); // * Matrix.RotationX(MathUtil.DegreesToRadians(-90f));
            _decelInstance = new BasicModelInstance(_decelModel)
            {
                TexTransform = Matrix.Identity,
                World        = _decelWorld
            };

            const string barbFileDir = @"C:\Users\MIC\Desktop\models\barb01";
            var          barbFile    = Path.Combine(barbFileDir, "barb01.3ds");

            _barbModel    = BasicModel.Create(device, TextureManager11.Instance, barbFile, barbFileDir);
            _barbWorld    = Matrix.Scaling(0.003f) * Matrix.Translation(0, 1, 0.3f);
            _barbInstance = new BasicModelInstance(_barbModel)
            {
                TexTransform = Matrix.Identity,
                World        = _barbWorld
            };

            const string truckFileDir = @"C:\Users\MIC\Desktop\m4\ea55";
            var          truckFile    = Path.Combine(truckFileDir, "mic.3ds");

            _truckModel    = BasicModel.Create(device, TextureManager11.Instance, truckFile, truckFileDir);
            _truckWorld    = Matrix.Scaling(0.003f) * Matrix.Translation(0, 8, 2) * Matrix.RotationX(MathUtil.DegreesToRadians(-90f));
            _truckInstance = new BasicModelInstance(_truckModel)
            {
                TexTransform = Matrix.Identity,
                World        = _truckWorld
            };

            const string tireFileDir = @"C:\Users\MIC\Desktop\models\tire02";
            var          tireFile    = Path.Combine(tireFileDir, "tire02.3ds");

            _tireModel    = BasicModel.Create(device, TextureManager11.Instance, tireFile, tireFileDir);
            _tireWorld    = Matrix.Scaling(0.003f) * Matrix.Translation(0, 4, 1) * Matrix.RotationX(MathUtil.DegreesToRadians(-90f));
            _tireInstance = new BasicModelInstance(_tireModel)
            {
                TexTransform = Matrix.Identity,
                World        = _tireWorld
            };
        }