memory and main-thread fixes: ray map computed per ray instead of stored, photos take their world snapshot only when the render starts instead of while queued, biome tint blend cached per photo with the biome height in the key (was global, unbounded and stale across photos, worlds and 3d biomes), item definitions cached per id and context with the day only for local_time models, one date per photo for christmas chests and local_time, model chains cut at the depth limit not cached, bake failures logged per photo, no sync chunk loads for end gateway neighbours and spawner display mobs, a broken datapack variant file skips only itself
This commit is contained in:
1 parent
e08bfc81f3
commit
a890370cc5
16 files changed
+364
-163
No files matched your search
+4
-2
@@ -5,10 +5,12 @@ import eu.mhsl.minecraft.pixelpics.render.entity.cem.BlockEntityBaker;
|
||||
import eu.mhsl.minecraft.pixelpics.render.entity.cem.CemBaker;
|
||||
import eu.mhsl.minecraft.pixelpics.render.entity.cem.CemModelLoader;
|
||||
import eu.mhsl.minecraft.pixelpics.render.render.DefaultScreenRenderer;
|
||||
import eu.mhsl.minecraft.pixelpics.render.render.RayMap;
|
||||
import eu.mhsl.minecraft.pixelpics.render.render.RenderJob;
|
||||
import eu.mhsl.minecraft.pixelpics.render.sky.SkyContext;
|
||||
import eu.mhsl.minecraft.pixelpics.render.snapshot.WorldSnapshot;
|
||||
import eu.mhsl.minecraft.pixelpics.render.tint.BiomeTintProvider;
|
||||
import eu.mhsl.minecraft.pixelpics.render.util.SpecialDates;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
@@ -101,8 +103,8 @@ final class Harness {
|
||||
List<BlockEntityState> bes, List<DecorationState> decos, List<ObjectState> objects) {
|
||||
Location loc = new Location(null, cam.getX(), cam.getY(), cam.getZ());
|
||||
loc.setDirection(look.clone().subtract(cam));
|
||||
List<Vector> rayMap = DefaultScreenRenderer.buildRayMap(loc, w * SSAA, h * SSAA);
|
||||
return new RenderJob(world, rayMap, cam, w, h, NOON, mobs, bes, decos, objects);
|
||||
RayMap rayMap = DefaultScreenRenderer.buildRayMap(loc, w * SSAA, h * SSAA);
|
||||
return new RenderJob(world, rayMap, cam, w, h, NOON, mobs, bes, decos, objects, SpecialDates.now());
|
||||
}
|
||||
|
||||
/** Distance at which a box of extent {@code ext} (at least 0.5) fills the view, scaled {@code mul}, plus {@code add}. */
|
||||
|
||||
Reference in new issue
Block a user