Attempt to improve mesher just a small ammount

This commit is contained in:
mcrcortex
2024-03-04 11:17:00 +10:00
parent 8007b0559f
commit 061058804d
3 changed files with 22 additions and 26 deletions

View File

@@ -98,7 +98,8 @@ public class DistanceTracker {
for (int y = this.minYSection >> capRing; y <= this.maxYSection >> capRing; y++) {
this.tracker.removeCache(capRing, x, y, z);
}
});*/
});
*/
}
if (isTerminatingRing) {

View File

@@ -11,30 +11,25 @@ public class QuadEncoder {
if (Mesher2D.getW(encodedMeshedData) > 16 || Mesher2D.getH(encodedMeshedData) > 16) {
throw new IllegalStateException("Width or height > 16");
}
int out = face;
out |= switch (face >> 1) {
case 0 ->
int dat = face;
dat |= ((Mesher2D.getW(encodedMeshedData) - 1) << 7) |
((Mesher2D.getH(encodedMeshedData) - 1) << 3);
if (face>>1 == 0) {
return dat |
(Mesher2D.getX(encodedMeshedData) << 21) |
(otherAxis << 16) |
(Mesher2D.getZ(encodedMeshedData) << 11) |
((Mesher2D.getW(encodedMeshedData)-1) << 7) |
((Mesher2D.getH(encodedMeshedData)-1) << 3);
case 1 ->
(Mesher2D.getZ(encodedMeshedData) << 11);
}
if (face>>1 == 1) {
return dat |
(Mesher2D.getX(encodedMeshedData) << 21) |
(Mesher2D.getZ(encodedMeshedData) << 16) |
(otherAxis << 11) |
((Mesher2D.getW(encodedMeshedData)-1) << 7) |
((Mesher2D.getH(encodedMeshedData)-1) << 3);
case 2 ->
(otherAxis << 11);
}
return dat |
(otherAxis << 21) |
(Mesher2D.getX(encodedMeshedData) << 16) |
(Mesher2D.getZ(encodedMeshedData) << 11) |
((Mesher2D.getW(encodedMeshedData)-1) << 7) |
((Mesher2D.getH(encodedMeshedData)-1) << 3);
default -> throw new IllegalStateException("Unexpected value: " + (face >> 1));
};
return out;
(Mesher2D.getZ(encodedMeshedData) << 11);
}
}

View File

@@ -6,7 +6,7 @@ import java.util.Random;
//TODO: redo this so that it works as you are inserting data into it maybe? since it should be much faster??
public class Mesher2D {
public final class Mesher2D {
private final int size;
private final int maxSize;
private final long[] data;