2023-12-24 21:49:28 -08:00
|
|
|
package net.coderbot.iris.vertices;
|
|
|
|
|
|
|
|
|
|
import com.google.common.collect.ImmutableList;
|
2024-08-04 16:41:58 -06:00
|
|
|
|
|
|
|
|
import com.gtnewhorizon.gtnhlib.client.renderer.vertex.DefaultVertexFormat;
|
|
|
|
|
import com.gtnewhorizon.gtnhlib.client.renderer.vertex.VertexFormat;
|
|
|
|
|
import com.gtnewhorizon.gtnhlib.client.renderer.vertex.VertexFormatElement;
|
2023-12-24 21:49:28 -08:00
|
|
|
|
|
|
|
|
public class IrisVertexFormats {
|
|
|
|
|
public static final VertexFormatElement ENTITY_ELEMENT;
|
|
|
|
|
public static final VertexFormatElement MID_TEXTURE_ELEMENT;
|
|
|
|
|
public static final VertexFormatElement TANGENT_ELEMENT;
|
|
|
|
|
public static final VertexFormatElement MID_BLOCK_ELEMENT;
|
|
|
|
|
|
|
|
|
|
public static final VertexFormat TERRAIN;
|
|
|
|
|
public static final VertexFormat ENTITY;
|
|
|
|
|
|
|
|
|
|
static {
|
|
|
|
|
ENTITY_ELEMENT = new VertexFormatElement(11, VertexFormatElement.Type.SHORT, VertexFormatElement.Usage.GENERIC, 2);
|
|
|
|
|
MID_TEXTURE_ELEMENT = new VertexFormatElement(12, VertexFormatElement.Type.FLOAT, VertexFormatElement.Usage.GENERIC, 2);
|
|
|
|
|
TANGENT_ELEMENT = new VertexFormatElement(13, VertexFormatElement.Type.BYTE, VertexFormatElement.Usage.GENERIC, 4);
|
|
|
|
|
MID_BLOCK_ELEMENT = new VertexFormatElement(14, VertexFormatElement.Type.BYTE, VertexFormatElement.Usage.GENERIC, 3);
|
|
|
|
|
|
|
|
|
|
ImmutableList.Builder<VertexFormatElement> terrainElements = ImmutableList.builder();
|
|
|
|
|
ImmutableList.Builder<VertexFormatElement> entityElements = ImmutableList.builder();
|
|
|
|
|
|
|
|
|
|
terrainElements.add(DefaultVertexFormat.POSITION_ELEMENT); // 12
|
|
|
|
|
terrainElements.add(DefaultVertexFormat.COLOR_ELEMENT); // 16
|
2024-01-03 11:34:11 -08:00
|
|
|
terrainElements.add(DefaultVertexFormat.TEXTURE_ELEMENT); // 24
|
2023-12-24 21:49:28 -08:00
|
|
|
terrainElements.add(DefaultVertexFormat.LIGHT_ELEMENT); // 28
|
|
|
|
|
terrainElements.add(DefaultVertexFormat.NORMAL_ELEMENT); // 31
|
|
|
|
|
terrainElements.add(DefaultVertexFormat.PADDING_ELEMENT); // 32
|
|
|
|
|
terrainElements.add(ENTITY_ELEMENT); // 36
|
|
|
|
|
terrainElements.add(MID_TEXTURE_ELEMENT); // 44
|
|
|
|
|
terrainElements.add(TANGENT_ELEMENT); // 48
|
|
|
|
|
terrainElements.add(MID_BLOCK_ELEMENT); // 51
|
|
|
|
|
terrainElements.add(DefaultVertexFormat.PADDING_ELEMENT); // 52
|
|
|
|
|
|
|
|
|
|
entityElements.add(DefaultVertexFormat.POSITION_ELEMENT); // 12
|
|
|
|
|
entityElements.add(DefaultVertexFormat.COLOR_ELEMENT); // 16
|
2024-01-03 11:34:11 -08:00
|
|
|
entityElements.add(DefaultVertexFormat.TEXTURE_ELEMENT); // 24
|
2024-08-04 16:41:58 -06:00
|
|
|
entityElements.add(DefaultVertexFormat.LIGHT_ELEMENT); // 28
|
|
|
|
|
entityElements.add(DefaultVertexFormat.NORMAL_ELEMENT); // 31
|
|
|
|
|
entityElements.add(DefaultVertexFormat.PADDING_ELEMENT); // 32
|
|
|
|
|
entityElements.add(MID_TEXTURE_ELEMENT); // 40
|
|
|
|
|
entityElements.add(TANGENT_ELEMENT); // 44
|
2023-12-24 21:49:28 -08:00
|
|
|
|
|
|
|
|
TERRAIN = new VertexFormat(terrainElements.build());
|
|
|
|
|
ENTITY = new VertexFormat(entityElements.build());
|
|
|
|
|
}
|
|
|
|
|
}
|