public override bool Init() { if (!base.Init()) return false; Effects.InitAll(Device); InputLayouts.InitAll(Device); RenderStates.InitAll(Device); _texMgr = new TextureManager(); _texMgr.Init(Device); _bunnyModel = BasicModel.LoadSdkMesh(Device, _texMgr, "Models/bunny.sdkmesh", "Textures"); _bunnyInstance = new BasicModelInstance(_bunnyModel) { World = Matrix.Scaling(0.1f, 0.1f, 0.1f) }; _effect = new ForwardLightingEffect(Device, "FX/forwardLight.fxo"); var passDesc = _effect.Ambient.GetPassByIndex(0).Description; _layout = new InputLayout(Device, passDesc.Signature, InputLayoutDescriptions.PosNormalTexTan); AddUIElements(); return true; }
public override bool Init() { if (!base.Init()) return false; Effects.InitAll(Device); InputLayouts.InitAll(Device); RenderStates.InitAll(Device); _texMgr = new TextureManager(); _texMgr.Init(Device); _bunnyModel = BasicModel.LoadSdkMesh(Device, _texMgr, "Models/bunny.sdkmesh", "Textures"); _bunnyInstance = new BasicModelInstance(_bunnyModel) { World = Matrix.Scaling(0.1f, 0.1f, 0.1f) }; return true; }
public override bool Init() { if (!base.Init()) return false; Effects.InitAll(Device); InputLayouts.InitAll(Device); RenderStates.InitAll(Device); _texMgr = new TextureManager(); _texMgr.Init(Device); _bunnyModel = BasicModel.LoadSdkMesh(Device, _texMgr, "Models/bunny.sdkmesh", "Textures"); _bunnyInstance = new BasicModelInstance(_bunnyModel); _effect = new FowardLightingEffect(Device, "FX/ForwardLight.fxo"); var blendDesc = new BlendStateDescription { AlphaToCoverageEnable = false, IndependentBlendEnable = false }; blendDesc.RenderTargets[0].BlendEnable = true; blendDesc.RenderTargets[0].SourceBlend = BlendOption.One; blendDesc.RenderTargets[0].DestinationBlend = BlendOption.One; blendDesc.RenderTargets[0].BlendOperation = BlendOperation.Add; blendDesc.RenderTargets[0].SourceBlendAlpha = BlendOption.One; blendDesc.RenderTargets[0].DestinationBlendAlpha = BlendOption.One; blendDesc.RenderTargets[0].BlendOperationAlpha = BlendOperation.Add; blendDesc.RenderTargets[0].RenderTargetWriteMask = ColorWriteMaskFlags.All; _additiveBlend = BlendState.FromDescription(Device, blendDesc); var passDesc = _effect.Ambient.GetPassByIndex(0).Description; _layout = new InputLayout(Device, passDesc.Signature, InputLayoutDescriptions.PosNormalTexTan); AddUIElements(); return true; }
public override bool Init() { if (!base.Init()) return false; Effects.InitAll(Device); InputLayouts.InitAll(Device); RenderStates.InitAll(Device); _sky = new Sky(Device, "Textures/snowcube1024.dds", 5000.0f); _texMgr = new TextureManager(); _texMgr.Init(Device); _waves = new Waves(); _waves.Init(Device, _texMgr, 40, 60); BuildShapeGeometryBuffers(); BuildSkullGeometryBuffers(); return true; }
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; }
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); Patch.InitPatchData(Terrain.CellsPerPatch, Device); var tii = new InitInfo { HeightMapFilename = "Textures/terrain.raw", LayerMapFilename0 = "textures/grass.dds", LayerMapFilename1 = "textures/darkdirt.dds", LayerMapFilename2 = "textures/stone.dds", LayerMapFilename3 = "Textures/lightdirt.dds", LayerMapFilename4 = "textures/snow.dds", BlendMapFilename = "textures/blend.dds", HeightScale = 50.0f, HeightMapWidth = 2049, HeightMapHeight = 2049, CellSpacing = 0.5f }; _terrain = new Terrain(); _terrain.Init(Device, ImmediateContext, tii); _camera.Height = _terrain.Height; _txMgr = new TextureManager(); _txMgr.Init(Device); _treeModel = new BasicModel(Device, _txMgr, "Models/tree.x", "Textures"); _treeInstances = new List<BasicModelInstance>(); for (var i = 0; i < NumTrees; i++) { var good = false; var x = MathF.Rand(0, _terrain.Width); var z = MathF.Rand(0, _terrain.Depth); while (!good) { if (_terrain.Height(x, z) < 12.0f) { good = true; } x = MathF.Rand(-_terrain.Width/2, _terrain.Width/2); z = MathF.Rand(-_terrain.Depth/2, _terrain.Depth/2); } var treeInstance = new BasicModelInstance(_treeModel) { World = Matrix.RotationX(MathF.PI / 2) * Matrix.Translation(x, _terrain.Height(x, z), z) }; _treeInstances.Add(treeInstance); } BuildInstancedBuffer(); return true; }
private void BuildShapeGeometryBuffers() { _texMgr = new TextureManager(); _texMgr.Init(Device); _boxModel =new BasicModel(); _boxModel.CreateBox(Device, 1, 1, 1); _boxModel.Materials[0] = new Material { Ambient = new Color4(0.8f, 0.8f, 0.8f), Diffuse = new Color4(0.4f, 0.4f, 0.4f), 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, 50, 40); _gridModel.Materials[0] = new Material { Ambient = new Color4(0.7f, 0.7f, 0.7f), Diffuse = new Color4(0.6f, 0.6f, 0.6f), Specular = new Color4(16.0f, 0.4f, 0.4f, 0.4f), 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.3f, 0.4f, 0.5f), Diffuse = new Color4(0.2f, 0.3f, 0.4f), Specular = new Color4(16.0f, 0.9f, 0.9f, 0.9f), Reflect = new Color4(0.3f, 0.3f, 0.3f) }; _cylinderModel = new BasicModel(); _cylinderModel.CreateCylinder(Device, 0.5f, 0.5f, 3.0f, 15, 15); _cylinderModel.Materials[0] = new Material { Ambient = new Color4(0.8f, 0.8f, 0.8f), Diffuse = new Color4(0.4f, 0.4f, 0.4f), Specular = new Color4(32.0f, 1f, 1f, 1f), 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) }; }
public override bool Init() { if (!base.Init()) return false; Effects.InitAll(Device); InputLayouts.InitAll(Device); RenderStates.InitAll(Device); _texMgr = new TextureManager(); _texMgr.Init(Device); _treeModel = new BasicModel(Device, _texMgr, "Models/tree.x", "Textures"); _modelInstance = new BasicModelInstance { Model = _treeModel, World = Matrix.RotationX(MathF.PI / 2) }; _stoneModel = new BasicModel(Device, _texMgr, "Models/stone.x", "Textures"); _stoneInstance = new BasicModelInstance { Model = _stoneModel, World = Matrix.Scaling(0.1f, 0.1f, 0.1f) * Matrix.Translation(2, 0, 2) }; return true; }
public override bool Init() { if (!base.Init()) return false; Effects.InitAll(Device); InputLayouts.InitAll(Device); RenderStates.InitAll(Device); _texMgr = new TextureManager(); _texMgr.Init(Device); _geosphereModel = new BasicModel(); _geosphereModel.CreateGeosphere(Device, 5, _subdivisions); _geosphereModel.Materials[0] = _material; _sphereModel = new BasicModel(); _sphereModel.CreateSphere(Device, 5, 20,20); _sphereModel.Materials[0] = new Material() { Ambient = Color.Blue, Diffuse = Color.Red, Specular = new Color4(16.0f, 0.75f, 0.75f, 0.75f) }; _geosphere = new BasicModelInstance(_geosphereModel) { World = Matrix.Identity }; _sphere = new BasicModelInstance(_sphereModel); return true; }
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; }
public override bool Init() { if (!base.Init()) return false; Effects.InitAll(Device); InputLayouts.InitAll(Device); RenderStates.InitAll(Device); _texMgr = new TextureManager(); _texMgr.Init(Device); _drone = new SkinnedModel(Device, _texMgr, "Models/drone.x", "Textures", true); _droneInstance = new SkinnedModelInstance( "Attack", Matrix.RotationY(MathF.PI), _drone ); foreach (var clip in _droneInstance.Clips) { _droneInstance.AddClip(clip); } _droneInstance.LoopClips = true; _mage = new SkinnedModel(Device, _texMgr, "Models/magician.x", "textures", true); _mageInstance = new SkinnedModelInstance( "Attack", Matrix.RotationY(MathF.PI)*Matrix.Translation(4.0f, 0, 0), _mage ); foreach (var clip in _mageInstance.Clips) { _mageInstance.AddClip(clip); } _mageInstance.LoopClips = true; _soldier = new SkinnedModel(Device, _texMgr, "Models/soldier.x", "Textures", true); _soldierInstance = new SkinnedModelInstance ( "Attack", Matrix.RotationY(MathF.PI)*Matrix.Translation(10, 0, 0), _soldier ); foreach (var clip in _soldierInstance.Clips) { _soldierInstance.AddClip(clip); } _soldierInstance.LoopClips = true; _grid = BasicModel.CreateGrid(Device, 30, 30, 60, 60); _grid.DiffuseMapSRV[0] = (_texMgr.CreateTexture("Textures/floor.dds")); _grid.NormalMapSRV[0]= (_texMgr.CreateTexture("Textures/floor_nmap.dds")); _gridInstance = new BasicModelInstance() { Model = _grid, World = Matrix.Translation(0, -1.5f, 0) }; return true; }
public override bool Init() { if (!base.Init()) return false; Effects.InitAll(Device); InputLayouts.InitAll(Device); RenderStates.InitAll(Device); _texMgr = new TextureManager(); _texMgr.Init(Device); _treeModel = new BasicModel(Device, _texMgr, "Models/tree.x", "Textures"); _modelInstance = new BasicModelInstance (_treeModel) { World = Matrix.RotationX(MathF.PI / 2) }; _stoneModel = new BasicModel(Device, _texMgr, "Models/stone.x", "Textures"); _stoneInstance = new BasicModelInstance(_stoneModel) { World = Matrix.Scaling(0.1f, 0.1f, 0.1f) * Matrix.Translation(2, 0, 2) }; _dwarfModel = new BasicModel(Device, _texMgr, "Models/Bob.md5mesh", "Textures", true); for (int i = 0; i < _dwarfModel.Materials.Count; i++) { _dwarfModel.Materials[i] = new Material() { Ambient = Color.DarkGray, Diffuse = Color.White, Specular = new Color4(128, 1f, 1.0f, 1.0f) }; } _dwarfInstance = new BasicModelInstance(_dwarfModel) { World = Matrix.RotationX(-MathF.PI / 2)* Matrix.Scaling(0.05f, 0.05f, 0.05f)*Matrix.Translation(4, 0, 4) }; return true; }