Here's an image of a red plane I rendered using Eevee, along with its material nodes.
The color-management sequencer is set to Non-Color, the sample count is set to 1024, and there are no other special settings are modified. Despite this, the image still contains noise (black is. Here, I have edited the image and mapped #FF0000
, white is to black and #FF0101
) to white:
The image contains #FF0000
, #FF0101
, and #FE0000
despite the material only outputting #FF0000
. This still occurs when the sample count is set to 1, when the rendering engine is set to Cycles, when the color is pure black (#000000
) or pure white (#FFFFFF
), when an emission shader is used instead of a direct RGB input, and when the color output values are specifically floored to be multiples of 1/256.
In the Blender image editor, I can click and drag on an image to view the raw color data, which reveals that the image is a uniform, expected (1.0, 0.0, 0.0) color, indicating that there exists some problem in converting to 8-bit color.
To circumvent the noise, I can save the image as an OpenEXR file and use external software (e.g. Photoshop) to convert it to a PNG or BMP file, but this is suboptimal. Is there any way to bypass this step and get precise 8-bit color output from Blender alone?