2019-10-30 12:15:03 -04:00
|
|
|
CLASS net/minecraft/class_4587 net/minecraft/client/util/math/MatrixStack
|
2022-09-03 13:01:33 -04:00
|
|
|
COMMENT A stack of transformation matrices used to specify how 3D objects are
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT {@linkplain #translate translated}, {@linkplain #scale scaled} or
|
|
|
|
COMMENT {@linkplain #multiply rotated} in 3D space. Each entry consists of a
|
2022-09-03 13:01:33 -04:00
|
|
|
COMMENT {@linkplain Entry#getPositionMatrix position matrix} and its
|
|
|
|
COMMENT corresponding {@linkplain Entry#getNormalMatrix normal matrix}.
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT
|
|
|
|
COMMENT <p>By putting matrices in a stack, a transformation can be expressed
|
2022-09-03 13:01:33 -04:00
|
|
|
COMMENT relative to another. You can {@linkplain #push push}, transform,
|
|
|
|
COMMENT render and {@linkplain #pop pop}, which allows you to restore the
|
|
|
|
COMMENT original matrix after rendering.
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT
|
|
|
|
COMMENT <p>An entry of identity matrix is pushed when a stack is created. This
|
|
|
|
COMMENT means that a stack is {@linkplain #isEmpty empty} if and only if the
|
|
|
|
COMMENT stack contains exactly one entry.
|
2019-10-09 12:43:46 -04:00
|
|
|
FIELD field_20898 stack Ljava/util/Deque;
|
|
|
|
METHOD method_22903 push ()V
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT Pushes a copy of the top entry onto this stack.
|
2019-10-09 12:43:46 -04:00
|
|
|
METHOD method_22904 translate (DDD)V
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT Applies the translation transformation to the top entry.
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 x
|
|
|
|
ARG 3 y
|
|
|
|
ARG 5 z
|
|
|
|
METHOD method_22905 scale (FFF)V
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT Applies the scale transformation to the top entry.
|
2022-09-03 13:01:33 -04:00
|
|
|
COMMENT
|
|
|
|
COMMENT @implNote This does not scale the normal matrix correctly when the
|
|
|
|
COMMENT scaling is uniform and the scaling factor is negative.
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
2022-10-26 10:05:20 -04:00
|
|
|
METHOD method_22907 multiply (Lorg/joml/Quaternionf;)V
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT Applies the rotation transformation to the top entry.
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 quaternion
|
2020-11-06 09:25:09 -05:00
|
|
|
METHOD method_22908 (Ljava/util/ArrayDeque;)V
|
|
|
|
ARG 0 stack
|
2019-10-09 12:43:46 -04:00
|
|
|
METHOD method_22909 pop ()V
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT Removes the entry at the top of this stack.
|
2019-10-09 12:43:46 -04:00
|
|
|
METHOD method_22911 isEmpty ()Z
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT {@return whether this stack contains exactly one entry}
|
2019-11-09 14:08:42 -05:00
|
|
|
METHOD method_23760 peek ()Lnet/minecraft/class_4587$class_4665;
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT {@return the entry at the top of this stack}
|
2022-10-26 10:05:20 -04:00
|
|
|
METHOD method_34425 multiplyPositionMatrix (Lorg/joml/Matrix4f;)V
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT Multiplies the top position matrix with the given matrix.
|
2022-09-03 13:01:33 -04:00
|
|
|
COMMENT
|
|
|
|
COMMENT <p>This does not update the normal matrix unlike other transformation
|
|
|
|
COMMENT methods.
|
2021-11-01 09:28:53 -04:00
|
|
|
ARG 1 matrix
|
2021-03-16 15:53:20 -04:00
|
|
|
METHOD method_34426 loadIdentity ()V
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT Sets the top entry to be the identity matrix.
|
2022-10-26 13:05:11 -04:00
|
|
|
METHOD method_46416 translate (FFF)V
|
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
2023-02-17 02:09:58 -05:00
|
|
|
METHOD method_49278 multiply (Lorg/joml/Quaternionf;FFF)V
|
|
|
|
ARG 1 quaternion
|
|
|
|
ARG 2 originX
|
|
|
|
ARG 3 originY
|
|
|
|
ARG 4 originZ
|
2019-12-02 08:55:18 -05:00
|
|
|
CLASS class_4665 Entry
|
2022-10-26 10:05:20 -04:00
|
|
|
FIELD field_21327 positionMatrix Lorg/joml/Matrix4f;
|
|
|
|
FIELD field_21328 normalMatrix Lorg/joml/Matrix3f;
|
2024-02-02 09:02:58 -05:00
|
|
|
FIELD field_48930 canSkipNormalization Z
|
2024-01-31 22:10:35 -05:00
|
|
|
METHOD <init> (Lnet/minecraft/class_4587$class_4665;)V
|
|
|
|
ARG 1 matrix
|
2022-10-26 10:05:20 -04:00
|
|
|
METHOD <init> (Lorg/joml/Matrix4f;Lorg/joml/Matrix3f;)V
|
2024-01-31 22:10:35 -05:00
|
|
|
ARG 1 positionMatrix
|
2021-11-01 09:28:53 -04:00
|
|
|
ARG 2 normalMatrix
|
2022-10-26 10:05:20 -04:00
|
|
|
METHOD method_23761 getPositionMatrix ()Lorg/joml/Matrix4f;
|
2021-11-01 09:28:53 -04:00
|
|
|
COMMENT {@return the matrix used to transform positions}
|
2022-10-26 10:05:20 -04:00
|
|
|
METHOD method_23762 getNormalMatrix ()Lorg/joml/Matrix3f;
|
2022-09-03 13:01:33 -04:00
|
|
|
COMMENT {@return the matrix used to transform normal vectors}
|
2024-02-02 09:02:58 -05:00
|
|
|
METHOD method_56820 transformNormal (FFFLorg/joml/Vector3f;)Lorg/joml/Vector3f;
|
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
|
|
|
ARG 4 dest
|
|
|
|
METHOD method_56821 transformNormal (Lorg/joml/Vector3f;Lorg/joml/Vector3f;)Lorg/joml/Vector3f;
|
|
|
|
ARG 1 vec
|
|
|
|
ARG 2 dest
|
2024-01-31 22:10:35 -05:00
|
|
|
METHOD method_56822 copy ()Lnet/minecraft/class_4587$class_4665;
|
2024-02-02 09:02:58 -05:00
|
|
|
METHOD method_56823 computeNormal ()V
|