private void DrawBuildings() { // Set Camera fxAnim.VP = Camera.View * Camera.Projection; // Loop Through Models G.SamplerStates[1] = SamplerState.LinearClamp; G.SamplerStates[2] = SamplerState.LinearClamp; G.SamplerStates[3] = SamplerState.LinearClamp; foreach (RTSBuildingModel buildingModel in NonFriendlyBuildingModels) { if (buildingModel.VisibleInstanceCount < 1) { continue; } fxAnim.SetTexturesBuilding(G, buildingModel.ModelTexture, buildingModel.ColorCodeTexture, tNoise); fxAnim.CPrimary = buildingModel.ColorScheme.Primary; fxAnim.CSecondary = buildingModel.ColorScheme.Secondary; fxAnim.CTertiary = buildingModel.ColorScheme.Tertiary; fxAnim.ApplyPassBuilding(); buildingModel.SetInstances(G); buildingModel.DrawInstances(G); } foreach (RTSBuildingModel buildingModel in FriendlyBuildingModels) { if (buildingModel.VisibleInstanceCount < 1) { continue; } fxAnim.SetTexturesBuilding(G, buildingModel.ModelTexture, buildingModel.ColorCodeTexture, tNoise); fxAnim.CPrimary = buildingModel.ColorScheme.Primary; fxAnim.CSecondary = buildingModel.ColorScheme.Secondary; fxAnim.CTertiary = buildingModel.ColorScheme.Tertiary; fxAnim.ApplyPassBuilding(); buildingModel.SetInstances(G); buildingModel.DrawInstances(G); } }