Blender  V3.3
Classes | Functions
blender/camera.cpp File Reference
#include "scene/camera.h"
#include "scene/scene.h"
#include "blender/sync.h"
#include "blender/util.h"
#include "util/log.h"

Go to the source code of this file.

Classes

struct  BlenderCamera
 

Functions

static void blender_camera_init (BlenderCamera *bcam, BL::RenderSettings &b_render)
 
static float blender_camera_focal_distance (BL::RenderEngine &b_engine, BL::Object &b_ob, BL::Camera &b_camera, BlenderCamera *bcam)
 
static void blender_camera_from_object (BlenderCamera *bcam, BL::RenderEngine &b_engine, BL::Object &b_ob, bool skip_panorama=false)
 
static Transform blender_camera_matrix (const Transform &tfm, const CameraType type, const PanoramaType panorama_type)
 
static void blender_camera_viewplane (BlenderCamera *bcam, int width, int height, BoundBox2D *viewplane, float *aspectratio, float *sensor_size)
 
static void blender_camera_sync (Camera *cam, BlenderCamera *bcam, int width, int height, const char *viewname, PointerRNA *cscene)
 
static void blender_camera_view_subset (BL::RenderEngine &b_engine, BL::RenderSettings &b_render, BL::Scene &b_scene, BL::Object &b_ob, BL::SpaceView3D &b_v3d, BL::RegionView3D &b_rv3d, int width, int height, BoundBox2D *view_box, BoundBox2D *cam_box, float *view_aspect)
 
static void blender_camera_from_view (BlenderCamera *bcam, BL::RenderEngine &b_engine, BL::Scene &b_scene, BL::SpaceView3D &b_v3d, BL::RegionView3D &b_rv3d, int width, int height, bool skip_panorama=false)
 
static void blender_camera_border_subset (BL::RenderEngine &b_engine, BL::RenderSettings &b_render, BL::Scene &b_scene, BL::SpaceView3D &b_v3d, BL::RegionView3D &b_rv3d, BL::Object &b_ob, int width, int height, const BoundBox2D &border, BoundBox2D *result)
 
static void blender_camera_border (BlenderCamera *bcam, BL::RenderEngine &b_engine, BL::RenderSettings &b_render, BL::Scene &b_scene, BL::SpaceView3D &b_v3d, BL::RegionView3D &b_rv3d, int width, int height)
 

Function Documentation

◆ blender_camera_border()

static void blender_camera_border ( BlenderCamera bcam,
BL::RenderEngine b_engine,
BL::RenderSettings &  b_render,
BL::Scene b_scene,
BL::SpaceView3D &  b_v3d,
BL::RegionView3D b_rv3d,
int  width,
int  height 
)
static

◆ blender_camera_border_subset()

static void blender_camera_border_subset ( BL::RenderEngine b_engine,
BL::RenderSettings &  b_render,
BL::Scene b_scene,
BL::SpaceView3D &  b_v3d,
BL::RegionView3D b_rv3d,
BL::Object b_ob,
int  width,
int  height,
const BoundBox2D border,
BoundBox2D result 
)
static

◆ blender_camera_focal_distance()

static float blender_camera_focal_distance ( BL::RenderEngine b_engine,
BL::Object b_ob,
BL::Camera b_camera,
BlenderCamera bcam 
)
static

◆ blender_camera_from_object()

static void blender_camera_from_object ( BlenderCamera bcam,
BL::RenderEngine b_engine,
BL::Object b_ob,
bool  skip_panorama = false 
)
static

Definition at line 165 of file blender/camera.cpp.

References BlenderCamera::aperture_ratio, BlenderCamera::apertureblades, BlenderCamera::aperturerotation, BlenderCamera::aperturesize, BlenderCamera::AUTO, blender_camera_focal_distance(), CAMERA_ORTHOGRAPHIC, CAMERA_PANORAMA, CAMERA_PERSPECTIVE, BlenderCamera::convergence_distance, BlenderCamera::farclip, BlenderCamera::fisheye_fov, BlenderCamera::fisheye_lens, BlenderCamera::fisheye_polynomial_k0, BlenderCamera::fisheye_polynomial_k1, BlenderCamera::fisheye_polynomial_k2, BlenderCamera::fisheye_polynomial_k3, BlenderCamera::fisheye_polynomial_k4, BlenderCamera::focaldistance, get_enum(), BlenderCamera::HORIZONTAL, BlenderCamera::interocular_distance, BlenderCamera::latitude_max, BlenderCamera::latitude_min, BlenderCamera::lens, BlenderCamera::longitude_max, BlenderCamera::longitude_min, max, BlenderCamera::motion_steps, BlenderCamera::nearclip, object_motion_steps(), BlenderCamera::ortho_scale, PANORAMA_EQUIRECTANGULAR, PANORAMA_NUM_TYPES, BlenderCamera::panorama_type, BlenderCamera::passepartout_alpha, BlenderCamera::pole_merge_angle_from, BlenderCamera::pole_merge_angle_to, RNA_float_get(), RNA_pointer_get(), BlenderCamera::sensor_fit, BlenderCamera::sensor_height, BlenderCamera::sensor_width, BlenderCamera::shift, tanf, BlenderCamera::type, BlenderCamera::use_pole_merge, BlenderCamera::use_spherical_stereo, BlenderCamera::VERTICAL, float2::x, and float2::y.

