public void ApplyMaterial() { if (Renderers != null) { for (var i = Renderers.Count - 1; i >= 0; i--) { SgtHelper.AddMaterial(Renderers[i], Material); } } }
public void ApplyInnerMaterial() { if (InnerRenderers != null) { for (var i = InnerRenderers.Count - 1; i >= 0; i--) { SgtHelper.AddMaterial(InnerRenderers[i], InnerMaterial); } } UpdateTerrainMaterials(); }
protected virtual void LateUpdate() { UpdateMaterial(); for (var i = Renderers.Count - 1; i >= 0; i--) { var renderer = Renderers[i]; SgtHelper.BeginStealthSet(renderer); { SgtHelper.AddMaterial(renderer, depthMaterial); } SgtHelper.EndStealthSet(); } }
public void AddRenderer(Renderer renderer) { if (renderer != null) { if (Renderers.Contains(renderer) == false) { if (depthMaterial != null) { SgtHelper.AddMaterial(renderer, depthMaterial); } Renderers.Add(renderer); } } }
public void AddInnerRenderer(MeshRenderer renderer) { if (renderer != null) { if (InnerRenderers == null) { InnerRenderers = new List <MeshRenderer>(); } if (InnerRenderers.Contains(renderer) == false) { SgtHelper.AddMaterial(renderer, InnerMaterial); InnerRenderers.Add(renderer); } } }
public void UpdateMaterials() { updateMaterialsCalled = true; if (InnerMaterial == null) { InnerMaterial = SgtHelper.CreateTempMaterial("Atmosphere Inner (Generated)", SgtHelper.ShaderNamePrefix + "AtmosphereInner"); if (InnerRenderers != null) { for (var i = InnerRenderers.Count - 1; i >= 0; i--) { var innerRenderer = InnerRenderers[i]; if (innerRenderer != null) { SgtHelper.AddMaterial(innerRenderer, InnerMaterial); } } } UpdateTerrainMaterials(); } if (OuterMaterial == null) { OuterMaterial = SgtHelper.CreateTempMaterial("Atmosphere Outer (Generated)", SgtHelper.ShaderNamePrefix + "AtmosphereOuter"); if (Outers != null) { for (var i = Outers.Count - 1; i >= 0; i--) { var outer = Outers[i]; if (outer != null) { outer.SetMaterial(OuterMaterial); } } } } var color = SgtHelper.Brighten(Color, Brightness); var renderQueue = (int)RenderQueue + RenderQueueOffset; InnerMaterial.renderQueue = renderQueue; OuterMaterial.renderQueue = renderQueue; InnerMaterial.SetColor("_Color", color); OuterMaterial.SetColor("_Color", color); InnerMaterial.SetTexture("_DepthTex", InnerDepthTex); OuterMaterial.SetTexture("_DepthTex", OuterDepthTex); if (Lit == true) { InnerMaterial.SetTexture("_LightingTex", LightingTex); OuterMaterial.SetTexture("_LightingTex", LightingTex); if (Scattering == true) { OuterMaterial.SetTexture("_ScatteringTex", ScatteringTex); OuterMaterial.SetFloat("_ScatteringMie", ScatteringMie); OuterMaterial.SetFloat("_ScatteringRayleigh", ScatteringRayleigh); SgtHelper.EnableKeyword("SGT_B", OuterMaterial); // Scattering if (GroundScattering == true) { InnerMaterial.SetTexture("_ScatteringTex", ScatteringTex); InnerMaterial.SetFloat("_ScatteringMie", ScatteringMie); InnerMaterial.SetFloat("_ScatteringRayleigh", ScatteringRayleigh); SgtHelper.EnableKeyword("SGT_B", InnerMaterial); // Scattering } else { SgtHelper.DisableKeyword("SGT_B", InnerMaterial); // Scattering } } else { SgtHelper.DisableKeyword("SGT_B", InnerMaterial); // Scattering SgtHelper.DisableKeyword("SGT_B", OuterMaterial); // Scattering } } SgtHelper.SetTempMaterial(InnerMaterial, OuterMaterial); UpdateMaterialNonSerialized(); }