public static void AdjustColors(Chunk chunk, Color32[] data, BlockLightData light) { if (!chunk.World.config.AddAOToMesh) { return; } AdjustColorsAO(data, light, chunk.World.config.AOStrength); }
public static void PrepareColors(Chunk chunk, Color32[] data, BlockLightData light) { if (chunk.World.config.AddAOToMesh) { SetColorsAO(data, light, chunk.World.config.AOStrength); } else { SetColors(data, 1f, 1f, 1f, 1f, false); } }
private static void AdjustColorsAO(Color32[] data, BlockLightData light, float strength) { // 0.33f for there are 3 degrees of AO darkening (0.33f * 3 =~ 1f) float str = 0.33f * strength; float ne = 1f - light.NeAO * str; float se = 1f - light.SeAO * str; float sw = 1f - light.SwAO * str; float nw = 1f - light.NwAO * str; AdjustColors(data, sw, nw, ne, se, light.FaceRotationNecessary); }