Referenced by blender_camera_from_view(), blender_camera_view_subset(), BlenderSync::sync_camera(), and BlenderSync::sync_view().

◆ blender_camera_from_view()

static void blender_camera_from_view ( BlenderCamera bcam,
BL::RenderEngine b_engine,
BL::Scene b_scene,
BL::SpaceView3D &  b_v3d,
BL::RegionView3D b_rv3d,
int  width,
int  height,
bool  skip_panorama = false 
)
static

◆ blender_camera_init()

static void blender_camera_init ( BlenderCamera bcam,
BL::RenderSettings &  b_render 
)
static

◆ blender_camera_matrix()

static Transform blender_camera_matrix ( const Transform tfm,
const CameraType  type,
const PanoramaType  panorama_type 
)
static

◆ blender_camera_sync()

static void blender_camera_sync ( Camera cam,
BlenderCamera bcam,
int  width,
int  height,
const char *  viewname,
PointerRNA cscene 
)
static

Definition at line 411 of file blender/camera.cpp.

References BlenderCamera::aperture_ratio, BlenderCamera::apertureblades, BlenderCamera::aperturerotation, BlenderCamera::aperturesize, atanf, BlenderCamera::AUTO, blender_camera_matrix(), blender_camera_viewplane(), BlenderCamera::border, BoundBox2D::bottom, CAMERA_PANORAMA, BlenderCamera::convergence_distance, BlenderCamera::farclip, BlenderCamera::fisheye_fov, BlenderCamera::fisheye_lens, BlenderCamera::fisheye_polynomial_k0, BlenderCamera::fisheye_polynomial_k1, BlenderCamera::fisheye_polynomial_k2, BlenderCamera::fisheye_polynomial_k3, BlenderCamera::fisheye_polynomial_k4, float(), BlenderCamera::focaldistance, height, BlenderCamera::HORIZONTAL, BlenderCamera::interocular_distance, BlenderCamera::latitude_max, BlenderCamera::latitude_min, BoundBox2D::left, BlenderCamera::lens, BlenderCamera::longitude_max, BlenderCamera::longitude_min, BlenderCamera::matrix, BlenderCamera::motion_position, BlenderCamera::motion_steps, BlenderCamera::nearclip, BlenderCamera::offscreen_dicing_scale, PANORAMA_FISHEYE_EQUISOLID, PANORAMA_FISHEYE_LENS_POLYNOMIAL, BlenderCamera::panorama_type, BlenderCamera::pixelaspect, BlenderCamera::pole_merge_angle_from, BlenderCamera::pole_merge_angle_to, BlenderCamera::render_height, BlenderCamera::render_width, array< T, alignment >::resize(), BoundBox2D::right, RNA_float_get(), BlenderCamera::rolling_shutter_duration, BlenderCamera::rolling_shutter_type, BlenderCamera::sensor_fit, BlenderCamera::sensor_height, BlenderCamera::sensor_width, BlenderCamera::shutter_curve, BlenderCamera::shuttertime, Camera::STEREO_LEFT, Camera::STEREO_NONE, Camera::STEREO_RIGHT, BoundBox2D::top, BlenderCamera::type, BlenderCamera::use_pole_merge, BlenderCamera::use_spherical_stereo, BlenderCamera::viewport_camera_border, width, float2::x, and float2::y.

Referenced by BlenderSync::sync_camera(), and BlenderSync::sync_view().

◆ blender_camera_view_subset()

static void blender_camera_view_subset ( BL::RenderEngine b_engine,
BL::RenderSettings &  b_render,
BL::Scene b_scene,
BL::Object b_ob,
BL::SpaceView3D &  b_v3d,
BL::RegionView3D b_rv3d,
int  width,
int  height,
BoundBox2D view_box,
BoundBox2D cam_box,
float view_aspect 
)
static

◆ blender_camera_viewplane()

static void blender_camera_viewplane ( BlenderCamera bcam,
int  width,
int  height,
BoundBox2D viewplane,
float aspectratio,
float sensor_size 
)
static