internal static void DrawBatched() { bool rebuild = false; if (m_group == null || rebuild) { if (m_group != null) { m_group.Clear(); } //m_group = new MyClassicInstancing(); m_group = new MySoftInstancingGroup2(); HashSet <string> testModels = new HashSet <string>(); testModels.Add("Models//Cubes//Large//StoneCube.mwm"); testModels.Add("Models//Cubes//Large//BattlementAdvancedRoundLarge.mwm"); testModels.Add("Models//Cubes//large//RoofTileCornerRoundTallFake.mwm"); testModels.Add("Models//Cubes//Large//StoneSlopeStairs.mwm"); testModels.Add("Models//Debris//Debris10.mwm"); testModels.Add("Models//Cubes//small//RotorBlockCogWheel2.mwm"); testModels.Add("Models//Cubes//Large//BattlementStoneCorner.mwm"); testModels.Add("Models//Cubes//Large//GeneratedStoneBattlementCorner.mwm"); testModels.Add("Models//Cubes//Large//HouseStoneRoundedFull.mwm"); testModels.Add("Models//Cubes//large//RoofTileCornerRoundTallFake.mwm"); testModels.Add("Models//Cubes//large//StoneBattlementAdvancedRound_5.mwm"); testModels.Add("Models//Cubes//large//RoofTileSlopeWoodFakeTopRight.mwm"); testModels.Add("Models//Cubes//Large//CrossRoad.mwm"); var rnd = new Random(); for (int i = 0; i < 100; i++) { for (int j = 0; j < 100; j++) { for (int k = 0; k < 2; k++) { m_group.AddInstance(testModels.ElementAt(rnd.Next(0, testModels.Count)), Matrix.CreateTranslation(50.0f + i * 4.0f, 150.0f + k * 4.0f, 50.0f + (j + 0) * 4.0f)); } } } m_group.SendToGpu(); rebuild = false; } m_group.Draw(); }
internal static void DrawBatched() { bool rebuild = false; if(m_group == null || rebuild) { if(m_group != null) { m_group.Clear(); } //m_group = new MyClassicInstancing(); m_group = new MySoftInstancingGroup2(); HashSet<string> testModels = new HashSet<string>(); testModels.Add("Models//Cubes//Large//StoneCube.mwm"); testModels.Add("Models//Cubes//Large//BattlementAdvancedRoundLarge.mwm"); testModels.Add("Models//Cubes//large//RoofTileCornerRoundTallFake.mwm"); testModels.Add("Models//Cubes//Large//StoneSlopeStairs.mwm"); testModels.Add("Models//Debris//Debris10.mwm"); testModels.Add("Models//Cubes//small//RotorBlockCogWheel2.mwm"); testModels.Add("Models//Cubes//Large//BattlementStoneCorner.mwm"); testModels.Add("Models//Cubes//Large//GeneratedStoneBattlementCorner.mwm"); testModels.Add("Models//Cubes//Large//HouseStoneRoundedFull.mwm"); testModels.Add("Models//Cubes//large//RoofTileCornerRoundTallFake.mwm"); testModels.Add("Models//Cubes//large//StoneBattlementAdvancedRound_5.mwm"); testModels.Add("Models//Cubes//large//RoofTileSlopeWoodFakeTopRight.mwm"); testModels.Add("Models//Cubes//Large//CrossRoad.mwm"); var rnd = new Random(); for (int i = 0; i < 100; i++) { for(int j=0; j < 100; j++) { for (int k = 0; k < 2; k++ ) { m_group.AddInstance(testModels.ElementAt(rnd.Next(0, testModels.Count)), Matrix.CreateTranslation(50.0f + i * 4.0f, 150.0f + k * 4.0f, 50.0f + (j + 0) * 4.0f)); } } } m_group.SendToGpu(); rebuild = false; } m_group.Draw(); }