![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Outputted from pov as 48 bit linear. Compressed in Photoshop
using transfer curve (intensity only) based on a film response
curve from Kodak site. It's a typical compression curve. Then
gamma 2.2 corrected and converted to 24 bit.
My tests with the Cornell box indicated that correct fade_distance
for diffuse sources is same as source diameter. The spotlights
use (90^2/falloff^2)*diameter as fade distance because of the
directional nature of the source. I'm not sure if this is correct
but it looks ok. Any lighting engineers here?
_____________
Kari Kivisalo
Post a reply to this message
Attachments:
Download 'film_48bit.jpg' (47 KB)
Preview of image 'film_48bit.jpg'
![film_48bit.jpg](/povray.binaries.images/attachment/%3C3B731A2A.4B783AE3%40pp.htv.fi%3E/film_48bit.jpg?preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
That looks very nice. You'll have to write a tutorial for this. :)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
in news:3B731A2A.4B783AE3@pp.htv.fi Kari Kivisalo wrote:
> Outputted from pov as 48 bit linear. Compressed in Photoshop
> using transfer curve (intensity only) based on a film response
> curve from Kodak site. It's a typical compression curve. Then
> gamma 2.2 corrected and converted to 24 bit.
I'm wondering a bit about what you are doing, but that can be the
result of me not knowing how povray works internaly.
If I have a rgb 1 sphere and a rgb 2 lightsource in the camera
position, there is a spot on the sphere with a brightness > 1. Is this
spot immediatly clipped to 1, or does povray calculate with the higher
found value. Example, the sphere is reflected in a mirror, will the
mirrord spot have a brightness >1?
How are the color values that go into the file determined? Is
everything >1 just clipped to 1? Do I understand the 48 bit output
right in that it just has more steps between 0 and !, but has no
influence on the contrast range?
If the above is not terebly wrong, it seems to me that what you are
doing is adjusting the contrast range of the mid tones only, as there
is no information about the higjlights in the file.
In photography what we do, is adjust the complete contrast range of
the scene so it fits in the range of the paper the image is printed on.
In a studio situation this is simple, you contro; the range with the
lighting, just as you do in POV-Ray. In outdoor scenes there are
different tricks.
Lets take a high contrast scene, a marrying couple. The dress is
white, his suit is black. The contrast is too big for our film to
catch. Now we over expose to make shure that we get all the details in
the shadow. If we develop this film normaly, the resulting negative is
not usable, it has a too high density and contrast to print. So we
develop shorter. The detail in the shadows will be just there, the
highlights will not be developped completly, so the density is good
there too. The negative can now be printed to normal photo paper. In a
low-contrast scene the opposite is done, under-expose, over-develop.
If this is what you want to do with POV-Ray it has to output all data
linear and unclipped. Such a file woul be a good base for all kind of
manipulations, contrast compression to view on a monitor or print. For
printing the data could be split in a high key and low key part for
duo-tone printing per colour-channel etc.
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
ingo wrote:
>
> If the above is not terebly wrong, it seems to me that what you are
> doing is adjusting the contrast range of the mid tones only, as there
> is no information about the higjlights in the file.
All the data is non clipped. By scaling light source and ambient
source intensities I can make sure the scene fits in 0-1 range.
A scene developed normally in povray where sun shines into a room
without light sources the lit area might have 500% intensity and
get clipped when the rest of the room seems to be lit enough. I then
scale all sources by 0.2 so I get all the data. That is why 16 bits
per channel are needed.
> Now we over expose to make shure that we get all the details in
> the shadow. If we develop this film normaly, the resulting negative is
> not usable, it has a too high density and contrast to print. So we
> develop shorter.
> In a
> low-contrast scene the opposite is done, under-expose, over-develop.
out ^ __
| _--*
| _/
| /
| /
| /
|/
+------------> in
So developing stretches the scene's intensity range down along the
curve. Exposing stretches the range up along the curve. I just looked
at linearised film response curve and concluded that it's just a typical
compress operation. Check: density=blackness ? :)
_____________
Kari Kivisalo
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
in news:3B7### [at] pp htv fi Kari Kivisalo wrote:
> All the data is non clipped. By scaling light source and ambient
> source intensities I can make sure the scene fits in 0-1 range.
The "studio-situation" form a photography view point.
So what you are doing is "gamma adjustment the hard way", but with more
control over the result?
Dens^ __
| --* ***this curve is for negative material.
D2 ____ / for positive material (slide) mirror
| / the curve.
| /
D1 __ /_a
|__/ |
+---|---|------------> log H (light dosis)
logH1 logH2
> So developing stretches the scene's intensity range down along the
> curve. Exposing stretches the range up along the curve. I just
> looked at linearised film response curve and concluded that it's
> just a typical compress operation.
Not quite, without any change in the light dosis, when the film is
developed longer the gamma will be higher, the curve steeper. This only
to a certain extend, there is a maximum density that can be reached for
a certain light dosis. If developed longer the film wil get a to high
background haze, that reduces contrast. Shorter development, flatter
curve.
Without change in development, a higher light dosis moves the
highlights towards, or into, the shoulder. The shadows move from the
foot towards the middle section. You'll lose detail in the bright
parts. Lower lightdosis does the opposit and you'll lose detail in the
shadows.
For negative material goal is to always get the same gamma ( tang(a),
(D2-D1/logH2-H1) ) that fits with the printing paper and enlarging
apparatus used.
> Check: density=blackness ? :)
Yes
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Very nice.. Can we see the non post-processed image to see the effect of
compression ?
M
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Mael wrote:
>
> Very nice.. Can we see the non post-processed image to see the effect of
> compression ?
http://www.pp.htv.fi/kkivisal/48bit.jpg
http://www.pp.htv.fi/kkivisal/48bit2.jpg
_____________
Kari Kivisalo
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
You've got to be kidding! Wow!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
ingo wrote:
> So what you are doing is "gamma adjustment the hard way", but with more
> control over the result?
It's the engineer's approach. I tested with gamma corrected range limited
output and the compression can be done also after gamma correction but
I had to iterate some time to get it right because the gamma changes
the shape of the compression curve. When black and white tresholds
are used it will be even more complicated. In general the order of non
linear operations can't be reversed but this is about faking a certain
look anyway so it's the final result that counts. I tried it before
but without experience of the whole process the results weren't good.
Now I can find more economical way to make it work.
_____________
Kari Kivisalo
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
That looks so real! Great technique, I'll have to try it. :)
--
Tek
http://www.evilsuperbrain.com
Kari Kivisalo <kki### [at] pp htv fi> wrote in message
news:3B731A2A.4B783AE3@pp.htv.fi...
>
> Outputted from pov as 48 bit linear. Compressed in Photoshop
> using transfer curve (intensity only) based on a film response
> curve from Kodak site. It's a typical compression curve. Then
> gamma 2.2 corrected and converted to 24 bit.
>
> My tests with the Cornell box indicated that correct fade_distance
> for diffuse sources is same as source diameter. The spotlights
> use (90^2/falloff^2)*diameter as fade distance because of the
> directional nature of the source. I'm not sure if this is correct
> but it looks ok. Any lighting engineers here?
>
>
> _____________
> Kari Kivisalo
--------------------------------------------------------------------------------
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |