/** * Creates a new RenderQueue, the default {@link GeometryComparator comparators} * are used for all {@link GeometryList geometry lists}. */ public RenderQueue() { this.opaqueList = new GeometryList(new OpaqueComparator()); this.guiList = new GeometryList(new GuiComparator()); this.transparentList = new GeometryList(new TransparentComparator()); this.translucentList = new GeometryList(new TransparentComparator()); this.skyList = new GeometryList(new NullComparator()); }
@Override public int compare(Geometry o1, Geometry o2) { Material m1 = o1.getMaterial(); Material m2 = o2.getMaterial(); int compareResult = Integer.compare(m1.getSortId(), m2.getSortId()); if (compareResult == 0){ // use the same shader. // sort front-to-back then. float d1 = distanceToCam(o1); float d2 = distanceToCam(o2); if (d1 == d2) return 0; else if (d1 < d2) return -1; else return 1; }else{ return compareResult; } }
@Before public void setUp() { assetManager = TestUtil.createAssetManager(); renderManager = TestUtil.createRenderManager(); comparator.setCamera(cam); }
/** * Creates a new RenderQueue, the default {@link GeometryComparator comparators} * are used for all {@link GeometryList geometry lists}. */ public RenderQueue() { this.opaqueList = new GeometryList(new OpaqueComparator()); this.guiList = new GeometryList(new GuiComparator()); this.transparentList = new GeometryList(new TransparentComparator()); this.translucentList = new GeometryList(new TransparentComparator()); this.skyList = new GeometryList(new NullComparator()); this.shadowRecv = new GeometryList(new OpaqueComparator()); this.shadowCast = new GeometryList(new OpaqueComparator()); }
public int compare(Geometry o1, Geometry o2) { Material m1 = o1.getMaterial(); Material m2 = o2.getMaterial(); int sortId = m1.compareTo(m2); if (sortId == 0){ // use the same shader. // sort front-to-back then. float d1 = distanceToCam(o1); float d2 = distanceToCam(o2); if (d1 == d2) return 0; else if (d1 < d2) return -1; else return 1; }else{ return sortId; } }
/** * Creates a new RenderQueue, the default {@link GeometryComparator comparators} * are used for all {@link GeometryList geometry lists}. */ public RenderQueue() { this.opaqueList = new GeometryList(new OpaqueComparator()); this.guiList = new GeometryList(new GuiComparator()); this.transparentList = new GeometryList(new TransparentComparator()); this.translucentList = new GeometryList(new TransparentComparator()); this.skyList = new GeometryList(new NullComparator()); }
@Override public int compare(Geometry o1, Geometry o2) { Material m1 = o1.getMaterial(); Material m2 = o2.getMaterial(); int compareResult = Integer.compare(m1.getSortId(), m2.getSortId()); if (compareResult == 0){ // use the same shader. // sort front-to-back then. float d1 = distanceToCam(o1); float d2 = distanceToCam(o2); if (d1 == d2) return 0; else if (d1 < d2) return -1; else return 1; }else{ return compareResult; } }