/// <summary> /// For testing /// </summary> public void AddDefaults() { MBuildingBlock b = new MBuildingBlock("FOUNDATION01"); b.Size = new double[] { 1, 1, 1 }; b.Model = Path.Combine(MFileSystem.AssetsPath, "Models", "Construction", "foundation01.3ds"); Blocks.Add(b.Name, b); }
void SetupMaterials() { MShader BasicShader = new MShader("BasicShader"); BasicShader.Load("default_v.glsl", "default_f.glsl", "Terrain\\eval.glsl", "Terrain\\control.glsl" ); BasicShader.Bind(); BasicShader.SetInt("material.diffuse", MShader.LOCATION_DIFFUSE); BasicShader.SetInt("material.specular", MShader.LOCATION_SPECULAR); BasicShader.SetInt("material.multitex", MShader.LOCATION_MULTITEX); BasicShader.SetInt("material.normalmap", MShader.LOCATION_NORMALMAP); BasicShader.SetInt("material.shadowMap", MShader.LOCATION_SHADOWMAP); MShader BoneShader = new MShader("AnimatedShader"); string sVertFile = "Animation\\animated_vs.glsl"; string sFragPath = "Animation\\animated_fs.glsl"; BoneShader.Load(sVertFile, sFragPath, "", "" ); BoneShader.Bind(); BoneShader.SetInt("material.diffuse", MShader.LOCATION_DIFFUSE); BoneShader.SetInt("material.specular", MShader.LOCATION_SPECULAR); BoneShader.SetInt("material.multitex", MShader.LOCATION_MULTITEX); BoneShader.SetInt("material.normalmap", MShader.LOCATION_NORMALMAP); BoneShader.SetInt("material.shadowMap", MShader.LOCATION_SHADOWMAP); foreach (KeyValuePair <string, MBuildingBlock> k in Blocks) { MBuildingBlock b = k.Value; if (b.Type == "MMaterial") { MMaterial MATM = new MMaterial(b.MaterialID); MATM.AddShader(BasicShader); MATM.SetDiffuseTexture(Globals.TexturePool.GetTexture(b.Path)); MScene.MaterialRoot.Add(MATM); } else if (b.Type == "MBoneMaterial") { MMaterial MATM = new MMaterial(b.MaterialID); MATM.AddShader(BoneShader); MATM.SetDiffuseTexture(Globals.TexturePool.GetTexture(b.Path)); MScene.MaterialRoot.Add(MATM); } } }
public static MBuildingBlock GetBlock(string sTemplateID) { if (Blocks.ContainsKey(sTemplateID)) { return(Blocks[sTemplateID]); } //if we can't find a registry entry, return sphere. MBuildingBlock bb = new MBuildingBlock(sTemplateID); bb.Type = "MSPHERE"; return(bb); }