public override List<IObject> GetNotCulledObjectsList(MaterialType? Filter, CullerComparer CullerComparer = CullerComparer.None, Vector3? CameraPosition = null) { switch (CullerComparer) { case CullerComparer.ComparerFrontToBack: System.Diagnostics.Debug.Assert(CameraPosition.HasValue); ComparerFrontToBack.CameraPosition = CameraPosition.Value; forward.Sort(ComparerFrontToBack); deferred.Sort(ComparerFrontToBack); break; case CullerComparer.ComparerBackToFront: System.Diagnostics.Debug.Assert(CameraPosition.HasValue); ComparerBackToFront.CameraPosition = CameraPosition.Value; forward.Sort(ComparerBackToFront); deferred.Sort(ComparerBackToFront); break; default: break; } if (Filter == PloobsEngine.Material.MaterialType.DEFERRED) return deferred.ToList(); else if (Filter == PloobsEngine.Material.MaterialType.FORWARD) return forward.ToList(); else { List<IObject> objs = new List<IObject>(); objs.AddRange(deferred); objs.AddRange(forward); return objs; } }
public override List <IObject> GetNotCulledObjectsList(MaterialType?Filter, CullerComparer CullerComparer = CullerComparer.None, Vector3?CameraPosition = null) { switch (CullerComparer) { case CullerComparer.ComparerFrontToBack: System.Diagnostics.Debug.Assert(CameraPosition.HasValue); ComparerFrontToBack.CameraPosition = CameraPosition.Value; forward.Sort(ComparerFrontToBack); deferred.Sort(ComparerFrontToBack); break; case CullerComparer.ComparerBackToFront: System.Diagnostics.Debug.Assert(CameraPosition.HasValue); ComparerBackToFront.CameraPosition = CameraPosition.Value; forward.Sort(ComparerBackToFront); deferred.Sort(ComparerBackToFront); break; default: break; } if (Filter == PloobsEngine.Material.MaterialType.DEFERRED) { return(deferred.ToList()); } else if (Filter == PloobsEngine.Material.MaterialType.FORWARD) { return(forward.ToList()); } else { List <IObject> objs = new List <IObject>(); objs.AddRange(deferred); objs.AddRange(forward); return(objs); } }
/// <summary> /// Get all the objects that pass the culling phase /// </summary> /// <param name="Filter">Or Filter, null for all</param> /// <returns></returns> public abstract List<IObject> GetNotCulledObjectsList(MaterialType? Filter, CullerComparer CullerComparer = CullerComparer.None, Vector3? CameraPosition = null);
/// <summary> /// Get all the objects that pass the culling phase /// </summary> /// <param name="Filter">Or Filter, null for all</param> /// <returns></returns> public abstract List <IObject> GetNotCulledObjectsList(MaterialType?Filter, CullerComparer CullerComparer = CullerComparer.None, Vector3?CameraPosition = null);