Interface IrisCompanionMeshRenderer

All Known Implementing Classes:
InstancedStaticPartRenderer

public interface IrisCompanionMeshRenderer
Contract for the Iris/Oculus companion-mesh renderer surface of InstancedStaticPartRenderer.

This path drives the IrisCompanionMesh (NEW_ENTITY format, iris_Entity / mc_midTexCoord / at_tangent attributes) through Iris's ExtendedShader, producing correct G-buffer / shadow-pass / pack-uniform output. Implementation: InstancedStaticPartRenderer.

  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    drawSingleWithIrisExtended(com.mojang.blaze3d.vertex.PoseStack poseStack, int packedLight, net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.entity.BlockEntity blockEntity)
    Per-machine draw through the Iris ExtendedShader obtained from ShaderMap.
    void
    flushBatchIris(org.joml.Matrix4f projectionMatrix)
    Iris-compatible batch flush: a sequence of per-machine draws through the ExtendedShader, with framebuffer/CustomUniforms hoisted outside the loop and only ModelViewMat / iris_* derived uniforms mutated per instance.
  • Method Details

    • drawSingleWithIrisExtended

      boolean drawSingleWithIrisExtended(com.mojang.blaze3d.vertex.PoseStack poseStack, int packedLight, net.minecraft.core.BlockPos blockPos, @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity)
      Per-machine draw through the Iris ExtendedShader obtained from ShaderMap. Used both as the main entry for single-instance Iris draws and as the shadow-pass bypass invoked from addInstance when ShaderCompatibilityDetector .isRenderingShadowPass() returns true.

      Source: InstancedStaticPartRenderer#drawSingleWithIrisExtended( PoseStack, int, BlockPos, BlockEntity).

      Returns:
      true if the draw was performed (companion mesh + shader resolved); false to signal the caller should fall through to the classic putBulkData path.
    • flushBatchIris

      void flushBatchIris(org.joml.Matrix4f projectionMatrix)
      Iris-compatible batch flush: a sequence of per-machine draws through the ExtendedShader, with framebuffer/CustomUniforms hoisted outside the loop and only ModelViewMat / iris_* derived uniforms mutated per instance. Renders both main and shadow passes so machines correctly cast shadows under shader packs.

      Source: InstancedStaticPartRenderer#flushBatchIris(Matrix4f).