[Radiance-general] Re: pcomb photometrically correct
Gregory J. Ward
gregoryjward at gmail.com
Fri Feb 2 20:01:05 CET 2007
Hi Axel,
> From: "Axel Jacobs" <a.jacobs at londonmet.ac.uk>
> Date: February 2, 2007 4:09:56 AM PST
> ...
>> Ximage doesn't load the original HDR pixels into memory, instead
>> relying on the file's presence to query specific values. If you
>> don't give it the file, it disables its query function.
>
> Since this is the most puzzling Radiance feature yet, allow me to
> get back
> to it.
>
> Are you saying that ximage reads the file into memory to display
> it, but
> then relies on additional file reads for 'L'?
> If so, then would not -f make sure that all 'L's are read from the
> in-memory copy, rather than from the file (which it doesn't)? Or
> would in
> a networked-X scenario the application still pull the pixel
> luminance over
> the network, if called with a file name?
>
> In other words: There are two distinct parts to ximage: the display
> part,
> and the query part, and the two don't know anything about one another?
>
> I've experimented with the -o options ('T'-key), and the results
> are the
> same: zero when input to ximage comes through a pipe, expected
> value when
> read from file:
> $ pcomb -e 'lo=li(1)' -o 004.hdr | ximage -ov
Back in the day when memory was not quite so cheap as it is now,
keeping an entire floating-point buffer for an image, as would be
required for luminance queries off the standard input, seemed
unreasonable. I could copy the standard input to a file and read
back from that, but it seemed rather too much trouble for a feature
that may or may not be used in a particular invocation.
In other words, ximage tone-maps the floating-point (RGBE) input data
into an (at most) 24-bit/pixel buffer to be used for display.
Storing the original image as well would take more than twice the
memory, and as I said, it was not so cheap when ximage was written.
I hope this clarifies matters. A lot of what is in Radiance is
showing its age in terms of the trade-offs made. On the positive
side, I did not encode many limits, so cheap memory has meant larger
and larger models we can render. Being stingy has its rewards, too.
-Greg
More information about the Radiance-general
mailing list