VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.render.vertex;
import org.lwjgl.system.MemoryUtil;
public interface VertexBuilder {
void vertex(long var1, float var3, float var4, float var5, int var6, float var7, float var8, int var9, int var10);
void position(long var1, float var3, float var4, float var5);
void color(long var1, int var3);
void uv(long var1, float var3, float var4);
void light(long var1, int var3);
void normal(long var1, int var3);
int getStride();
public static class DefaultVertexBuilder implements VertexBuilder {
private static final int VERTEX_SIZE = 32;
public void vertex(long ptr, float x, float y, float z, int color, float u, float v, int light, int packedNormal) {
MemoryUtil.memPutFloat(ptr + 0L, x);
MemoryUtil.memPutFloat(ptr + 4L, y);
MemoryUtil.memPutFloat(ptr + 8L, z);
MemoryUtil.memPutInt(ptr + 12L, color);
MemoryUtil.memPutFloat(ptr + 16L, u);
MemoryUtil.memPutFloat(ptr + 20L, v);
MemoryUtil.memPutShort(ptr + 24L, (short)(light & '\uffff'));
MemoryUtil.memPutShort(ptr + 26L, (short)(light >> 16 & '\uffff'));
MemoryUtil.memPutInt(ptr + 28L, packedNormal);
}
public void position(long ptr, float x, float y, float z) {
}
public void color(long ptr, int color) {
}
public void uv(long ptr, float u, float v) {
}
public void light(long ptr, int light) {
}
public void normal(long ptr, int normal) {
}
public int getStride() {
return 32;
}
}
public static class CompressedVertexBuilder implements VertexBuilder {
private static final int VERTEX_SIZE = 16;
public static final float POS_CONV_MUL = 2048.0F;
public static final float POS_OFFSET = -4.0F;
public static final float POS_OFFSET_CONV = -8192.0F;
public static final float UV_CONV_MUL = 32768.0F;
public void vertex(long ptr, float x, float y, float z, int color, float u, float v, int light, int packedNormal) {
short sX = (short)((int)(x * 2048.0F + -8192.0F));
short sY = (short)((int)(y * 2048.0F + -8192.0F));
short sZ = (short)((int)(z * 2048.0F + -8192.0F));
MemoryUtil.memPutShort(ptr + 0L, sX);
MemoryUtil.memPutShort(ptr + 2L, sY);
MemoryUtil.memPutShort(ptr + 4L, sZ);
short l = (short)(light >>> 8 & '\uff00' | light & 255);
MemoryUtil.memPutShort(ptr + 6L, l);
MemoryUtil.memPutShort(ptr + 8L, (short)((int)(u * 32768.0F)));
MemoryUtil.memPutShort(ptr + 10L, (short)((int)(v * 32768.0F)));
MemoryUtil.memPutInt(ptr + 12L, color);
}
public void position(long ptr, float x, float y, float z) {
short sX = (short)((int)(x * 2048.0F + -8192.0F));
short sY = (short)((int)(y * 2048.0F + -8192.0F));
short sZ = (short)((int)(z * 2048.0F + -8192.0F));
MemoryUtil.memPutShort(ptr + 0L, sX);
MemoryUtil.memPutShort(ptr + 2L, sY);
MemoryUtil.memPutShort(ptr + 4L, sZ);
}
public void color(long ptr, int color) {
MemoryUtil.memPutInt(ptr + 12L, color);
}
public void uv(long ptr, float u, float v) {
MemoryUtil.memPutShort(ptr + 8L, (short)((int)(u * 32768.0F)));
MemoryUtil.memPutShort(ptr + 10L, (short)((int)(v * 32768.0F)));
}
public void light(long ptr, int light) {
short l = (short)(light >>> 8 & '\uff00' | light & 255);
MemoryUtil.memPutShort(ptr + 6L, l);
}
public void normal(long ptr, int normal) {
}
public int getStride() {
return 16;
}
}
}
Download file