Class PipelinePoseStackMixin

java.lang.Object
foundry.veil.mixin.pipeline.client.PipelinePoseStackMixin
All Implemented Interfaces:
MatrixStack

public abstract class PipelinePoseStackMixin extends Object implements MatrixStack
  • Constructor Details

    • PipelinePoseStackMixin

      public PipelinePoseStackMixin()
  • Method Details

    • shadow$scale

      public abstract void shadow$scale(float x, float y, float z)
    • shadow$mulPose

      public abstract void shadow$mulPose(org.joml.Quaternionf quaternion)
    • shadow$rotateAround

      public abstract void shadow$rotateAround(org.joml.Quaternionf quaternion, float x, float y, float z)
    • shadow$pushPose

      public abstract void shadow$pushPose()
    • shadow$popPose

      public abstract void shadow$popPose()
    • last

      public abstract com.mojang.blaze3d.vertex.PoseStack.Pose last()
    • clear

      public void clear()
      Description copied from interface: MatrixStack
      Clears all transformations.
      Specified by:
      clear in interface MatrixStack
    • translate

      public void translate(float x, float y, float z)
      Description copied from interface: MatrixStack
      Translates the position by the specified amount.
      Specified by:
      translate in interface MatrixStack
      Parameters:
      x - The x amount
      y - The y amount
      z - The z amount
    • rotate

      public void rotate(org.joml.Quaterniondc rotation)
      Description copied from interface: MatrixStack
      Rotates the position and normal by the specified quaternion rotation.
      Specified by:
      rotate in interface MatrixStack
      Parameters:
      rotation - The rotation to use
    • rotate

      public void rotate(org.joml.Quaternionfc rotation)
      Description copied from interface: MatrixStack
      Rotates the position and normal by the specified quaternion rotation.
      Specified by:
      rotate in interface MatrixStack
      Parameters:
      rotation - The rotation to use
    • rotate

      public void rotate(float angle, float x, float y, float z)
      Description copied from interface: MatrixStack

      Rotates the position and normal by the specified angle about the line specified by x, y, z.

      For rotating along all 3 axes, use MatrixStack.rotateXYZ(float, float, float) or MatrixStack.rotateZYX(float, float, float).

      Specified by:
      rotate in interface MatrixStack
      Parameters:
      angle - The amount to rotate in radians
      x - The x normal
      y - The y normal
      z - The z normal
    • rotateXYZ

      public void rotateXYZ(float x, float y, float z)
      Description copied from interface: MatrixStack
      Rotates about the x, y, then z planes the specified angles.
      Specified by:
      rotateXYZ in interface MatrixStack
      Parameters:
      x - The amount to rotate in the x in radians
      y - The amount to rotate in the y in radians
      z - The amount to rotate in the z in radians
    • rotateZYX

      public void rotateZYX(float z, float y, float x)
      Description copied from interface: MatrixStack
      Rotates about the z, y, then x planes the specified angles.
      Specified by:
      rotateZYX in interface MatrixStack
      Parameters:
      z - The amount to rotate in the x in radians
      y - The amount to rotate in the y in radians
      x - The amount to rotate in the z in radians
    • rotateAround

      public void rotateAround(org.joml.Quaterniondc rotation, double x, double y, double z)
      Description copied from interface: MatrixStack
      Rotates the position and normal by the specified quaternion rotation about the specified rotation point.
      Specified by:
      rotateAround in interface MatrixStack
      Parameters:
      rotation - The rotation to use
      x - The rotation point X
      y - The rotation point Y
      z - The rotation point Z
    • rotateAround

      public void rotateAround(org.joml.Quaternionfc rotation, float x, float y, float z)
      Description copied from interface: MatrixStack
      Rotates the position and normal by the specified quaternion rotation about the specified rotation point.
      Specified by:
      rotateAround in interface MatrixStack
      Parameters:
      rotation - The rotation to use
      x - The rotation point X
      y - The rotation point Y
      z - The rotation point Z
    • applyScale

      public void applyScale(float x, float y, float z)
      Description copied from interface: MatrixStack
      Scales the position and normal by the specified amount in the x, y, and z.
      Specified by:
      applyScale in interface MatrixStack
      Parameters:
      x - The x scale factor
      y - The y scale factor
      z - The z scale factor
    • isIdentity

      public boolean isIdentity()
      Specified by:
      isIdentity in interface MatrixStack
      Returns:
      Whether the MatrixStack.position() and MatrixStack.normal() are identity matrices
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface MatrixStack
      Returns:
      Whether there are no more transformations to pop
    • matrixPush

      public void matrixPush()
      Description copied from interface: MatrixStack
      Saves the current position and normal transformation for restoring later with MatrixStack.matrixPop().
      Specified by:
      matrixPush in interface MatrixStack
    • matrixPop

      public void matrixPop()
      Description copied from interface: MatrixStack
      Restores a previous position and normal set with MatrixStack.matrixPush().
      Specified by:
      matrixPop in interface MatrixStack
    • pose

      public com.mojang.blaze3d.vertex.PoseStack.Pose pose()
      Specified by:
      pose in interface MatrixStack
      Returns:
      The last pose in the stack
    • toPoseStack

      public com.mojang.blaze3d.vertex.PoseStack toPoseStack()
      Specified by:
      toPoseStack in interface MatrixStack
      Returns:
      This matrix stack as a vanilla mc PoseStack