Camera Object

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

Typedefs | Functions
Camera Object
Evas » Evas 3D Extensions

A camera object is used for taking a picture of a scene graph. More...

## Typedefs
typedef Eo | Evas_3D_Camera
| Camera object handle. More...

## Functions
EOAPI void | evas_3d_camera_projection_matrix_set (const Evas_Real *matrix)
| Set the projection matrix of the given camera. More...
EOAPI void | evas_3d_camera_projection_matrix_get (Evas_Real *matrix)
| Get the projection matrix of the given camera. More...
EOAPI void | evas_3d_camera_projection_perspective_set (Evas_Real fovy, Evas_Real aspect, Evas_Real dnear, Evas_Real dfar)
| Set the projection matrix of the given camera with perspective projection. More...
EOAPI void | evas_3d_camera_projection_frustum_set (Evas_Real left, Evas_Real right, Evas_Real bottom, Evas_Real top, Evas_Real dnear, Evas_Real dfar)
| Set the projection matrix of the given camera with frustum projection. More...
EOAPI void | evas_3d_camera_projection_ortho_set (Evas_Real left, Evas_Real right, Evas_Real bottom, Evas_Real top, Evas_Real dnear, Evas_Real dfar)
| Set the projection matrix of the given camera with orthogonal projection. More...
EOAPI Eina_Bool | evas_3d_camera_node_visible_get (Evas_3D_Node *camera_node, Evas_3D_Node *node, Evas_3D_Frustum_Mode key)
| Check is bounding sphere of given node inside frustum of camera node. More...
void | evas_3d_camera::projection_matrix_set (const Evas_Real *matrix_) const
| Set the projection matrix of the given camera. More...
void | evas_3d_camera::projection_matrix_get (Evas_Real *matrix_) const
| Get the projection matrix of the given camera. More...
void | evas_3d_camera::projection_perspective_set (Evas_Real fovy_, Evas_Real aspect_, Evas_Real dnear_, Evas_Real dfar_) const
| Set the projection matrix of the given camera with perspective projection. More...
void | evas_3d_camera::projection_frustum_set (Evas_Real left_, Evas_Real right_, Evas_Real bottom_, Evas_Real top_, Evas_Real dnear_, Evas_Real dfar_) const
| Set the projection matrix of the given camera with frustum projection. More...
void | evas_3d_camera::projection_ortho_set (Evas_Real left_, Evas_Real right_, Evas_Real bottom_, Evas_Real top_, Evas_Real dnear_, Evas_Real dfar_) const
| Set the projection matrix of the given camera with orthogonal projection. More...
bool | evas_3d_camera::node_visible_get (Evas_3D_Node *camera_node_, Evas_3D_Node *node_, Evas_3D_Frustum_Mode key_) const
| Check is bounding sphere of given node inside frustum of camera node. More...

## Detailed Description

A camera object is used for taking a picture of a scene graph.

A camera object itself is just a set of properties on how the camera should take the picture (like focus length and film size of the real world cameras). To be able to take a shot of the scene, a camera should be located in the scene, so that it has its viewing position and direction. It is done by containing the camera on a node. If one wants to locate several cameras having same properties, instead of creating multiple cameras, just create one camera and multiple nodes containing the camera and locate them at each desired position and direction. Just for convinience, use evas_3d_node_position_set() to move the camera to desired position and use evas_3d_node_look_at_set() to adjust the viewing direction of the camera.

## Typedef Documentation

Evas_3D_Camera

Camera object handle.

Since
  1.10

## Function Documentation

EOAPI void evas_3d_camera_projection_matrix_set | ( | const Evas_Real * | matrix | ) |

Set the projection matrix of the given camera.

Parameters

  camera | The given camera.
  matrix | Pointer to the array of 16 Evas_Real values in column major order.

Default projection matrix is identity matrix.

See also
  evas_3d_camera_projection_perspective_set()
  evas_3d_camera_projection_ortho_set()
  evas_3d_camera_projection_frustum_set()

Parameters

  [in] | matrix | Projection Matrix

EOAPI void evas_3d_camera_projection_matrix_get | ( | Evas_Real * | matrix | ) |

Get the projection matrix of the given camera.

Parameters

  camera | The given camera.
  matrix | Pointer to receive the 16 Evas_Real values in column major order.

See also
  evas_3d_camera_projection_matrix_set()

Parameters

  [out] | matrix | Projection Matrix

EOAPI void evas_3d_camera_projection_perspective_set | ( | Evas_Real | fovy,
|  | Evas_Real | aspect,
|  | Evas_Real | dnear,
|  | Evas_Real | dfar
| ) |  |

Set the projection matrix of the given camera with perspective projection.

Parameters

  camera | The given camera.
  fovy | Field of view angle in Y direction.
  aspect | Aspect ratio.
  dnear | Distance to near clipping plane.
  dfar | Distance to far clipping plane.

See also
  evas_3d_camera_projection_matrix_set()

Parameters

  [in] | fovy | Field of view angle in Y direction.
  [in] | aspect | Aspect ratio.
  [in] | dnear | Distance to near clipping plane.
  [in] | dfar | Distance to far clipping plane.

EOAPI void evas_3d_camera_projection_frustum_set | ( | Evas_Real | left,
|  | Evas_Real | right,
|  | Evas_Real | bottom,
|  | Evas_Real | top,
|  | Evas_Real | dnear,
|  | Evas_Real | dfar
| ) |  |

Set the projection matrix of the given camera with frustum projection.

See also
  evas_3d_camera_projection_matrix_set()

Parameters

  [in] | left | Left X coordinate of the near clipping plane.
  [in] | right | Right X coordinate of the near clipping plane..
  [in] | bottom | Bottom Y coordinate of the near clipping plane.
  [in] | top | Top Y coordinate of the near clipping plane
  [in] | dnear | Distance to near clipping plane.
  [in] | dfar | Distance to far clipping plane.

EOAPI void evas_3d_camera_projection_ortho_set | ( | Evas_Real | left,
|  | Evas_Real | right,
|  | Evas_Real | bottom,
|  | Evas_Real | top,
|  | Evas_Real | dnear,
|  | Evas_Real | dfar
| ) |  |

Set the projection matrix of the given camera with orthogonal projection.

See also
  evas_3d_camera_projection_matrix_set()

Parameters

  [in] | left | Left X coordinate of the near clipping plane.
  [in] | right | Right X coordinate of the near clipping plane..
  [in] | bottom | Bottom Y coordinate of the near clipping plane.
  [in] | top | Top Y coordinate of the near clipping plane
  [in] | dnear | Distance to near clipping plane.
  [in] | dfar | Distance to far clipping plane.

EOAPI Eina_Bool evas_3d_camera_node_visible_get | ( | Evas_3D_Node * | camera_node,
|  | Evas_3D_Node * | node,
|  | Evas_3D_Frustum_Mode | key
| ) |  |

Check is bounding sphere of given node inside frustum of camera node.

- Parameters

    camera | The given camera node.

- Parameters

    node | The given node.

- Returns
    `EINA_TRUE` in frustum, `EINA_FALSE` otherwise
- If the nodes are @ NULL or nodes type mismatch error wrong type of nodes will be generated and returned @ EINA_FALSE.

Parameters

  [in] | camera_node | No description supplied.
  [in] | node | No description supplied.
  [in] | key | No description supplied.

void evas_3d_camera::projection_matrix_set | ( | const Evas_Real * | matrix_ | ) | const

Set the projection matrix of the given camera.

Parameters

  camera | The given camera.
  matrix | Pointer to the array of 16 Evas_Real values in column major order.

Default projection matrix is identity matrix.

See also
  evas_3d_camera_projection_perspective_set()
  evas_3d_camera_projection_ortho_set()
  evas_3d_camera_projection_frustum_set()

Parameters

  matrix | Projection Matrix

void evas_3d_camera::projection_matrix_get | ( | Evas_Real * | matrix_ | ) | const

Get the projection matrix of the given camera.

Parameters

  camera | The given camera.
  matrix | Pointer to receive the 16 Evas_Real values in column major order.

See also
  evas_3d_camera_projection_matrix_set()

Parameters

  [out] | matrix | Projection Matrix

void evas_3d_camera::projection_perspective_set | ( | Evas_Real | fovy_,
|  | Evas_Real | aspect_,
|  | Evas_Real | dnear_,
|  | Evas_Real | dfar_
| ) |  | const

Set the projection matrix of the given camera with perspective projection.

Parameters

  camera | The given camera.
  fovy | Field of view angle in Y direction.
  aspect | Aspect ratio.
  dnear | Distance to near clipping plane.
  dfar | Distance to far clipping plane.

See also
  evas_3d_camera_projection_matrix_set()

Parameters

  fovy | Field of view angle in Y direction.
  aspect | Aspect ratio.
  dnear | Distance to near clipping plane.
  dfar | Distance to far clipping plane.

void evas_3d_camera::projection_frustum_set | ( | Evas_Real | left_,
|  | Evas_Real | right_,
|  | Evas_Real | bottom_,
|  | Evas_Real | top_,
|  | Evas_Real | dnear_,
|  | Evas_Real | dfar_
| ) |  | const

Set the projection matrix of the given camera with frustum projection.

See also
  evas_3d_camera_projection_matrix_set()

Parameters

  left | Left X coordinate of the near clipping plane.
  right | Right X coordinate of the near clipping plane..
  bottom | Bottom Y coordinate of the near clipping plane.
  top | Top Y coordinate of the near clipping plane
  dnear | Distance to near clipping plane.
  dfar | Distance to far clipping plane.

void evas_3d_camera::projection_ortho_set | ( | Evas_Real | left_,
|  | Evas_Real | right_,
|  | Evas_Real | bottom_,
|  | Evas_Real | top_,
|  | Evas_Real | dnear_,
|  | Evas_Real | dfar_
| ) |  | const

Set the projection matrix of the given camera with orthogonal projection.

See also
  evas_3d_camera_projection_matrix_set()

Parameters

  left | Left X coordinate of the near clipping plane.
  right | Right X coordinate of the near clipping plane..
  bottom | Bottom Y coordinate of the near clipping plane.
  top | Top Y coordinate of the near clipping plane
  dnear | Distance to near clipping plane.
  dfar | Distance to far clipping plane.

bool evas_3d_camera::node_visible_get | ( | Evas_3D_Node * | camera_node_,
|  | Evas_3D_Node * | node_,
|  | Evas_3D_Frustum_Mode | key_
| ) |  | const

Check is bounding sphere of given node inside frustum of camera node.

- Parameters

    camera | The given camera node.

- Parameters

    node | The given node.

- Returns
    `EINA_TRUE` in frustum, `EINA_FALSE` otherwise
- If the nodes are @ NULL or nodes type mismatch error wrong type of nodes will be generated and returned @ EINA_FALSE.

Parameters

  camera_node |
  node |
  key |