Alpha in image texture node broken in Eevee #73760

Closed
opened 2020-02-12 16:13:15 +01:00 by Lexie Lodge · 20 comments

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.12

Blender Version
Broken: version: 2.82 (sub 6), branch: master, commit date: 2020-02-11 14:45, hash: c939b4df18
Worked: (optional)

Short description of error
Using Eevee, if an RGBA image is added into the image texture node in a shader network then the alpha does not display.
If a separate image texture node is used with an alpha only input file the alpha can be added in, suggesting that the alpha output of the image texture node isn't working.
To illustrate, image textures have been added to two mesh emitters, one with one texture node with an RGBA image (left), one with two texture nodes, one for the RGB and one for the alpha (right). Below the rendered views of the two emitters are shown in Eevee rendered view with blend mode set to 'Alpha Hashed'

alpha_bug_lights.PNG

Below is what the emitters looks like in Cycles:

alpha_bug_lights_cycles.PNG

Here is the shader network for the emitter on the left:

alpha_bug_shadernet_left.PNG

and the emitter on the right:

alpha_bug_shadernet_right.PNG

I have also attached the blend file used to show this bug and the two image files used.

alpha_bug.blend
rgba.exr
alpha.png

Exact steps for others to reproduce the error

  1. Load the attached blend file and add the attached image files to the image texture nodes in the shader networks for the materials of the two planes (as shown in the screenshots above).
  2. Ensure the renderer is set to Eevee and Blend Mode of the materials on the mesh emitters is set to 'Alpha Hashed/Blend/Clip'
  3. Change Viewport Shading to 'Rendered' in the 3D viewport.
**System Information** Operating system: Windows-10-10.0.18362-SP0 64 Bits Graphics card: GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.12 **Blender Version** Broken: version: 2.82 (sub 6), branch: master, commit date: 2020-02-11 14:45, hash: `c939b4df18` Worked: (optional) **Short description of error** Using Eevee, if an RGBA image is added into the image texture node in a shader network then the alpha does not display. If a separate image texture node is used with an alpha only input file the alpha can be added in, suggesting that the alpha output of the image texture node isn't working. To illustrate, image textures have been added to two mesh emitters, one with one texture node with an RGBA image (left), one with two texture nodes, one for the RGB and one for the alpha (right). Below the rendered views of the two emitters are shown in Eevee rendered view with blend mode set to 'Alpha Hashed' ![alpha_bug_lights.PNG](https://archive.blender.org/developer/F8336481/alpha_bug_lights.PNG) Below is what the emitters looks like in Cycles: ![alpha_bug_lights_cycles.PNG](https://archive.blender.org/developer/F8336487/alpha_bug_lights_cycles.PNG) Here is the shader network for the emitter on the left: ![alpha_bug_shadernet_left.PNG](https://archive.blender.org/developer/F8336489/alpha_bug_shadernet_left.PNG) and the emitter on the right: ![alpha_bug_shadernet_right.PNG](https://archive.blender.org/developer/F8336491/alpha_bug_shadernet_right.PNG) I have also attached the blend file used to show this bug and the two image files used. [alpha_bug.blend](https://archive.blender.org/developer/F8336493/alpha_bug.blend) ![rgba.exr](https://archive.blender.org/developer/F8336494/rgba.exr) ![alpha.png](https://archive.blender.org/developer/F8336495/alpha.png) **Exact steps for others to reproduce the error** 1. Load the attached blend file and add the attached image files to the image texture nodes in the shader networks for the materials of the two planes (as shown in the screenshots above). 2. Ensure the renderer is set to Eevee and Blend Mode of the materials on the mesh emitters is set to 'Alpha Hashed/Blend/Clip' 3. Change Viewport Shading to 'Rendered' in the 3D viewport.
Author

Added subscriber: @lexielodge

Added subscriber: @lexielodge
Member

Added subscriber: @Blendify

Added subscriber: @Blendify
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member
Make sure the alpha mode is set to "Channel Packed" https://docs.blender.org/manual/en/dev/editors/image/image_settings.html#editors-image-image-settings-common
Author

This doesn't solve the issue for me

This doesn't solve the issue for me
Member

Changed status from 'Needs User Info' to: 'Needs Triage'

Changed status from 'Needs User Info' to: 'Needs Triage'

Added subscriber: @mano-wii

Added subscriber: @mano-wii

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'

Thansk for the report, I was able to reproduce the problem.
But I think the report can be simplified to "Alpha Channel of a Texture is not displayed in Eevee"

Here is the simplified file:
alpha_eevee_bug.blend

