Skip to content

Commit 5035b89

Browse files
committed
Keep sun irradiance constant when changing distance and size�
1 parent 1a427e2 commit 5035b89

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

sandbox/settings/appleseed.studio.xml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,11 @@
1313
<parameters name="file_dialog">
1414
<parameters name="frames">
1515
<parameter name="last_directory" value="D:\appleseed-scenes" />
16-
<parameter name="selected_filter" value="JPEG Files (*.jpg *.jpe *.jpeg *.jif *.jfif *.jfi)" />
17-
</parameters>
18-
<parameters name="light_paths">
19-
<parameter name="selected_filter" value="" />
16+
<parameter name="selected_filter" value="Bitmap Files (*.bmp *.cin *.dds *.dpx *.fits *.hdr *.rgbe *.ico *.iff *.z *.jpg *.jpe *.jpeg *.jif *.jfif *.jfi *.null *.nul *.exr *.sxr *.mxr *.png *.ppm *.pgm *.pbm *.pnm *.pfm *.psd *.pdd *.psb *.rla *.sgi *.rgb *.rgba *.bw *.int *.inta *.socket *.pic *.tif *.tiff *.tx *.env *.sm *.vsm *.tga *.tpic *.zfile)" />
2017
</parameters>
2118
<parameters name="projects">
22-
<parameter name="last_directory" value="D:\appleseed\sandbox\tests\test scenes\light importance multipliers" />
23-
<parameter name="selected_filter" value="Project Files (*.appleseed *.appleseedz)" />
19+
<parameter name="last_directory" value="D:\appleseed-scenes" />
20+
<parameter name="selected_filter" value="Plain Project Files (*.appleseed)" />
2421
</parameters>
2522
</parameters>
2623
<parameters name="render_region">

src/appleseed/renderer/modeling/light/sunlight.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ void SunLight::evaluate(
294294
square(static_cast<float>(distance_to_center)));
295295

296296
value.set(radiance, g_std_lighting_conditions, Spectrum::Illuminance);
297+
value *= m_sun_solid_angle;
297298
}
298299

299300
void SunLight::compute_sun_radiance(
@@ -566,7 +567,7 @@ void SunLight::sample_sun_surface(
566567

567568
outgoing = normalize(target_point - position);
568569
Vector2d test = static_cast<double>(SunRadius * m_values.m_size_multiplier) * p;
569-
float squared_distance_to_center = test[0] * test[0] + test[1] * test[1];
570+
double squared_distance_to_center = test[0] * test[0] + test[1] * test[1];
570571

571572

572573
RegularSpectrum31f radiance;
@@ -575,7 +576,7 @@ void SunLight::sample_sun_surface(
575576
m_values.m_turbidity,
576577
m_values.m_radiance_multiplier,
577578
radiance,
578-
squared_distance_to_center);
579+
static_cast<float>(squared_distance_to_center));
579580

580581
value.set(radiance, g_std_lighting_conditions, Spectrum::Illuminance);
581582

0 commit comments

Comments
 (0)