62 const float unit_scale =
float(1.0 / meters_per_unit);
68 const Camera *camera =
static_cast<const Camera *
>(context.object->data);
71 usd_camera.CreateProjectionAttr().Set(pxr::UsdGeomTokens->perspective);
83 float sensor_size, aperture_x, aperture_y;
86 set_attribute(usd_camera.CreateFocalLengthAttr(pxr::VtValue(),
true),
87 camera->
lens / tenth_unit_to_mm,
90 set_attribute(usd_camera.CreateHorizontalApertureAttr(pxr::VtValue(),
true),
91 aperture_x / tenth_unit_to_mm,
94 set_attribute(usd_camera.CreateVerticalApertureAttr(pxr::VtValue(),
true),
95 aperture_y / tenth_unit_to_mm,
98 set_attribute(usd_camera.CreateHorizontalApertureOffsetAttr(pxr::VtValue(),
true),
99 sensor_size * camera->
shiftx / tenth_unit_to_mm,
102 set_attribute(usd_camera.CreateVerticalApertureOffsetAttr(pxr::VtValue(),
true),
103 sensor_size * camera->
shifty / tenth_unit_to_mm,
106 set_attribute(usd_camera.CreateClippingRangeAttr(pxr::VtValue(),
true),
114 set_attribute(usd_camera.CreateFStopAttr(pxr::VtValue(),
true),
118 set_attribute(usd_camera.CreateFocusDistanceAttr(pxr::VtValue(),
true),
119 focus_distance * unit_scale,
127 auto prim = usd_camera.GetPrim();