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);
}
}