Is there anything I ignored or can I update the report description?

Thansk for the report, I was able to reproduce the problem. But I think the report can be simplified to "Alpha Channel of a Texture is not displayed in Eevee" Here is the simplified file: [alpha_eevee_bug.blend](https://archive.blender.org/developer/F8338102/alpha_eevee_bug.blend) Is there anything I ignored or can I update the report description?
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

For this EXR rgba.exr blender as a whole doesnt seem to be able to read alpha. (not sure yet whether this is correct or not)

Image metadata tells the following:

  • was created by oiiotool.exe some.tif someother.tif -chappend -o rgba.exr
  • that -chappend option documents the following:

Replaces the top two images on the stack with a new image comprised of the channels of both images appended together

it now has the following layers in the EXR:

  • Color.RGB
  • Y.Y ?

Not exactly sure why Cycles can interpret that Y.Ylayer as alpha [this might be correct though -- cycles uses oiio as well, maybe that is on that side of the puzzle, needs more investigation...]

If you provide Eevee an EXR that has the Alpha in the A of the Color.RGBA layer, Eevee can do that without problems...
0001.exr

For this EXR `rgba.exr` blender as a whole doesnt seem to be able to read alpha. (not sure yet whether this is correct or not) Image metadata tells the following: - was created by `oiiotool.exe some.tif someother.tif -chappend -o rgba.exr` - that `-chappend` option documents the following: > Replaces the top two images on the stack with a new image comprised of the channels of both images appended together it now has the following layers in the EXR: - `Color.RGB` - `Y.Y` ? Not exactly sure why Cycles can interpret that `Y.Y`layer as alpha [this might be correct though -- cycles uses oiio as well, maybe that is on that side of the puzzle, needs more investigation...] If you provide Eevee an EXR that has the Alpha in the `A` of the `Color.RGBA` layer, Eevee can do that without problems... ![0001.exr](https://archive.blender.org/developer/F8338117/0001.exr)
Member

Natron doesnt recognize the Y.Y channel as Alpha by default either...

Natron doesnt recognize the `Y.Y` channel as Alpha by default either...
Member

Added subscriber: @brecht

Added subscriber: @brecht
Member

Looking at this doesnt help (me at least) much either
If it is just luminace, should this always be read as Alpha?
Maybe @brecht knows?

Looking at [this ](https://github.com/AcademySoftwareFoundation/openexr/blob/master/OpenEXR/IlmImf/ImfRgba.h) doesnt help (me at least) much either If it is just luminace, should this always be read as Alpha? Maybe @brecht knows?

Added subscriber: @iss

Added subscriber: @iss

File rgba.exr opened in gimp has no alpha channel, in krita it does.
Not working in 2.79 as well

Files created with blender doesn't seem to have this problem.

File rgba.exr opened in gimp has no alpha channel, in krita it does. Not working in 2.79 as well Files created with blender doesn't seem to have this problem.

This channel layout is nonsensical, how to interpret it is probably not defined anywhere.

My advice is to close this as not a bug, it's not worth spending time to support OpenEXR images that don't follow the standard, created with a command line tool.

This channel layout is nonsensical, how to interpret it is probably not defined anywhere. My advice is to close this as not a bug, it's not worth spending time to support OpenEXR images that don't follow the standard, created with a command line tool.
Member

Changed status from 'Confirmed' to: 'Archived'

Changed status from 'Confirmed' to: 'Archived'
Philipp Oeser self-assigned this 2020-02-14 10:08:18 +01:00
Member

In #73760#871193, @brecht wrote:
This channel layout is nonsensical, how to interpret it is probably not defined anywhere.

My advice is to close this as not a bug, it's not worth spending time to support OpenEXR images that don't follow the standard, created with a command line tool.

OK, will close then
@lexielodge: feel free to comment again if you can provide further information about this specific EXR channel layout (and/or its usecase, standard etc)

> In #73760#871193, @brecht wrote: > This channel layout is nonsensical, how to interpret it is probably not defined anywhere. > > My advice is to close this as not a bug, it's not worth spending time to support OpenEXR images that don't follow the standard, created with a command line tool. OK, will close then @lexielodge: feel free to comment again if you can provide further information about this specific EXR channel layout (and/or its usecase, standard etc)
Author

Have confirmed was issue with the test image file - hadn't realised that the oiiotool had generated the image with incorrectly labelled channels. Thanks.

Have confirmed was issue with the test image file - hadn't realised that the oiiotool had generated the image with incorrectly labelled channels. Thanks.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#73760
No description provided.