37 if (blight ==
nullptr) {
41 pxr::UsdLuxLightAPI light_api(
prim_);
46 if (
prim_.IsA<pxr::UsdLuxDiskLight>()) {
51 pxr::UsdLuxDiskLight disk_light(
prim_);
53 if (pxr::UsdAttribute radius_attr = disk_light.GetRadiusAttr()) {
55 if (radius_attr.Get(&radius, time)) {
61 else if (
prim_.IsA<pxr::UsdLuxRectLight>()) {
66 pxr::UsdLuxRectLight rect_light(
prim_);
68 if (pxr::UsdAttribute width_attr = rect_light.GetWidthAttr()) {
70 if (width_attr.Get(&width, time)) {
75 if (pxr::UsdAttribute height_attr = rect_light.GetHeightAttr()) {
77 if (height_attr.Get(&height, time)) {
83 else if (
prim_.IsA<pxr::UsdLuxSphereLight>()) {
87 pxr::UsdLuxSphereLight sphere_light(
prim_);
89 pxr::UsdAttribute treatAsPoint_attr = sphere_light.GetTreatAsPointAttr();
91 if (treatAsPoint_attr && treatAsPoint_attr.Get(&treatAsPoint, time) && treatAsPoint) {
94 else if (pxr::UsdAttribute radius_attr = sphere_light.GetRadiusAttr()) {
96 if (radius_attr.Get(&radius, time)) {
102 pxr::UsdLuxShapingAPI shaping_api = pxr::UsdLuxShapingAPI(
prim_);
103 if (shaping_api && shaping_api.GetShapingConeAngleAttr().IsAuthored()) {
106 if (pxr::UsdAttribute cone_angle_attr = shaping_api.GetShapingConeAngleAttr()) {
107 float cone_angle = 0.0f;
108 if (cone_angle_attr.Get(&cone_angle, time)) {
113 if (pxr::UsdAttribute cone_softness_attr = shaping_api.GetShapingConeSoftnessAttr()) {
114 float cone_softness = 0.0f;
115 if (cone_softness_attr.Get(&cone_softness, time)) {
121 else if (
prim_.IsA<pxr::UsdLuxDistantLight>()) {
124 pxr::UsdLuxDistantLight distant_light(
prim_);
126 if (pxr::UsdAttribute angle_attr = distant_light.GetAngleAttr()) {
128 if (angle_attr.Get(&
angle, time)) {
136 if (pxr::UsdAttribute intensity_attr = light_api.GetIntensityAttr()) {
137 float intensity = 0.0f;
138 if (intensity_attr.Get(&intensity, time)) {
141 blight->
energy = intensity * 4.0f;
152 if (pxr::UsdAttribute exposure_attr = light_api.GetExposureAttr()) {
153 float exposure = 0.0f;
154 if (exposure_attr.Get(&exposure, time)) {
160 if (pxr::UsdAttribute color_attr = light_api.GetColorAttr()) {
162 if (color_attr.Get(&
color, time)) {
170 if (pxr::UsdAttribute enable_temperature_attr = light_api.GetEnableColorTemperatureAttr()) {
171 bool enable_temperature =
false;
172 if (enable_temperature_attr.Get(&enable_temperature, time)) {
173 if (enable_temperature) {
179 if (pxr::UsdAttribute color_temperature_attr = light_api.GetColorTemperatureAttr()) {
180 float color_temperature = 6500.0f;
181 if (color_temperature_attr.Get(&color_temperature, time)) {
187 if (pxr::UsdAttribute diff_attr = light_api.GetDiffuseAttr()) {
188 float diff_fac = 1.0f;
189 if (diff_attr.Get(&diff_fac, time)) {
193 if (pxr::UsdAttribute spec_attr = light_api.GetSpecularAttr()) {
194 float spec_fac = 1.0f;
195 if (spec_attr.Get(&spec_fac, time)) {
201 if (pxr::UsdAttribute normalize_attr = light_api.GetNormalizeAttr()) {
203 if (normalize_attr.Get(&
normalize, time)) {