Hello !
Human part
First I want to be honest, I found the origin of this problem witht he help of AI. I know that AI reporting can be bullshit, so I will begin with this human part with the facts that I know are 100% true:
Description of the bug
For ETF Skins with emissive features, if the shader photon is applied with and enhanced_batching is activated, the skin will have weird renderings. You can see the screenshots below with what the skin should look like, and what I see when the option is activated:
EDIT: The circular texture is a custoom item placed on the head and is not a mood feature
Environment
- Minecraft 26.1.2 (Fabric Loader 0.19.3)
- ImmediatelyFast 1.15.3+26.1
- Iris 1.11.3+mc26.1.2, Sodium 0.9.1+mc26.1.2
- Shader pack: Photon v1.3b
- Entity Texture Features (ETF) 7.1, Entity Model Features (EMF) 3.2.4
Why an IF report ?
It seems that similar issues with enhanced_batching were fixed in IF side in the past, and the AI interpretation seems to point in this direction. If I'm wrong, I'm apologize.
AI report
Describe the issue
With Photon active on MC 26.1.2, player skins using ETF skin features (emissive / "enchanted" pixels, added via ETF's skin tool) render with the base skin completely invisible — only the emissive overlay pixels are visible, in both first- and third-person view. The rest of the player model (arms, body, head) is transparent.
This affects multiple players on our server.
Test matrix (minimal instance, everything else identical)
| ImmediatelyFast |
enhanced_batching |
Photon shader |
Base skin renders? |
| not installed |
— |
✅ |
✅ yes |
| installed |
true |
✅ |
❌ no — only emissive pixels visible |
| installed |
false |
✅ |
✅ yes |
| installed |
true |
❌ (shaders disabled) |
✅ yes |
The bug requires all three: ImmediatelyFast enhanced_batching + Photon + ETF skin-feature skins.
Probable cause
Photon on MC ≥ 26.1 force-enables its separate-entity-draws pipeline (USE_SEPARATE_ENTITY_DRAWS is a hard #define guarded by MC_VERSION >= 260100 in shaders/settings.glsl; translucent entities are composited from a dedicated buffer, cf. blend.gbuffers_entities_translucent.colortex13 = ONE ONE_MINUS_SRC_ALPHA ... and d4_deferred_shading.fsh).
ETF renders skin-feature skins through a custom translucent render layer. With enhanced_batching, the batched draw of that custom translucent layer appears to lose its blend state / ordering when Photon composites it in the deferred pass → the base skin vanishes, while the emissive overlay (rendered through a different path) survives.
Workaround
Set "enhanced_batching": false in config/immediatelyfast.json — fixes the issue completely while keeping ImmediatelyFast's other optimizations.
Similar issues in this repo (already fixed)
Past ETF/EMF conflicts with enhanced batching have been fixed here before by excluding ETF's custom render layers from the batching path — hopefully this can be fixed the same way:
Related issues (other GitHub repos)
Hello !
Human part
First I want to be honest, I found the origin of this problem witht he help of AI. I know that AI reporting can be bullshit, so I will begin with this human part with the facts that I know are 100% true:
Description of the bug
For ETF Skins with emissive features, if the shader photon is applied with and enhanced_batching is activated, the skin will have weird renderings. You can see the screenshots below with what the skin should look like, and what I see when the option is activated:
EDIT: The circular texture is a custoom item placed on the head and is not a mood feature
Environment
Why an IF report ?
It seems that similar issues with enhanced_batching were fixed in IF side in the past, and the AI interpretation seems to point in this direction. If I'm wrong, I'm apologize.
AI report
Describe the issue
With Photon active on MC 26.1.2, player skins using ETF skin features (emissive / "enchanted" pixels, added via ETF's skin tool) render with the base skin completely invisible — only the emissive overlay pixels are visible, in both first- and third-person view. The rest of the player model (arms, body, head) is transparent.
This affects multiple players on our server.
Test matrix (minimal instance, everything else identical)
enhanced_batchingtruefalsetrueThe bug requires all three: ImmediatelyFast
enhanced_batching+ Photon + ETF skin-feature skins.Probable cause
Photon on MC ≥ 26.1 force-enables its separate-entity-draws pipeline (
USE_SEPARATE_ENTITY_DRAWSis a hard#defineguarded byMC_VERSION >= 260100inshaders/settings.glsl; translucent entities are composited from a dedicated buffer, cf.blend.gbuffers_entities_translucent.colortex13 = ONE ONE_MINUS_SRC_ALPHA ...andd4_deferred_shading.fsh).ETF renders skin-feature skins through a custom translucent render layer. With
enhanced_batching, the batched draw of that custom translucent layer appears to lose its blend state / ordering when Photon composites it in the deferred pass → the base skin vanishes, while the emissive overlay (rendered through a different path) survives.Workaround
Set
"enhanced_batching": falseinconfig/immediatelyfast.json— fixes the issue completely while keeping ImmediatelyFast's other optimizations.Similar issues in this repo (already fixed)
Past ETF/EMF conflicts with enhanced batching have been fixed here before by excluding ETF's custom render layers from the batching path — hopefully this can be fixed the same way:
Related issues (other GitHub repos)