40 camera->sensor_fit, camera->sensor_x, camera->sensor_y);
41 *r_sensor = sensor_size;
45 *r_sensor_x = sensor_size;
46 *r_sensor_y = sensor_size * sizey / sizex;
49 *r_sensor_x = sensor_size * sizex / sizey;
50 *r_sensor_y = sensor_size;
53 BLI_assert_msg(0,
"Camera fit should be either horizontal or vertical");
64 const Camera *camera =
static_cast<const Camera *
>(context.object->data);
67 usd_camera.CreateProjectionAttr().Set(pxr::UsdGeomTokens->perspective);
77 const float tenth_unit_to_mm = 100.0f * scene->unit.scale_length;
79 float sensor_size, aperture_x, aperture_y;
82 usd_camera.CreateFocalLengthAttr().Set(camera->lens / tenth_unit_to_mm, timecode);
83 usd_camera.CreateHorizontalApertureAttr().Set(aperture_x / tenth_unit_to_mm, timecode);
84 usd_camera.CreateVerticalApertureAttr().Set(aperture_y / tenth_unit_to_mm, timecode);
85 usd_camera.CreateHorizontalApertureOffsetAttr().Set(
86 sensor_size * camera->shiftx / tenth_unit_to_mm, timecode);
87 usd_camera.CreateVerticalApertureOffsetAttr().Set(
88 sensor_size * camera->shifty / tenth_unit_to_mm, timecode);
90 usd_camera.CreateClippingRangeAttr().Set(
91 pxr::VtValue(pxr::GfVec2f(camera->clip_start, camera->clip_end)), timecode);
95 usd_camera.CreateFStopAttr().Set(camera->dof.aperture_fstop, timecode);
98 usd_camera.CreateFocusDistanceAttr().Set(focus_distance, timecode);
101 auto prim = usd_camera.GetPrim();
const pxr::SdfPath usd_path
const pxr::UsdStageRefPtr stage