2

I render a scene with the option: +fN16 in my .ini file.

The .png file created is 48bit as expected (in windows I look at file->Properties->Details->Bit depth = 48).

However, when I sort all the pixel values in ascending order and take the difference between the union of all values, there are only 255 (or less) discrete intensity levels per color rather than the expected 65535 levels per color (16 bit per color).

What settings need to be applied to get 65535 levels per color in the .png image?

(I am looking for small intensity variations along the cross-section through a shadow penumbra)

DrBubbles
  • 203
  • 1
  • 7
  • What tool are you using to evaluate the pixel values themselves? – jsbueno Dec 08 '16 at 12:33
  • Thanks @jsbueno I import the png file into Mathematica to examine the pixel values. – DrBubbles Dec 09 '16 at 07:25
  • I don't have Mathematica - but I see at the documentation it should inform the bitdepth of the PNG file upon importing - what does it report to you? https://reference.wolfram.com/language/ref/format/PNG.html – jsbueno Dec 09 '16 at 09:23

1 Answers1

2

I just rendered a sample image (Povray 3.7.0 with +FN16 passed on the command line) and got a true 16bit image rendered, with small variations between pixels.

Either your image is being downsampled after you open it in Mathematica, or the sample you are examining in your image has actually less than 255 levels for each color.

Have you tried a different image or a larger sample?

jsbueno
  • 99,910
  • 10
  • 151
  • 209
  • 1
    Thanks @jsbueno Yes that was the problem; the image had less than 255 levels (area_light where number of spots combined with spot spacing, object size, pixel scale and view angle gave <255 levels). I was sure I had enough but clearly not; I adjusted the geometry and managed to get what I was hoping for. I can probably also interpolate for some scenes if necessary. Great! – DrBubbles Dec 09 '16 at 18:40