commit 5fe33bff370ad3a71bcaafea747be4c8d4bed381 parent 6293b156be2930277cdd4e76e299d2ddd054e2b8 Author: Vincent Forest <vincent.forest@meso-star.com> Date: Thu, 15 Nov 2018 16:01:02 +0100 Merge branch 'release_0.6' into develop Diffstat:
45 files changed, 63 insertions(+), 59 deletions(-)
diff --git a/README.md b/README.md @@ -1,15 +1,13 @@ # Star-ScatteringFunctions -This library provides a set of abstractions to describe the way the -light is scattered at a surface with respect to a geometric optics model. It -defines interfaces to describe Bidirectional Reflectance|Transmittance -Distribution Functions (BRDF & BTDF), microfacet distributions and Fresnel -terms. Several built-in implementation of these interfaces are provided as -specular, lambertian and microfacet reflections, Beckmann and Blinn microfacet -distributions, or dielectric/dielectric and dielectric/conductor Fresnel terms. - -Finally, complex scattering functions defines as a combination of several BRDFs -and BTDFs are handled through a Bidirectional Scattering Distribution Function. +This library provides a set of abstractions to describe the way the light is +scattered with respect to a geometric optics model. It defines interfaces to +describe Bidirectional Scattering Distribution Functions, microfacet +distributions, Fresnel terms and phase functions. Several built-in +implementation of these interfaces are provided as specular, lambertian and +microfacet reflections, Beckmann and Blinn microfacet distributions, +dielectric/dielectric and dielectric/conductor Fresnel terms, Henyey & +Greenstein and Rayleigh phase functions, etc. ## How to build @@ -26,6 +24,13 @@ project from the `cmake/CMakeLists.txt` file by appending to the ## Release notes +### Version 0.6 + +- Add the phase function API allowing the user to define, sample and evaluate a + phase function. +- Provide built-in implementation of the Henyey & Greenstein, and the Rayleigh + phase functions. + ### Version 0.5 - Add the pillbox microfacet distribution. @@ -57,9 +62,8 @@ project from the `cmake/CMakeLists.txt` file by appending to the ## License -Star-ScatteringFunctions is Copyright (C) |Meso|Star> 2016-2018 -(<contact@meso-star.com>). It is a free software released under the -[OSI](http://opensource.org)-approved GPL v3+ license. You are welcome to -redistribute it under certain conditions; refer to the COPYING file for -details. +Star-ScatteringFunctions is Copyright (C) 2016-2018 +|Meso|Star>(<contact@meso-star.com>). It is a free software released under the +GPL v3+ license. You are welcome to redistribute it under certain conditions; +refer to the COPYING file for details. diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +# Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/src/ssf.h b/src/ssf.h @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_beckmann_distribution.c b/src/ssf_beckmann_distribution.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_blinn_distribution.c b/src/ssf_blinn_distribution.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_bsdf.c b/src/ssf_bsdf.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_bsdf_c.h b/src/ssf_bsdf_c.h @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_fresnel.c b/src/ssf_fresnel.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_fresnel_c.h b/src/ssf_fresnel_c.h @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_fresnel_constant.c b/src/ssf_fresnel_constant.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_fresnel_dielectric_conductor.c b/src/ssf_fresnel_dielectric_conductor.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_fresnel_dielectric_dielectric.c b/src/ssf_fresnel_dielectric_dielectric.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_fresnel_no_op.c b/src/ssf_fresnel_no_op.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_lambertian_reflection.c b/src/ssf_lambertian_reflection.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_microfacet_distribution.c b/src/ssf_microfacet_distribution.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_microfacet_distribution_c.h b/src/ssf_microfacet_distribution_c.h @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_microfacet_reflection.c b/src/ssf_microfacet_reflection.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_optics.h b/src/ssf_optics.h @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_phase.c b/src/ssf_phase.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_phase_c.h b/src/ssf_phase_c.h @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_phase_hg.c b/src/ssf_phase_hg.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_phase_rayleigh.c b/src/ssf_phase_rayleigh.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_pillbox_distribution.c b/src/ssf_pillbox_distribution.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_specular_dielectric_dielectric_interface.c b/src/ssf_specular_dielectric_dielectric_interface.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_specular_reflection.c b/src/ssf_specular_reflection.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/ssf_thin_specular_dielectric.c b/src/ssf_thin_specular_dielectric.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_beckmann_distribution.c b/src/test_ssf_beckmann_distribution.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_blinn_distribution.c b/src/test_ssf_blinn_distribution.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_bsdf.c b/src/test_ssf_bsdf.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_fresnel.c b/src/test_ssf_fresnel.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_fresnel_constant.c b/src/test_ssf_fresnel_constant.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_fresnel_dielectric_conductor.c b/src/test_ssf_fresnel_dielectric_conductor.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_fresnel_dielectric_dielectric.c b/src/test_ssf_fresnel_dielectric_dielectric.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_fresnel_no_op.c b/src/test_ssf_fresnel_no_op.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_lambertian_reflection.c b/src/test_ssf_lambertian_reflection.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_microfacet_distribution.c b/src/test_ssf_microfacet_distribution.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_microfacet_reflection.c b/src/test_ssf_microfacet_reflection.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_phase.c b/src/test_ssf_phase.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_phase_hg.c b/src/test_ssf_phase_hg.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_phase_rayleigh.c b/src/test_ssf_phase_rayleigh.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_pillbox_distribution.c b/src/test_ssf_pillbox_distribution.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_specular_dielectric_dielectric_reflection.c b/src/test_ssf_specular_dielectric_dielectric_reflection.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_specular_reflection.c b/src/test_ssf_specular_reflection.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_thin_specular_dielectric.c b/src/test_ssf_thin_specular_dielectric.c @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test_ssf_utils.h b/src/test_ssf_utils.h @@ -1,4 +1,4 @@ -/* Copyright (C) |Meso|Star> 2016-2018 (contact@meso-star.com) +/* Copyright (C) 2016-2018 |Meso|Star> (contact@meso-star.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by