Cameras


camera is a project entity that defines a viewpoint in your virtual 3D world. A camera has a pose (like all project entities) that defines the camera's position and orientation. A camera has also a projection that defines how the camera sees the world.

There are four types of cameras, according to their different projections:


  • Perspective cameras
  • Orthographic cameras
  • Cylindrical cameras
  • Spherical cameras


The editable properties of the cameras are:

  • Comment: user comment
  • Draw coordinate frame: draw the local coordinate frame of the frustum
  • Clip far plane: distance of far clipping plane in meters. Specifies the maximum rendered depth. Must be greater than Min depth
  • Clip near plane: distance of near clipping plane in meters. Specifies the minimum rendered depth. For perspective cameras, only values greater than zero are allowed
  • Image size (Width, Height): size of the image in pixels (used only as a place holder for repetitive virtual scanning)
  • Shadow depth bias: This parameter concerns shadows calculation for a projector. Sometimes, during shadow calculation, there can be some noise while assessing which object is in foreground and which is in shadow. If you increase this parameter, the effect of noise is reduced, however the shadows risk to be not realistic anymore. If you decrease it, you will get more precise shadows, but you risk to get salt and pepper effects: as if the color projected fell also on the object in shadow in small grains.


Furthermore, there are specific properties for each of the camera projection types:

  • Perspective cameras:
    • Vertical field of view (degrees)
  • Orthographic cameras:
    • Extent on X [m]
    • Extent on Y [m]
    • Keep aspect ratio for image size
  • Cylindrical cameras:
    • Length [m]
    • Radius [m]
    • Longitude begin [deg]
    • Longitude end [deg]
    • Slices
  • Spherical cameras:
    • Radius [m]
    • Longitude begin [deg]
    • Longitude end [deg]
    • Latitude begin [deg]
    • Latitude end [deg]
    • Slices
    • Stacks


These particular properties, that change with the camera type, define the frustum of the camera, together with the near and far plane. The frustum of a camera is the 3D region of space that the camera sees. It is a pyramid for perspective cameras, a 3D rectangle for orthocameras, a cylinder and a sphere respectively for a cylindrical and spherical camera.


From the context menu of any camera, you can activate also the following commands:

  • Go to: to jump to the camera view point.
  • Invert direction: to invert the direction of the view of the camera
  • Apply projection: to jump to the camera view point and apply the camera projection as the current rendering projection (if perspective or orthographic)
  • Duplicate as: to create a new camera copying the transformation of the current one
  • Fitting
    • Set optimal depth range: to automatically compute  the tightest near and far clip plane positions
    • Select projectors in this frustum controls which cameras meet these two conditions:

a) have a focal axis that forms an angle with the focal axis of the selected chamber lower than "Maximum incident angle"

b) have a frustum that intersects the frustum of the selected camera

The projectors/cameras are so checked in the project window

    • Select models in this frustum finds (and checks) the meshes intersecting the selected camera (useful for texture mapping)
  • Elevation&Plan > Virtual scan: uses the camera frustum to resample the scene and generate a new grid point cloud or an image.


To optimize the depth accuracy of the virtual scanner, try to keep the clip near and far planes as close as possible to the desired scene depth range.