From f7c45e5486e312a38857c034778aee3ed8ba60a7 Mon Sep 17 00:00:00 2001
From: Jozufozu
+ * This prevents floating point precision issues at high coordinates.
+ */
+ void beginFrame(Camera info);
+
+ default void delete() {
+
+ }
+}
diff --git a/src/main/java/com/jozufozu/flywheel/backend/material/batching/BatchedMaterial.java b/src/main/java/com/jozufozu/flywheel/backend/material/batching/BatchedMaterial.java
new file mode 100644
index 000000000..96a93766a
--- /dev/null
+++ b/src/main/java/com/jozufozu/flywheel/backend/material/batching/BatchedMaterial.java
@@ -0,0 +1,46 @@
+package com.jozufozu.flywheel.backend.material.batching;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Supplier;
+
+import com.jozufozu.flywheel.backend.instancing.CPUInstancer;
+import com.jozufozu.flywheel.backend.instancing.InstanceData;
+import com.jozufozu.flywheel.backend.instancing.Instancer;
+import com.jozufozu.flywheel.backend.material.Material;
+import com.jozufozu.flywheel.backend.material.MaterialSpec;
+import com.jozufozu.flywheel.backend.struct.StructType;
+import com.jozufozu.flywheel.core.model.IModel;
+import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.blaze3d.vertex.VertexConsumer;
+
+public class BatchedMaterial