Blender  V3.3
Classes | Macros | Typedefs | Functions
BKE_camera.h File Reference

Camera data-block and utility functions. More...

Go to the source code of this file.

Classes

struct  CameraParams
 

Macros

#define CAMERA_PARAM_ZOOM_INIT_CAMOB   1.0f
 
#define CAMERA_PARAM_ZOOM_INIT_PERSP   2.0f
 

Typedefs

typedef struct CameraParams CameraParams
 

Functions

voidBKE_camera_add (struct Main *bmain, const char *name)
 
float BKE_camera_object_dof_distance (const struct Object *ob)
 
int BKE_camera_sensor_fit (int sensor_fit, float sizex, float sizey)
 
float BKE_camera_sensor_size (int sensor_fit, float sensor_x, float sensor_y)
 
void BKE_camera_params_init (CameraParams *params)
 
void BKE_camera_params_from_object (CameraParams *params, const struct Object *cam_ob)
 
void BKE_camera_params_from_view3d (CameraParams *params, const struct Depsgraph *depsgraph, const struct View3D *v3d, const struct RegionView3D *rv3d)
 
void BKE_camera_params_compute_viewplane (CameraParams *params, int winx, int winy, float aspx, float aspy)
 
void BKE_camera_params_compute_matrix (CameraParams *params)
 
void BKE_camera_view_frame_ex (const struct Scene *scene, const struct Camera *camera, float drawsize, bool do_clip, const float scale[3], float r_asp[2], float r_shift[2], float *r_drawsize, float r_vec[4][3])
 
void BKE_camera_view_frame (const struct Scene *scene, const struct Camera *camera, float r_vec[4][3])
 
bool BKE_camera_view_frame_fit_to_scene (struct Depsgraph *depsgraph, const struct Scene *scene, struct Object *camera_ob, float r_co[3], float *r_scale, float *r_clip_start, float *r_clip_end)
 
bool BKE_camera_view_frame_fit_to_coords (const struct Depsgraph *depsgraph, const float(*cos)[3], int num_cos, struct Object *camera_ob, float r_co[3], float *r_scale)
 
struct ObjectBKE_camera_multiview_render (const struct Scene *scene, struct Object *camera, const char *viewname)
 
void BKE_camera_multiview_view_matrix (const struct RenderData *rd, const struct Object *camera, bool is_left, float r_viewmat[4][4])
 
void BKE_camera_multiview_model_matrix (const struct RenderData *rd, const struct Object *camera, const char *viewname, float r_modelmat[4][4])
 
void BKE_camera_multiview_model_matrix_scaled (const struct RenderData *rd, const struct Object *camera, const char *viewname, float r_modelmat[4][4])
 
void BKE_camera_multiview_window_matrix (const struct RenderData *rd, const struct Object *camera, const char *viewname, float r_winmat[4][4])
 
float BKE_camera_multiview_shift_x (const struct RenderData *rd, const struct Object *camera, const char *viewname)
 
void BKE_camera_multiview_params (const struct RenderData *rd, struct CameraParams *params, const struct Object *camera, const char *viewname)
 
bool BKE_camera_multiview_spherical_stereo (const struct RenderData *rd, const struct Object *camera)
 
struct CameraBGImageBKE_camera_background_image_new (struct Camera *cam)
 
struct CameraBGImageBKE_camera_background_image_copy (struct CameraBGImage *bgpic_src, const int copy_flag)
 
void BKE_camera_background_image_remove (struct Camera *cam, struct CameraBGImage *bgpic)
 
void BKE_camera_background_image_clear (struct Camera *cam)
 

Detailed Description

Camera data-block and utility functions.

Definition in file BKE_camera.h.

Macro Definition Documentation

◆ CAMERA_PARAM_ZOOM_INIT_CAMOB

#define CAMERA_PARAM_ZOOM_INIT_CAMOB   1.0f

Definition at line 76 of file BKE_camera.h.

◆ CAMERA_PARAM_ZOOM_INIT_PERSP

#define CAMERA_PARAM_ZOOM_INIT_PERSP   2.0f

Definition at line 77 of file BKE_camera.h.

Typedef Documentation

◆ CameraParams

typedef struct CameraParams CameraParams

Camera Parameters:

Intermediate struct for storing camera parameters from various sources, to unify computation of view-plane, window matrix, ... etc.

Function Documentation

◆ BKE_camera_add()

void* BKE_camera_add ( struct Main bmain,
const char *  name 
)

◆ BKE_camera_background_image_clear()

void BKE_camera_background_image_clear ( struct Camera cam)

◆ BKE_camera_background_image_copy()

struct CameraBGImage* BKE_camera_background_image_copy ( struct CameraBGImage bgpic_src,
const int  copy_flag 
)

Duplicate a background image, in a ID management compatible way.

Parameters
copy_flagThe usual ID copying flags, see LIB_ID_CREATE_/LIB_ID_COPY_ enums in BKE_lib_id.h.

