Cycles Image Texture Alpha conversion inconsistency with EEVEE and Image Editor #76187
Labels
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
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#76187
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system: Windows 10 Pro 64-bit (10.0, Build 18363)
Graphics card: NVIDIA GeForce 920M (Laptop)
Blender Version
Broken: v2.83.13 Beta, 2020-04-21
Short description of error
If an image is packed, it will get displayed differently in Cycles and EEVEE. It changes in EEVEE when
Alpha Mode is changed from Straight to Premultiplied to match Cycles, but it does not change in Cycles
by changing that option. If the image is unpacked Cycles will look like EEVEE with Straight Alpha Mode
and again it will not be changed by the Alpha Mode option like EEVEE is.
Exact steps for others to reproduce the error
packed_image_cycles_display_inconsistency.blend
Added subscriber: @manda.3d.projects
Added subscriber: @HDMaster84
Where is the bug? Yes Denoise can cause artifacts if used wrong. That's known.
Is it about the albedo and normal pass? They are pretty good and you can work around the technical limitations.
The node "Denoise" has no artifact at all, it's perfect, it's famous made by Intel. But the artifact is all about the Noisy Image, Albedo and Normal input to the "Denoise" node.
And it's not a technical limitation, if you pack the Image Texture, then the artifact is gone like magic which proves that it's a bug, but not a limitation.
Ok I kind of get your point now. So as far as I understand it, just packing a image will already solve the problem with the albedo pass. This is more likely to have something to do with the image data which is formatted in a different way when packed. If that is the case, then please simplify your report to the point where intel denoise is not even mentioned as denoise is not related to the problem at all. For a start you could try to compare the packed image and the unpacked image in the image editor with the sample tool (Ctrl+RMB) and see if there are differences in the critical areas.
@Henrik Dick (weasel),
Here is my quote in the step 3:
I had doubt if it has something to do with the image data format, that's why I used "BMP" which is the extreme in format simplicity, its binary format is a serie of RGB 8-bit and there is no compression.
The reason I used BMP is because it only has single setting (only RGB 8-bit, edit: also BW but no body use it), but PNG has multiple settings like BW, RGB or RGBA and 8-bit or 16-bit, and Compression Value, I just used BMP to remove the doubt on formatting.
Comparision between Packed and Unpacked
I had that doubt too, check the Step 5 to Step 8, we are about to Pack the image and Unpack it back which leads to the exact result as when it was not packed at all.
Here is Albedo of Step 5 vs Step 8: Pack it and Unpack it back.
Comparaison between Unpacked and Packed at the pixel (X:451,Y:22) with same value (R: 0.00392, G:0.00392, B:0.00392, A:1.0000). It's not completely black, but I intentionally leave the image like that because in real project most of the images are like that for an uncontrollable reason, Photoshop maybe.
Added subscriber: @ankitm
Here is what the report should be about: (roughly)
Cycles Image Texture Alpha conversion inconsistency with EEVEE and Image Editor
Short description of error
If an image is packed, it will get displayed differently in Cycles and EEVEE. It changes in EEVEE when
Alpha Mode is changed from Straight to Premultiplied to match Cycles, but it does not change in Cycles
by changing that option. If the image is unpacked Cycles will look like EEVEE with Straight Alpha Mode
and again it will not be changed by the Alpha Mode option like EEVEE is.
Exact steps for others to reproduce the error
packed_image_cycles_display_inconsistency.blend
Notice there is nothing about denoise...
For your problem in your production, just use a Math Node to Subtract 0.01 from the image (with clamp enabled) and another Math Node to Multiply with 1.1 to make the white areas white (again clamp enabled)
@ankitm can you update the report?
@Henrik Dick (weasel), thanks, you are brilliant, the bug is not really about denoise, it's about something else.
And thanks, and I use clamp(clamp(image - 0.01) * 1.1) then the artifact I was talking about is gone.
Other method:
For developer, please fix the bug as Henrik explained before because not everyone will able to use the Map Range node, even genius like us were very confused what happening? Everyone can make mistake on their texture with pixel color value about 0.00392 instead of 0.
The texture was rendered with Blender that causes the non exact zero, it has precision and tileable with Blender, I always use Blender to make such detailed texture, it was not the first time.
Artifact of the Denoise Filter in compositor on almost 100% transparent areato Cycles Image Texture Alpha conversion inconsistency with EEVEE and Image EditorChanged status from 'Needs Triage' to: 'Confirmed'