75 lines
1.3 KiB
Java
75 lines
1.3 KiB
Java
package com.mojang.blaze3d.buffers;
|
|
|
|
import com.mojang.blaze3d.DontObfuscate;
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import net.minecraft.util.Mth;
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
@DontObfuscate
|
|
public class Std140SizeCalculator {
|
|
private int size;
|
|
|
|
public int get() {
|
|
return this.size;
|
|
}
|
|
|
|
public Std140SizeCalculator align(int i) {
|
|
this.size = Mth.roundToward(this.size, i);
|
|
return this;
|
|
}
|
|
|
|
public Std140SizeCalculator putFloat() {
|
|
this.align(4);
|
|
this.size += 4;
|
|
return this;
|
|
}
|
|
|
|
public Std140SizeCalculator putInt() {
|
|
this.align(4);
|
|
this.size += 4;
|
|
return this;
|
|
}
|
|
|
|
public Std140SizeCalculator putVec2() {
|
|
this.align(8);
|
|
this.size += 8;
|
|
return this;
|
|
}
|
|
|
|
public Std140SizeCalculator putIVec2() {
|
|
this.align(8);
|
|
this.size += 8;
|
|
return this;
|
|
}
|
|
|
|
public Std140SizeCalculator putVec3() {
|
|
this.align(16);
|
|
this.size += 16;
|
|
return this;
|
|
}
|
|
|
|
public Std140SizeCalculator putIVec3() {
|
|
this.align(16);
|
|
this.size += 16;
|
|
return this;
|
|
}
|
|
|
|
public Std140SizeCalculator putVec4() {
|
|
this.align(16);
|
|
this.size += 16;
|
|
return this;
|
|
}
|
|
|
|
public Std140SizeCalculator putIVec4() {
|
|
this.align(16);
|
|
this.size += 16;
|
|
return this;
|
|
}
|
|
|
|
public Std140SizeCalculator putMat4f() {
|
|
this.align(16);
|
|
this.size += 64;
|
|
return this;
|
|
}
|
|
}
|