commit c268521dad790dc95322f2af134f415a106687fa
parent e8f8b8d17f46e9a9caba039408d92c729112287f
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 24 May 2017 12:11:12 +0200
Rename the medium absorptivity in absorption
Diffstat:
6 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/src/ssol.h b/src/ssol.h
@@ -258,7 +258,7 @@ struct ssol_data {
static const struct ssol_data SSOL_DATA_NULL = SSOL_DATA_NULL__;
struct ssol_medium {
- struct ssol_data absorptivity;
+ struct ssol_data absorption;
struct ssol_data refractive_index;
};
#define SSOL_MEDIUM_VACUUM__ {{SSOL_DATA_REAL, {0}}, {SSOL_DATA_REAL, {1}}}
@@ -1237,7 +1237,7 @@ static FINLINE struct ssol_medium*
ssol_medium_clear(struct ssol_medium* medium)
{
ASSERT(medium);
- ssol_data_clear(&medium->absorptivity);
+ ssol_data_clear(&medium->absorption);
ssol_data_clear(&medium->refractive_index);
return medium;
}
@@ -1246,7 +1246,7 @@ static FINLINE struct ssol_medium*
ssol_medium_copy(struct ssol_medium* dst, const struct ssol_medium* src)
{
ASSERT(dst && src);
- ssol_data_copy(&dst->absorptivity, &src->absorptivity);
+ ssol_data_copy(&dst->absorption, &src->absorption);
ssol_data_copy(&dst->refractive_index, &src->refractive_index);
return dst;
}
diff --git a/src/ssol_draw_pt.c b/src/ssol_draw_pt.c
@@ -172,13 +172,13 @@ Li(struct ssol_scene* scn,
wl = ranst_sun_wl_get(ctx->ran_wl, ctx->rng);
for(;;) {
- double absorptivity;
+ double absorption;
S3D(scene_view_trace_ray
(view, ray_org, ray_dir, ray_range, &ray_data, &hit));
- absorptivity = ssol_data_get_value(&medium.absorptivity, wl);
- if(absorptivity > 0) {
- throughput *= exp(-absorptivity * hit.distance);
+ absorption = ssol_data_get_value(&medium.absorption, wl);
+ if(absorption > 0) {
+ throughput *= exp(-absorption * hit.distance);
}
if(S3D_HIT_NONE(&hit)) { /* Background lighting */
diff --git a/src/ssol_material.c b/src/ssol_material.c
@@ -212,7 +212,7 @@ setup_thin_dielectric_bsdf
{
struct ssf_bxdf* bxdf = NULL;
double thickness;
- double absorptivity;
+ double absorption;
double eta_i;
double eta_t;
res_T res = RES_OK;
@@ -223,8 +223,8 @@ setup_thin_dielectric_bsdf
eta_i = ssol_data_get_value(&mtl->out_medium.refractive_index, wavelength);
eta_t = ssol_data_get_value
(&mtl->data.thin_dielectric.slab_medium.refractive_index, wavelength);
- absorptivity = ssol_data_get_value
- (&mtl->data.thin_dielectric.slab_medium.absorptivity, wavelength);
+ absorption = ssol_data_get_value
+ (&mtl->data.thin_dielectric.slab_medium.absorption, wavelength);
thickness = mtl->data.thin_dielectric.thickness;
/* Setup the BxDF */
@@ -232,7 +232,7 @@ setup_thin_dielectric_bsdf
(mtl->dev->allocator, &ssf_thin_specular_dielectric, &bxdf);
if(res != RES_OK) goto error;
res = ssf_thin_specular_dielectric_setup
- (bxdf, absorptivity, eta_i, eta_t, thickness);
+ (bxdf, absorption, eta_i, eta_t, thickness);
if(res != RES_OK) goto error;
/* Setup the BSDF */
@@ -280,21 +280,21 @@ check_medium(const struct ssol_medium* medium)
{
if(!medium) return 0;
- /* Check absorptivity in [0, INF) */
- switch(medium->absorptivity.type) {
+ /* Check absorption in [0, INF) */
+ switch(medium->absorption.type) {
case SSOL_DATA_REAL:
- if(medium->absorptivity.value.real < 0)
+ if(medium->absorption.value.real < 0)
return 0;
break;
case SSOL_DATA_SPECTRUM:
- if(!medium->absorptivity.value.spectrum
- || !spectrum_check_data(medium->absorptivity.value.spectrum, 0, DBL_MAX))
+ if(!medium->absorption.value.spectrum
+ || !spectrum_check_data(medium->absorption.value.spectrum, 0, DBL_MAX))
return 0;
break;
default: FATAL("Unreachable code\n"); break;
}
- /* Check absorptivity in ]0, INF) */
+ /* Check refractive index in ]0, INF) */
switch(medium->refractive_index.type) {
case SSOL_DATA_REAL:
if(medium->refractive_index.value.real <= 0)
diff --git a/src/ssol_material_c.h b/src/ssol_material_c.h
@@ -25,7 +25,7 @@ struct ssol_device;
#define MEDIA_EQ(A, B) \
( ssol_data_eq(&((A)->refractive_index), &((B)->refractive_index)) \
- && ssol_data_eq(&((A)->absorptivity), &((B)->absorptivity)))
+ && ssol_data_eq(&((A)->absorption), &((B)->absorption)))
struct dielectric {
int dummy;
diff --git a/src/ssol_solver.c b/src/ssol_solver.c
@@ -776,7 +776,7 @@ trace_radiative_path
struct ssol_medium medium = SSOL_MEDIUM_VACUUM;
if(scn->atmosphere) {
/* Assume that the path starts from an uniform atmosphere */
- ssol_data_set_real(&medium.absorptivity,
+ ssol_data_set_real(&medium.absorption,
atmosphere_get_absorption(scn->atmosphere, pt.wl));
}
/* Setup the ray as if it starts from the current point position in order
@@ -788,7 +788,7 @@ trace_radiative_path
for(;;) { /* Here we go for the radiative random walk */
struct ray_data ray_data = RAY_DATA_NULL;
struct ssol_material* mtl;
- double absorptivity;
+ double absorption;
/* Compute interaction with material */
mtl = point_get_material(&pt);
@@ -848,9 +848,9 @@ trace_radiative_path
depth += mtl->type != SSOL_MATERIAL_VIRTUAL;
/* Take into account the medium attenuation */
- absorptivity = ssol_data_get_value(&medium.absorptivity, pt.wl);
- if(absorptivity > 0 && hit.distance > 0) {
- const double transmissivity = exp(-absorptivity * hit.distance);
+ absorption = ssol_data_get_value(&medium.absorption, pt.wl);
+ if(absorption > 0 && hit.distance > 0) {
+ const double transmissivity = exp(-absorption * hit.distance);
ASSERT(0 < transmissivity && transmissivity <= 1);
pt.absorptivity_loss += (1 - transmissivity) * pt.weight;
pt.weight *= transmissivity;
diff --git a/src/test_ssol_material.c b/src/test_ssol_material.c
@@ -162,17 +162,17 @@ test_thin_dielectric(struct ssol_device* dev)
CHECK(ssol_thin_dielectric_setup(mtl, &shader, &mdm0, &mdm1, 1), RES_BAD_ARG);
shader.normal = get_shader_normal;
- ssol_data_set_real(&mdm0.absorptivity, -1);
+ ssol_data_set_real(&mdm0.absorption, -1);
CHECK(ssol_thin_dielectric_setup(mtl, &shader, &mdm0, &mdm1, 1), RES_BAD_ARG);
- ssol_data_copy(&mdm0.absorptivity, &SSOL_MEDIUM_VACUUM.absorptivity);
+ ssol_data_copy(&mdm0.absorption, &SSOL_MEDIUM_VACUUM.absorption);
ssol_data_set_real(&mdm0.refractive_index, 0);
CHECK(ssol_thin_dielectric_setup(mtl, &shader, &mdm0, &mdm1, 1), RES_BAD_ARG);
ssol_data_copy(&mdm0.refractive_index, &SSOL_MEDIUM_VACUUM.refractive_index);
- ssol_data_set_real(&mdm1.absorptivity, -1);
+ ssol_data_set_real(&mdm1.absorption, -1);
CHECK(ssol_thin_dielectric_setup(mtl, &shader, &mdm0, &mdm1, 1), RES_BAD_ARG);
- ssol_data_copy(&mdm1.absorptivity, &SSOL_MEDIUM_VACUUM.absorptivity);
+ ssol_data_copy(&mdm1.absorption, &SSOL_MEDIUM_VACUUM.absorption);
ssol_data_set_real(&mdm1.refractive_index, 0);
CHECK(ssol_thin_dielectric_setup(mtl, &shader, &mdm0, &mdm1, 1), RES_BAD_ARG);
@@ -229,11 +229,11 @@ test_dielectric(struct ssol_device* dev)
CHECK(ssol_dielectric_setup(NULL, &dielectric, &mdm0, &mdm1), RES_BAD_ARG);
ssol_data_copy(&mdm1.refractive_index, &SSOL_MEDIUM_VACUUM.refractive_index);
- ssol_data_set_real(&mdm0.absorptivity, -1);
+ ssol_data_set_real(&mdm0.absorption, -1);
CHECK(ssol_dielectric_setup(NULL, &dielectric, &mdm0, &mdm1), RES_BAD_ARG);
- ssol_data_copy(&mdm0.absorptivity, &SSOL_MEDIUM_VACUUM.refractive_index);
+ ssol_data_copy(&mdm0.absorption, &SSOL_MEDIUM_VACUUM.refractive_index);
- ssol_data_set_real(&mdm1.absorptivity, -1);
+ ssol_data_set_real(&mdm1.absorption, -1);
CHECK(ssol_dielectric_setup(NULL, &dielectric, &mdm0, &mdm1), RES_BAD_ARG);
ssol_data_copy(&mdm1.refractive_index, &SSOL_MEDIUM_VACUUM.refractive_index);