Definition at line 1157 of file camera.c.

References CAM_BGIMG_FLAG_OVERRIDE_LIBRARY_LOCAL, CameraBGImage::clip, CameraBGImage::flag, id_us_plus(), CameraBGImage::ima, LIB_ID_COPY_NO_LIB_OVERRIDE_LOCAL_DATA_FLAG, LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_dupallocN, CameraBGImage::next, NULL, and CameraBGImage::prev.

Referenced by camera_copy_data().

◆ BKE_camera_background_image_new()

struct CameraBGImage* BKE_camera_background_image_new ( struct Camera cam)

◆ BKE_camera_background_image_remove()

void BKE_camera_background_image_remove ( struct Camera cam,
struct CameraBGImage bgpic 
)

◆ BKE_camera_multiview_model_matrix()

void BKE_camera_multiview_model_matrix ( const struct RenderData rd,
const struct Object camera,
const char *  viewname,
float  r_modelmat[4][4] 
)

◆ BKE_camera_multiview_model_matrix_scaled()

void BKE_camera_multiview_model_matrix_scaled ( const struct RenderData rd,
const struct Object camera,
const char *  viewname,
float  r_modelmat[4][4] 
)

◆ BKE_camera_multiview_params()

void BKE_camera_multiview_params ( const struct RenderData rd,
struct CameraParams params,
const struct Object camera,
const char *  viewname 
)

◆ BKE_camera_multiview_render()

struct Object* BKE_camera_multiview_render ( const struct Scene scene,
struct Object camera,
const char *  viewname 
)

◆ BKE_camera_multiview_shift_x()

float BKE_camera_multiview_shift_x ( const struct RenderData rd,
const struct Object camera,
const char *  viewname 
)

◆ BKE_camera_multiview_spherical_stereo()

bool BKE_camera_multiview_spherical_stereo ( const struct RenderData rd,
const struct Object camera 
)

◆ BKE_camera_multiview_view_matrix()

void BKE_camera_multiview_view_matrix ( const struct RenderData rd,
const struct Object camera,
bool  is_left,
float  r_viewmat[4][4] 
)

The view matrix is used by the viewport drawing, it is basically the inverted model matrix.

Referenced by view3d_stereo3d_setup(), and view3d_stereo3d_setup_offscreen().

◆ BKE_camera_multiview_window_matrix()

void BKE_camera_multiview_window_matrix ( const struct RenderData rd,
const struct Object camera,
const char *  viewname,
float  r_winmat[4][4] 
)

◆ BKE_camera_object_dof_distance()

float BKE_camera_object_dof_distance ( const struct Object ob)

◆ BKE_camera_params_compute_matrix()

void BKE_camera_params_compute_matrix ( CameraParams params)

◆ BKE_camera_params_compute_viewplane()

void BKE_camera_params_compute_viewplane ( CameraParams params,
int  winx,
int  winy,
float  aspx,
float  aspy 
)

◆ BKE_camera_params_from_object()

void BKE_camera_params_from_object ( CameraParams params,
const struct Object cam_ob 
)

◆ BKE_camera_params_from_view3d()

void BKE_camera_params_from_view3d ( CameraParams params,
const struct Depsgraph depsgraph,
const struct View3D v3d,
const struct RegionView3D rv3d 
)

◆ BKE_camera_params_init()

void BKE_camera_params_init ( CameraParams params)

◆ BKE_camera_sensor_fit()

int BKE_camera_sensor_fit ( int  sensor_fit,
float  sizex,
float  sizey 
)

◆ BKE_camera_sensor_size()

float BKE_camera_sensor_size ( int  sensor_fit,
float  sensor_x,
float  sensor_y 
)

◆ BKE_camera_view_frame()

void BKE_camera_view_frame ( const struct Scene scene,
const struct Camera camera,
float  r_vec[4][3] 
)

◆ BKE_camera_view_frame_ex()

void BKE_camera_view_frame_ex ( const struct Scene scene,
const struct Camera camera,
float  drawsize,
bool  do_clip,
const float  scale[3],
float  r_asp[2],
float  r_shift[2],
float r_drawsize,
float  r_vec[4][3] 
)

◆ BKE_camera_view_frame_fit_to_coords()

bool BKE_camera_view_frame_fit_to_coords ( const struct Depsgraph depsgraph,
const float(*)  cos[3],
int  num_cos,
struct Object camera_ob,
float  r_co[3],
float r_scale 
)

◆ BKE_camera_view_frame_fit_to_scene()

bool BKE_camera_view_frame_fit_to_scene ( struct Depsgraph depsgraph,
const struct Scene scene,
struct Object camera_ob,
float  r_co[3],
float r_scale,
float r_clip_start,
float r_clip_end 
)
Parameters
r_scaleonly valid/useful for orthographic cameras.
Note
Don't move the camera, just yield the fit location.

Referenced by view3d_camera_to_view_selected_impl().