|
|
Thomas de Groot <tho### [at] degrootorg> wrote:
> I agree with you. One of the things which still puzzles me is that there
> seems also to be a slight zoom effect, mostly noticiably in cloud
> patterns for instance in the background. Maybe that is what you observe.
> However, for the time being, the macro is more useful than it was.
OK, I wanted to make sure that it wasn't just me.
The zoom, I think, is part uncorrected stuff, and part unexpected "optical
illusion". It's real, but it's the effect of tilting the camera's "film plane",
so that some parts are closer to the scene objects than they were.
Try 2 things.
use:
#local _j = vlength (<ShearX, VCorr, ShearZ>);
#debug "\nIgnore the following Parse Warning: \n"
#debug "----------------------------------- \n"
#declare NoFall =
transform {
matrix < 1, 0, 0,
ShearX, VCorr, ShearZ,
0, 0, 1,
-CamLoc.y*ShearX, -CamLoc.y/_j*VCorr, -CamLoc.y*ShearZ*_j>
_j is the length of the new modified y-axis, and I think that there needs to be
a shift back to compensate for that, and average out the "zoom" effect, as shown
in the new matrix term.
and _then_ follow up with:
#if (FC)
camera {
//FieldCam (CamLoc, CamLookAt)
FieldCam2 (CamLoc, CamLookAt)
perspective
location CamLoc
sky CamSky
up CamSky
direction z*CamZoom
right x*AspectRatio
angle CamAng
translate -CamLoc
transform {NoFall}
translate CamLoc
look_at CamLookAt
}
To apply the camera matrix with the camera at the origin.
I think any further work will really need to quantify the effect.
Post a reply to this message
|
|