-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Physical Cameras for USD #41
base: main
Are you sure you want to change the base?
Conversation
This adds the PhysicalCameraExposure and PhysicalCameraSensorSensitivity schema. Both are single-apply schema intended to be applied to a PhysicalCamera or UsdGeomCamera. Exposure adds iso, shutter speed etc, and SensorSensitivity adds spectral sensitivity curves in the spirit of Wetas physLight
add schema for exposure and sensitivity
- Rename Sensitivity to Responsivity per latest lingo - Include RGB in camera responsivity schema name to indicate it's an RGB camera rather than something else
updates based on WG discussion
float2 aperture = (36.0, 24.0) ( | ||
doc = '''aperture in millimeters''' | ||
) | ||
float handedness = 1.0 ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why a float type for this value?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That follows GfMatrix where we see
/// Returns the sign of the determinant of the matrix, i.e. 1 for a
/// right-handed matrix, -1 for a left-handed matrix, and 0 for a
/// singular matrix.
GF_API
double GetHandedness() const;
/// Returns true if the vectors in the matrix form a right-handed
/// coordinate system.
bool IsRightHanded() const {
return GetHandedness() == 1.0;
}
/// Returns true if the vectors in matrix form a left-handed
/// coordinate system.
bool IsLeftHanded() const {
return GetHandedness() == -1.0;
}
we find code like this throughout OpenUSD:
// negate the angles
*thetaSw *= -handedness;
*thetaFB *= -handedness;
*thetaTw *= -handedness;
usd files have it as a token
uniform token orientation = "leftHanded" (
hidden = true
)
I agree that instead of a handedness float, we should match the orientation
token usage.
Link to Rendered Proposal for convenience |
Physical Cameras for USD
On behalf of the Cameras in USD Working Group:
This schema usefully bridges the description of physical cameras to USD scenes.
rendered link:
https://github.com/usd-wg/OpenUSD-proposals/blob/physical-camera/proposals/physical-cameras/README.md
The physical camera is a primitive meant to be a target for construction of
a physical camera model through applied, and multiply applied schemas.
Supporting Materials
n/a
Contributing