Skip to content

Instantly share code, notes, and snippets.

@RainWarrior
Last active April 5, 2016 04:46
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RainWarrior/b1d5772f710cd39f4740 to your computer and use it in GitHub Desktop.
Save RainWarrior/b1d5772f710cd39f4740 to your computer and use it in GitHub Desktop.
public BakedQuad rotate(final Matrix4f transform, final Matrix3f invtranspose, BakedQuad quad)
{
UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(DefaultVertexFormats.ITEM);
IVertexConsumer cons = new VertexTransformer(builder)
{
@Override public void put(int element, float... data)
{
VertexFormatElement el = DefaultVertexFormats.ITEM.getElement(element);
switch(el.getUsage())
{
case POSITION:
float[] newData = new float[4];
Vector4f vec = new Vector4f(data);
transform.transform(vec);
vec.get(newData);
parent.put(element, newData2);
break;
case NORMAL:
float[] newData2 = new float[4];
Vector3f vec2 = new Vector3f(data);
invtranspose.transform(vec2);
vec2.get(newData2);
newData[3] = 0;
parent.put(element, newData2);
break;
default:
parent.put(element, data);
break;
}
}
};
quad.pipe(cons);
return builder.build();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment