Skip to content

Iris breaks emissive Bumblezone entities at certain camera angles and player positions when shaders are turned on [1.20.1, 1.21.1 on Fabric, Forge, and NeoForge] #550

@TelepathicGrunt

Description

@TelepathicGrunt

My Purple Spike, Electric Ring, and Cosmic Crystal Laser all use these 2 rendertypes

public static final Function<ResourceLocation, RenderType> ENTITY_CUTOUT_EMISSIVE_RENDER_TYPE = Util.memoize((resourceLocation) -> {
RenderType.CompositeState compositeState = RenderType.CompositeState.builder()
.setShaderState(RENDERTYPE_ENERGY_SWIRL_SHADER)
.setTextureState(new RenderStateShard.TextureStateShard(resourceLocation, false, false))
.setTransparencyState(NO_TRANSPARENCY)
.setCullState(NO_CULL)
.setOverlayState(NO_OVERLAY)
.createCompositeState(false);
return RenderType.create(Bumblezone.MODID + ":entity_cutout_emissive",
DefaultVertexFormat.NEW_ENTITY,
VertexFormat.Mode.QUADS,
256,
false,
true,
compositeState);
});
public static final Function<ResourceLocation, RenderType> ENTITY_TRANSPARENT_EMISSIVE_RENDER_TYPE = Util.memoize((resourceLocation) -> {
RenderType.CompositeState compositeState = RenderType.CompositeState.builder()
.setShaderState(RENDERTYPE_ENERGY_SWIRL_SHADER)
.setTextureState(new RenderStateShard.TextureStateShard(resourceLocation, false, false))
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
.setCullState(NO_CULL)
.setOverlayState(NO_OVERLAY)
.createCompositeState(false);
return RenderType.create(Bumblezone.MODID + ":entity_transparent_emissive",
DefaultVertexFormat.NEW_ENTITY,
VertexFormat.Mode.QUADS,
256,
false,
true,
compositeState);
});

The issue is when running Iris (or Oculus for that matter) and have a shader applied (any shader), the above entities will randomly go pitch black when viewed at certain camera angles and player positions. The problematic angles/player positions are narrow. And it doesn't matter where the problematic entities are one player is at the broken angle + position, all the visible entities are affected on screen at the exact time. Otherwise, outside those narrow looking angles and player positions, the entities look fine. I suspect the bug is within Iris itself as I lack the ability to debug this further as it is quite odd.

Image Image Image

Easiest reproduction step is to put on Iris, a shader, and Bumblezone. Then run this command /bumblezone_modify_data is_bee_essenced @s true and then /setblock ~ ~ ~ the_bumblezone:essence_block_yellow. And then try viewing that ring entity in the arena from various angles until you find the very specific broken angle. It seems more likely to happen when in the arenas than outside it but I had seen the ring entity broken once in overworld underground outside of arena.

I have found the issue on Iris for 1.21.1 Fabric/NeoForge and on 1.20.1 Fabric. Even Oculus on 1.20.1 Forge is affected. Doesn't matter what shader is used. As long as shader flow is activated, the bug can happen. (I tried Complementary, Proton, and a bunch others)

I did not have any _e or _s file for the entity textures.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Mod CompatIssue is caused with another mod being on or compat with another modbugSomething isn't workinghelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions