public static void SetSettings(MyGlobalLoddingSettings globalLodding, MyPassLoddingSetting gbufferLodding, MyPassLoddingSetting[] cascadeDepthLoddings, MyPassLoddingSetting singleDepthLodding) { m_objectDistanceAdd = globalLodding.ObjectDistanceAdd; m_objectDistanceMult = globalLodding.ObjectDistanceMult; for (int i = 0; i < MyPassIdResolver.MaxGBufferPassesCount; i++) { m_loddingSetting[MyPassIdResolver.DefaultGBufferPassId] = gbufferLodding; } int cascadeDepthPassesCount = Math.Min(cascadeDepthLoddings.Length, MyPassIdResolver.MaxCascadeDepthPassesCount); for (int i = 0; i < cascadeDepthPassesCount; i++) { m_loddingSetting[MyPassIdResolver.GetCascadeDepthPassId(i)] = cascadeDepthLoddings[i]; } for (int i = cascadeDepthPassesCount; i < MyPassIdResolver.MaxCascadeDepthPassesCount; i++) { m_loddingSetting[MyPassIdResolver.GetCascadeDepthPassId(i)] = MyPassLoddingSetting.Default; } for (int i = 0; i < MyPassIdResolver.MaxCascadeDepthPassesCount; i++) { m_loddingSetting[MyPassIdResolver.GetSingleDepthPassId(i)] = singleDepthLodding; } }
public bool IsVisible(int passId) { if (MyPassIdResolver.IsGBufferPassId(passId)) { return(m_visibilityStrategy.GBufferVisibility); } else if (MyPassIdResolver.IsDepthPassId(passId)) { return(m_visibilityStrategy.DepthVisibility); } else { MyRenderProxy.Error("Unprocessed conditional"); } return(false); }