45 lines
1 KiB
Java
45 lines
1 KiB
Java
package com.mojang.blaze3d.vertex;
|
|
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
public class Tesselator {
|
|
private static final int MAX_BYTES = 786432;
|
|
private final ByteBufferBuilder buffer;
|
|
@Nullable
|
|
private static Tesselator instance;
|
|
|
|
public static void init() {
|
|
if (instance != null) {
|
|
throw new IllegalStateException("Tesselator has already been initialized");
|
|
} else {
|
|
instance = new Tesselator();
|
|
}
|
|
}
|
|
|
|
public static Tesselator getInstance() {
|
|
if (instance == null) {
|
|
throw new IllegalStateException("Tesselator has not been initialized");
|
|
} else {
|
|
return instance;
|
|
}
|
|
}
|
|
|
|
public Tesselator(int capacity) {
|
|
this.buffer = new ByteBufferBuilder(capacity);
|
|
}
|
|
|
|
public Tesselator() {
|
|
this(786432);
|
|
}
|
|
|
|
public BufferBuilder begin(VertexFormat.Mode mode, VertexFormat format) {
|
|
return new BufferBuilder(this.buffer, mode, format);
|
|
}
|
|
|
|
public void clear() {
|
|
this.buffer.clear();
|
|
}
|
|
}
|