Manta Interactive Ray Tracer Development Mailing List

Text archives Help


Re: [MANTA] hfov, vfov, and non-square images


Chronological Thread 
  • From: Abe Stephens <abe@sci.utah.edu>
  • To: Dirk Reiners <dirk@infiscape.com>
  • Cc: Christian Odom <cnsodom@gmail.com>, manta@sci.utah.edu
  • Subject: Re: [MANTA] hfov, vfov, and non-square images
  • Date: Tue, 3 Jul 2007 16:38:38 -0600

Hi,

I think the suspect code is:

void PinholeCamera::setup()
{
  vfov = hfov; // set field of view

There is a similar line in Fisheye camera. This setup function is called whenever a transaction modifies some input camera state and the image plane vectors (u,v) need to be regenerated. Image coordinates defined on [-1,1] by the pixel sampler are multiplied by u and v to determine ray direction in PinholeCamera::makeRays.

So what you're looking for is: when the image is resized objects stay the same size on the screen but the h/vfov changes so you see more of the scene?

I'll see if I can think of an easy way to set the hfov/vfov based on changes in the aspect ratio. The difficulty is obtaining the aspect ratio through the API.

Abe

On Jul 3, 2007, at 4:07 PM, Dirk Reiners wrote:


        Hi James,

James Bigler wrote:
This is done by the camera. Each camera is different, but the camera used most often is the PinholeCamera (Model/Cameras/ PinholeCamera.cc).
In the setup call the vertical fov is set to the horizontal fov. Try fiddling around with that and see what you get.

We actually have our own camera based on raw OpenGL matrices, so we're pretty sure it's not in the camera. We also looked into the Fisheye camera and couldn't see anything that would do it.

The effect is that the horizontal fov is constant and the pixels are always square, no matter what the aspect ratio of the image is. Is there anything in manta that tries to enforce square pixels based on the image's aspect ratio?

        Dirk






Archive powered by MHonArc 2.6.16.

Top of page