Skip to content

Commit f93b9c3

Browse files
committed
Add missing light builder functions
1 parent 265b610 commit f93b9c3

3 files changed

Lines changed: 38 additions & 5 deletions

File tree

cli/light_builder.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,24 @@ DiffuseAreaLight* CreateDiffuseAreaLight(Scene& scene, const Primitive* primitiv
6060
return scene.CreateLight<DiffuseAreaLight>(primitive, CreateSpectrumConstantTexture(scene, emission), two_sided);
6161
}
6262

63+
SpotAreaLight* CreateSpotAreaLight(
64+
Scene& scene, const Primitive* primitive, const Spectrum& emission, Float angle_max, Float angle_falloff_start, bool two_sided
65+
)
66+
{
67+
return scene.CreateLight<SpotAreaLight>(
68+
primitive, CreateSpectrumConstantTexture(scene, emission), angle_max, angle_falloff_start, two_sided
69+
);
70+
}
71+
72+
SpotAreaLight* CreateSpotAreaLight(
73+
Scene& scene, const Primitive* primitive, Float emission, Float angle_max, Float angle_falloff_start, bool two_sided
74+
)
75+
{
76+
return scene.CreateLight<SpotAreaLight>(
77+
primitive, CreateSpectrumConstantTexture(scene, emission), angle_max, angle_falloff_start, two_sided
78+
);
79+
}
80+
6381
DirectionalAreaLight* CreateDirectionalAreaLight(
6482
Scene& scene, const Primitive* primitive, const Spectrum& emission, bool two_sided
6583
)

cli/light_builder.h

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,36 @@ DiffuseAreaLight* CreateDiffuseAreaLight(
5656
const Spectrum& emission,
5757
bool two_sided
5858
);
59-
6059
DiffuseAreaLight* CreateDiffuseAreaLight(
6160
Scene& scene,
6261
const Primitive* primitive,
6362
Float emission,
6463
bool two_sided
6564
);
6665

67-
DirectionalAreaLight* CreateDirectionalAreaLight(
66+
SpotAreaLight* CreateSpotAreaLight(
6867
Scene& scene,
6968
const Primitive* primitive,
7069
const Spectrum& emission,
70+
Float angle_max,
71+
Float angle_falloff_start,
72+
bool two_sided
73+
);
74+
SpotAreaLight* CreateSpotAreaLight(
75+
Scene& scene,
76+
const Primitive* primitive,
77+
Float emission,
78+
Float angle_max,
79+
Float angle_falloff_start,
7180
bool two_sided
7281
);
7382

83+
DirectionalAreaLight* CreateDirectionalAreaLight(
84+
Scene& scene,
85+
const Primitive* primitive,
86+
const Spectrum& emission,
87+
bool two_sided
88+
);
7489
DirectionalAreaLight* CreateDirectionalAreaLight(
7590
Scene& scene,
7691
const Primitive* primitive,
@@ -80,12 +95,12 @@ DirectionalAreaLight* CreateDirectionalAreaLight(
8095

8196
UniformInfiniteLight* CreateUniformInfiniteLight(
8297
Scene& scene,
83-
const Spectrum& l,
98+
const Spectrum& intensity,
8499
Float scale = 1
85100
);
86101
UniformInfiniteLight* CreateUniformInfiniteLight(
87102
Scene& scene,
88-
Float l,
103+
Float intensity,
89104
Float scale = 1
90105
);
91106

src/bxdf/microfacet.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ void PrepareReflectanceTextures(int32 texture_size, int32 num_samples)
240240
{
241241
if (!fs::exists(folder))
242242
{
243-
fs::create_directory(folder);
243+
fs::create_directories(folder);
244244
}
245245

246246
int32 x_samples = int32(std::sqrt(num_samples));

0 commit comments

Comments
 (0)