POV-Ray : Newsgroups : povray.binaries.images : Calculation of camera angle [ illustration ] : Re: Calculation of camera angle [ illustration ] Server Time
19 Apr 2024 04:56:16 EDT (-0400)
  Re: Calculation of camera angle [ illustration ]  
From: William F Pokorny
Date: 3 Oct 2019 08:17:07
Message: <5d95e6c3$1@news.povray.org>
On 10/1/19 2:08 PM, Tor Olav Kristensen wrote:
> "Bald Eagle" <cre### [at] netscapenet> wrote:
>> Can anyone direct me to the source code file where the angle keyword causes a
>> recalculation of the camera parameters?
>>
>> That would be a nice read after going through all of this as well.
> 
> Hi Bill
> 
> It might be here:
> https://github.com/POV-Ray/povray/blob/release/v3.8.0/source/parser/parser.cpp#L1784
> 
> 
> BTW: I had a vague memory that one of the vector lengths for the default
> perspective camera was changed in v3.8.
> 
> So I found this file:
> https://github.com/POV-Ray/povray/blob/release/v3.8.0/changes.txt
> - with this statement:
> "The camera `right` vector length now defaults to the output image aspect ratio
> (presuming square pixels) instead of 1.33."
> 
> But line no 222 here:
>
https://github.com/POV-Ray/povray/blob/release/v3.8.0/source/core/scene/camera.cpp#L222
> - says "Right       = Vector3d(1.33, 0.0, 0.0); // TODO FIXME"
> 
> Perhaps it has been changed somewhere else.
> 
> --
> Tor Olav
> http://subcube.com
> https://github.com/t-o-k
> 
> 
Hi, You remember correctly, but it was done based upon the #version 
statement along with a change to the default ambient value v37 did not 
originally get on the v36 to v37 assumed_gamma default update. The 
latter a reason why v36 and older scenes appear washed out to some 
degree in v37.

See the closed issue (end of 2017):

  https://github.com/POV-Ray/povray/issues/304

and the cooresponding commit:

https://github.com/POV-Ray/povray/commit/12fbab3e

and sepcifically the added method/function Parser::InitDefaults.

The comment in camera.cpp should have been updated at that time to note 
the parser's InitDefaults would set/override the value, but it was 
missed I guess. Suppose we should open an issue to do this though a lot 
of work for a comment change... Unfortunate Christoph not about as he'd 
usually roll up something like this with other changes.

Lastly, thanks for the camera.cpp#L222 line number reference trick in 
the link! New to me and useful.

Bill P.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.