Class SuperByteBuffer

java.lang.Object
com.simibubi.create.foundation.render.SuperByteBuffer
All Implemented Interfaces:
com.jozufozu.flywheel.util.transform.Rotate<SuperByteBuffer>, com.jozufozu.flywheel.util.transform.Scale<SuperByteBuffer>, com.jozufozu.flywheel.util.transform.Transform<SuperByteBuffer>, com.jozufozu.flywheel.util.transform.Translate<SuperByteBuffer>, com.jozufozu.flywheel.util.transform.TStack<SuperByteBuffer>

public class SuperByteBuffer extends Object implements com.jozufozu.flywheel.util.transform.Transform<SuperByteBuffer>, com.jozufozu.flywheel.util.transform.TStack<SuperByteBuffer>
  • Constructor Details

    • SuperByteBuffer

      public SuperByteBuffer(com.mojang.blaze3d.vertex.BufferBuilder buf)
  • Method Details

    • renderInto

      public void renderInto(com.mojang.blaze3d.vertex.PoseStack input, com.mojang.blaze3d.vertex.VertexConsumer builder)
    • reset

      public SuperByteBuffer reset()
    • isEmpty

      public boolean isEmpty()
    • getTransforms

      public com.mojang.blaze3d.vertex.PoseStack getTransforms()
    • translate

      public SuperByteBuffer translate(double x, double y, double z)
      Specified by:
      translate in interface com.jozufozu.flywheel.util.transform.Translate<SuperByteBuffer>
    • multiply

      public SuperByteBuffer multiply(com.mojang.math.Quaternion quaternion)
      Specified by:
      multiply in interface com.jozufozu.flywheel.util.transform.Rotate<SuperByteBuffer>
    • scale

      public SuperByteBuffer scale(float factorX, float factorY, float factorZ)
      Specified by:
      scale in interface com.jozufozu.flywheel.util.transform.Scale<SuperByteBuffer>
    • pushPose

      public SuperByteBuffer pushPose()
      Specified by:
      pushPose in interface com.jozufozu.flywheel.util.transform.TStack<SuperByteBuffer>
    • popPose

      public SuperByteBuffer popPose()
      Specified by:
      popPose in interface com.jozufozu.flywheel.util.transform.TStack<SuperByteBuffer>
    • mulPose

      public SuperByteBuffer mulPose(com.mojang.math.Matrix4f pose)
      Specified by:
      mulPose in interface com.jozufozu.flywheel.util.transform.Transform<SuperByteBuffer>
    • mulNormal

      public SuperByteBuffer mulNormal(com.mojang.math.Matrix3f normal)
      Specified by:
      mulNormal in interface com.jozufozu.flywheel.util.transform.Transform<SuperByteBuffer>
    • transform

      public SuperByteBuffer transform(com.mojang.blaze3d.vertex.PoseStack stack)
      Specified by:
      transform in interface com.jozufozu.flywheel.util.transform.Transform<SuperByteBuffer>
    • rotateCentered

      public SuperByteBuffer rotateCentered(net.minecraft.core.Direction axis, float radians)
      Specified by:
      rotateCentered in interface com.jozufozu.flywheel.util.transform.Transform<SuperByteBuffer>
    • rotateCentered

      public SuperByteBuffer rotateCentered(com.mojang.math.Quaternion q)
      Specified by:
      rotateCentered in interface com.jozufozu.flywheel.util.transform.Transform<SuperByteBuffer>
    • color

      public SuperByteBuffer color(int r, int g, int b, int a)
    • color

      public SuperByteBuffer color(int color)
    • color

      public SuperByteBuffer color(Color c)
    • disableDiffuse

      public SuperByteBuffer disableDiffuse()
      Prevents vertex colors from being multiplied by the diffuse value calculated from the final transformed normal vector. Useful for entity rendering, when diffuse is applied automatically later.
    • diffuseCalculator

      public SuperByteBuffer diffuseCalculator(com.jozufozu.flywheel.util.DiffuseLightCalculator diffuseCalculator)
    • shiftUV

      public SuperByteBuffer shiftUV(SpriteShiftEntry entry)
    • shiftUVScrolling

      public SuperByteBuffer shiftUVScrolling(SpriteShiftEntry entry, float scrollV)
    • shiftUVScrolling

      public SuperByteBuffer shiftUVScrolling(SpriteShiftEntry entry, float scrollU, float scrollV)
    • shiftUVtoSheet

      public SuperByteBuffer shiftUVtoSheet(SpriteShiftEntry entry, float uTarget, float vTarget, int sheetSize)
    • overlay

      public SuperByteBuffer overlay()
    • overlay

      public SuperByteBuffer overlay(int overlay)
    • light

      public SuperByteBuffer light()
    • light

      public SuperByteBuffer light(com.mojang.math.Matrix4f lightTransform)
    • light

      public SuperByteBuffer light(int packedLightCoords)
    • light

      public SuperByteBuffer light(com.mojang.math.Matrix4f lightTransform, int packedLightCoords)
    • hybridLight

      public SuperByteBuffer hybridLight()
      Uses max light from calculated light (world light or custom light) and vertex light for the final light value. Ineffective if any other light method was not called.
    • fullNormalTransform

      public SuperByteBuffer fullNormalTransform()
      Transforms normals not only by the local matrix stack, but also by the passed matrix stack.
    • forEntityRender

      public SuperByteBuffer forEntityRender()
    • transformColor

      public static int transformColor(byte component, float scale)
    • transformColor

      public static int transformColor(int component, float scale)
    • maxLight

      public static int maxLight(int packedLight1, int packedLight2)