This PR adds exposure controls to UsdGeomCamera, allowing to specify brightness as with a physical camera. The calculated exposure value is fed to HdCamera::GetExposure() via UsdImagingCameraAdapter. This means that:
Existing scenes that use the existing exposure attribute continue to work as before
Renderers that already use HdCamera::GetExposure() get the exposure calculation automatically if the new exposure attibutes are changed from their defaults.
This is currently draft to start discussion as per @meshula
Description of Change(s)
Adds exposure:time, exposure:iso, exposure:fNumber, exposure:responsivity attributes and repurposes exposure attribute to be interpreted as exposure compensation. Adds UsdGeomCamera::GetExposureScale() method which allows users to calculate the imaging ratio (i.e. given a certain luminance on the sensor, what is the photometric exposure output) from these attributes.
Also adds a unit test to test the above.
Adds tokens exposureTime, exposureIso, exposureFNumber, exposureResponsivity, exposureCompensation to HdCamera. Modifies HdImagingCameraAdapter::Sync() to return UsdGeomCamera::GetExposureScale() for exposure, UsdGeomCamera::GetExposureAttr() for exposureCompensation and the corresponding attributes for the other tokens.
This PR adds exposure controls to UsdGeomCamera, allowing to specify brightness as with a physical camera. The calculated exposure value is fed to
HdCamera::GetExposure()
viaUsdImagingCameraAdapter
. This means that:exposure
attribute continue to work as beforeHdCamera::GetExposure()
get the exposure calculation automatically if the new exposure attibutes are changed from their defaults.This is currently draft to start discussion as per @meshula
Description of Change(s)
Adds exposure:time, exposure:iso, exposure:fNumber, exposure:responsivity attributes and repurposes exposure attribute to be interpreted as exposure compensation. Adds UsdGeomCamera::GetExposureScale() method which allows users to calculate the imaging ratio (i.e. given a certain luminance on the sensor, what is the photometric exposure output) from these attributes.
Also adds a unit test to test the above.
Adds tokens
exposureTime
,exposureIso
,exposureFNumber
,exposureResponsivity
,exposureCompensation
toHdCamera
. ModifiesHdImagingCameraAdapter::Sync()
to returnUsdGeomCamera::GetExposureScale()
forexposure
,UsdGeomCamera::GetExposureAttr()
forexposureCompensation
and the corresponding attributes for the other tokens.