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;
 | |
| 	}
 | |
| }
 |