From f54cf3b480b947ec730e4c9cb27f45ba2786cc32 Mon Sep 17 00:00:00 2001 From: Alejandro Conty Date: Wed, 30 Apr 2025 03:42:28 -0700 Subject: [PATCH] Open-sourcing Imageworks BSDF library Sony Pictures Imageworks BSDF library (working title BSDL) is here published and introduced to testrender. It is a header only library where everything is inlined and can be used on GPU. Although we haven't kept the BSDFs up to date with the latest research in the last couple of years, I hope you, at least, like the infrastructure. There are three main items in this PR 1. Put BSDL as an INTERFACE cmake library in src/libbsdl. 2. Introduce the switch/case automatic pseudo virtual methods in testrender to handle all the existing BSDFs. 3. As an example integrate SPI's ThinLayer BSDF in testrender and add a test for it. BSDL is a self-contained lib depending only on Imath. There is not even a need to link to OSL and it can be used as a build only dependency. Inside libbsdl directory there is a README with further information, but documentation is the usual weak point with production code. We use this code as-is directly for making movies with our in-house render, and we welcome everybody to contribute theirs. The name "BSDL" is one of my half-broken name ideas and I'm very much open to suggestions. I recommend to first look at my changes to testrender, integration was very easy. Then dive in the internals if you want. Credits for this code go mainly to Chris Kulla and me (Alejandro Conty), but there are also other smaller contributions from other Imageworks members, including alumni Laura Lediaev who wrote the LTC sheen implementation. Signed-off-by: Alejandro Conty --- CMakeLists.txt | 1 + src/cmake/cuda_macros.cmake | 13 +- src/cmake/testing.cmake | 1 + src/libbsdl/CMakeLists.txt | 10 + src/libbsdl/README.md | 94 ++ src/libbsdl/bsdl.cmake | 44 + .../include/BSDL/SPI/bsdf_backscatter_decl.h | 109 +++ .../include/BSDL/SPI/bsdf_backscatter_impl.h | 166 ++++ .../include/BSDL/SPI/bsdf_clearcoat_decl.h | 116 +++ .../include/BSDL/SPI/bsdf_clearcoat_impl.h | 164 ++++ .../include/BSDL/SPI/bsdf_dielectric_decl.h | 165 ++++ .../include/BSDL/SPI/bsdf_dielectric_impl.h | 326 +++++++ .../include/BSDL/SPI/bsdf_diffuse_decl.h | 151 ++++ .../include/BSDL/SPI/bsdf_diffuse_impl.h | 268 ++++++ .../include/BSDL/SPI/bsdf_metal_decl.h | 86 ++ .../include/BSDL/SPI/bsdf_metal_impl.h | 122 +++ .../include/BSDL/SPI/bsdf_oren_nayar_decl.h | 58 ++ .../include/BSDL/SPI/bsdf_oren_nayar_impl.h | 72 ++ .../include/BSDL/SPI/bsdf_physicalhair_decl.h | 220 +++++ .../include/BSDL/SPI/bsdf_physicalhair_impl.h | 837 ++++++++++++++++++ .../include/BSDL/SPI/bsdf_sheenltc_decl.h | 125 +++ .../include/BSDL/SPI/bsdf_sheenltc_impl.h | 245 +++++ .../include/BSDL/SPI/bsdf_sheenltc_param.h | 282 ++++++ .../include/BSDL/SPI/bsdf_thinlayer_decl.h | 172 ++++ .../include/BSDL/SPI/bsdf_thinlayer_impl.h | 487 ++++++++++ .../include/BSDL/SPI/bsdf_volume_decl.h | 59 ++ .../include/BSDL/SPI/bsdf_volume_impl.h | 95 ++ src/libbsdl/include/BSDL/bsdf_decl.h | 110 +++ src/libbsdl/include/BSDL/bsdf_impl.h | 188 ++++ src/libbsdl/include/BSDL/cdf_decl.h | 113 +++ src/libbsdl/include/BSDL/config.h | 123 +++ src/libbsdl/include/BSDL/jakobhanika_decl.h | 39 + src/libbsdl/include/BSDL/jakobhanika_impl.h | 94 ++ .../include/BSDL/microfacet_tools_decl.h | 130 +++ .../include/BSDL/microfacet_tools_impl.h | 301 +++++++ src/libbsdl/include/BSDL/params.h | 89 ++ src/libbsdl/include/BSDL/spectrum_decl.h | 398 +++++++++ src/libbsdl/include/BSDL/spectrum_impl.h | 186 ++++ src/libbsdl/include/BSDL/spectrum_luts.h | 228 +++++ src/libbsdl/include/BSDL/static_virtual.h | 484 ++++++++++ src/libbsdl/include/BSDL/thinfilm_decl.h | 27 + src/libbsdl/include/BSDL/thinfilm_impl.h | 167 ++++ src/libbsdl/include/BSDL/tools.h | 528 +++++++++++ src/libbsdl/src/genluts.cpp | 218 +++++ src/libbsdl/src/jakobhanika_luts.cpp | 799 +++++++++++++++++ src/libbsdl/src/parallel.h | 38 + src/testrender/CMakeLists.txt | 4 +- src/testrender/background.h | 6 +- src/testrender/bsdl_config.h | 84 ++ src/testrender/raytracer.h | 7 +- src/testrender/shading.cpp | 495 +++-------- src/testrender/shading.h | 97 +- src/testrender/simpleraytracer.cpp | 12 +- src/testshade/CMakeLists.txt | 2 +- testsuite/render-spi-thinlayer/OPTIX | 0 .../render-spi-thinlayer/checkerboard.osl | 36 + testsuite/render-spi-thinlayer/envmap.osl | 15 + .../render-spi-thinlayer/glossy_glass.osl | 30 + testsuite/render-spi-thinlayer/matte.osl | 19 + .../render-spi-thinlayer/ref/out-icx-alt.exr | Bin 0 -> 315317 bytes .../ref/out-macos-alt.exr | Bin 0 -> 307262 bytes .../ref/out-optix-alt.exr | Bin 0 -> 315552 bytes testsuite/render-spi-thinlayer/ref/out.exr | Bin 0 -> 315389 bytes testsuite/render-spi-thinlayer/run.py | 14 + testsuite/render-spi-thinlayer/scene.xml | 30 + 65 files changed, 9207 insertions(+), 392 deletions(-) create mode 100644 src/libbsdl/CMakeLists.txt create mode 100644 src/libbsdl/README.md create mode 100644 src/libbsdl/bsdl.cmake create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_backscatter_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_backscatter_impl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_clearcoat_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_clearcoat_impl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_dielectric_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_dielectric_impl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_diffuse_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_diffuse_impl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_metal_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_metal_impl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_oren_nayar_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_oren_nayar_impl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_physicalhair_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_physicalhair_impl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_impl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_param.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_thinlayer_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_thinlayer_impl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_volume_decl.h create mode 100644 src/libbsdl/include/BSDL/SPI/bsdf_volume_impl.h create mode 100644 src/libbsdl/include/BSDL/bsdf_decl.h create mode 100644 src/libbsdl/include/BSDL/bsdf_impl.h create mode 100644 src/libbsdl/include/BSDL/cdf_decl.h create mode 100644 src/libbsdl/include/BSDL/config.h create mode 100644 src/libbsdl/include/BSDL/jakobhanika_decl.h create mode 100644 src/libbsdl/include/BSDL/jakobhanika_impl.h create mode 100644 src/libbsdl/include/BSDL/microfacet_tools_decl.h create mode 100644 src/libbsdl/include/BSDL/microfacet_tools_impl.h create mode 100644 src/libbsdl/include/BSDL/params.h create mode 100644 src/libbsdl/include/BSDL/spectrum_decl.h create mode 100644 src/libbsdl/include/BSDL/spectrum_impl.h create mode 100644 src/libbsdl/include/BSDL/spectrum_luts.h create mode 100644 src/libbsdl/include/BSDL/static_virtual.h create mode 100644 src/libbsdl/include/BSDL/thinfilm_decl.h create mode 100644 src/libbsdl/include/BSDL/thinfilm_impl.h create mode 100644 src/libbsdl/include/BSDL/tools.h create mode 100644 src/libbsdl/src/genluts.cpp create mode 100644 src/libbsdl/src/jakobhanika_luts.cpp create mode 100644 src/libbsdl/src/parallel.h create mode 100644 src/testrender/bsdl_config.h create mode 100644 testsuite/render-spi-thinlayer/OPTIX create mode 100644 testsuite/render-spi-thinlayer/checkerboard.osl create mode 100644 testsuite/render-spi-thinlayer/envmap.osl create mode 100644 testsuite/render-spi-thinlayer/glossy_glass.osl create mode 100644 testsuite/render-spi-thinlayer/matte.osl create mode 100644 testsuite/render-spi-thinlayer/ref/out-icx-alt.exr create mode 100644 testsuite/render-spi-thinlayer/ref/out-macos-alt.exr create mode 100644 testsuite/render-spi-thinlayer/ref/out-optix-alt.exr create mode 100644 testsuite/render-spi-thinlayer/ref/out.exr create mode 100755 testsuite/render-spi-thinlayer/run.py create mode 100644 testsuite/render-spi-thinlayer/scene.xml diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ae40033f..933e1166e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -250,6 +250,7 @@ add_subdirectory (src/liboslcomp) add_subdirectory (src/liboslquery) add_subdirectory (src/liboslexec) add_subdirectory (src/liboslnoise) +add_subdirectory (src/libbsdl) add_subdirectory (src/oslc) add_subdirectory (src/oslinfo) diff --git a/src/cmake/cuda_macros.cmake b/src/cmake/cuda_macros.cmake index cf38234ef..00e2c77f7 100644 --- a/src/cmake/cuda_macros.cmake +++ b/src/cmake/cuda_macros.cmake @@ -15,7 +15,7 @@ if (CUDA_NO_FTZ) endif () # Compile a CUDA file to PTX using NVCC -function ( NVCC_COMPILE cuda_src extra_headers ptx_generated extra_nvcc_args ) +function ( NVCC_COMPILE cuda_src extra_headers ptx_generated extra_nvcc_args extra_libs) get_filename_component ( cuda_src_we ${cuda_src} NAME_WE ) get_filename_component ( cuda_src_dir ${cuda_src} DIRECTORY ) set (cuda_ptx "${CMAKE_CURRENT_BINARY_DIR}/${cuda_src_we}.ptx" ) @@ -35,6 +35,14 @@ function ( NVCC_COMPILE cuda_src extra_headers ptx_generated extra_nvcc_args ) set (NVCC_FTZ_FLAG "--ftz=true") endif () + set (EXTRA_INCLUDES "") + foreach (LIB ${extra_libs}) + get_target_property(INCLUDES ${LIB} INTERFACE_INCLUDE_DIRECTORIES) + foreach (INCLUDE_DIR ${INCLUDES}) + list (APPEND EXTRA_INCLUDES "-I${INCLUDE_DIR}") + endforeach() + endforeach() + add_custom_command ( OUTPUT ${cuda_ptx} COMMAND ${CUDA_NVCC_EXECUTABLE} "-I${OPTIX_INCLUDES}" @@ -43,6 +51,7 @@ function ( NVCC_COMPILE cuda_src extra_headers ptx_generated extra_nvcc_args ) "-I${CMAKE_BINARY_DIR}/include" "-I${PROJECT_SOURCE_DIR}/src/include" "-I${PROJECT_SOURCE_DIR}/src/cuda_common" + ${EXTRA_INCLUDES} ${ALL_OpenImageIO_INCLUDES} ${ALL_IMATH_INCLUDES} "-DFMT_DEPRECATED=\"\"" @@ -56,7 +65,7 @@ function ( NVCC_COMPILE cuda_src extra_headers ptx_generated extra_nvcc_args ) ${OSL_EXTRA_NVCC_ARGS} ${cuda_src} -o ${cuda_ptx} MAIN_DEPENDENCY ${cuda_src} - DEPENDS ${cuda_src} ${cuda_headers} oslexec + DEPENDS ${cuda_src} ${cuda_headers} ${extra_libs} oslexec WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ) endfunction () diff --git a/src/cmake/testing.cmake b/src/cmake/testing.cmake index ad66a19a9..5b5b4327d 100644 --- a/src/cmake/testing.cmake +++ b/src/cmake/testing.cmake @@ -372,6 +372,7 @@ macro (osl_add_all_tests) render-mx-layer render-mx-sheen render-microfacet render-oren-nayar + render-spi-thinlayer render-uv render-veachmis render-ward render-raytypes select select-reg shaderglobals shortcircuit diff --git a/src/libbsdl/CMakeLists.txt b/src/libbsdl/CMakeLists.txt new file mode 100644 index 000000000..5e551b2bf --- /dev/null +++ b/src/libbsdl/CMakeLists.txt @@ -0,0 +1,10 @@ +# Copyright Contributors to the Open Shading Language project. +# SPDX-License-Identifier: BSD-3-Clause +# https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + +include(bsdl.cmake) + +# BSDL has small tables for doing spectral render in sRGB +# but for other color spaces tell this function which ones +# and it will bake Jakob-Hanika coefficient tables. +add_bsdl_library(BSDL) # SPECTRAL_COLOR_SPACES "ACEScg") \ No newline at end of file diff --git a/src/libbsdl/README.md b/src/libbsdl/README.md new file mode 100644 index 000000000..7c3accbe5 --- /dev/null +++ b/src/libbsdl/README.md @@ -0,0 +1,94 @@ +# BSDL library + +BSDL is the working title (Bidirectional Scattering Distribution Library) for +this header only collection of BSDFs. It is self-contained depending only on +Imath and intended to be used in any renderer. This is a build only dependency. + +The basic idea is that you choose a BSDF from it and give it a thin wrapper to +integrate in your renderer. There is an example of this in OSL's testrender. The +key features are: + * BSDFs provide constructor, eval and sample methods. + * Everything is inlined (split among _decl.h and _imple.h headers) to be GPU friendly. + * There is a template based autiomatic switch/case virtual dispatch mechanism to be GPU firendly. + * It works both in RGB or spectral mode (via hero wavelength). + * It includes the Sony Pictures Imageworks set of BSDFs used for movie production. + +## Pseudo virtual methods + +The header static_virtual.h provides the ```StaticVirtual``` +template. If you inherit from it will implement a dispatch() method to execute +"virtual" methods covering ```type1, type2, ...``` using switch case statements. +The idea was borrowed from PBRT but the implementation is different. See the +use in testrender (shading.h/cpp). + +## The ```Power``` type + +To support both RGB and spectral render with the same code we use the +```Power``` type, which is just a float array. It has from RGB construction and +conversion. But when 'lambda_0', the hero wavelength is zero, these are no-ops +and pure RGB rendering is assueme. Take into account spectral support in BSDL +is in very early stages. + +## Lookup tables + +A bunch of BSDFs use albedo lookup tables. Those are generated at build time +very quickly and put in headers. You shouldn't have to do anything. + +## Usage + +Either ```include(bsdl.cmake)``` and call ```add_bsdl_library(my_name)``` to +create a 'my_name' INTERFACE library that you then link, or +```add_subdirectory (path_to_libbsdl)``` to get it as 'BSDL'. + +For the integration, a config header needs to be defined as you can see in +testrender's 'bsdl_config.h'. +```cpp +#define BSDL_INLINE static inline OSL_HOSTDEVICE +#define BSDL_INLINE_METHOD inline OSL_HOSTDEVICE +#define BSDL_DECL OSL_DEVICE +#define BSDL_UNROLL() // Do nothing + +#include + +#include + +struct BSDLConfig : public bsdl::BSDLDefaultConfig { + + // testrender won't do spectral render, just 3 channels covers RGB + static constexpr int HERO_WAVELENGTH_CHANNELS = 3; + + struct Fast { + static BSDL_INLINE_METHOD float cosf(float x) { return OIIO::fast_cos(x); } + static BSDL_INLINE_METHOD float sinf(float x) { return OIIO::fast_sin(x); } + static BSDL_INLINE_METHOD float asinf(float x) { return OIIO::fast_asin(x); } + static BSDL_INLINE_METHOD float acosf(float x) { return OIIO::fast_acos(x); } + static BSDL_INLINE_METHOD float atan2f(float y, float x) { return OIIO::fast_atan2(y, x); } + static BSDL_INLINE_METHOD void sincosf(float x, float* s, float* c) { return OIIO::fast_sincos(x, s, c); } + static BSDL_INLINE_METHOD float sinpif(float x) { return OIIO::fast_sinpi(x); } + static BSDL_INLINE_METHOD float cospif(float x) { return OIIO::fast_cospi(x); } + static BSDL_INLINE_METHOD float expf(float x) { return OIIO::fast_exp(x); } + static BSDL_INLINE_METHOD float exp2f(float x) { return OIIO::fast_exp2(x); } + static BSDL_INLINE_METHOD float logf(float x) { return OIIO::fast_log(x); } + static BSDL_INLINE_METHOD float log2f(float x) { return OIIO::fast_log2(x); } + static BSDL_INLINE_METHOD float log1pf(float x) { return OIIO::fast_log1p(x); } + static BSDL_INLINE_METHOD float powf(float x, float y) { return OIIO::fast_safe_pow(x, y); } + }; + + // Don't care for colorspaces/spectral + static BSDL_INLINE_METHOD ColorSpaceTag current_color_space() { return ColorSpaceTag::sRGB; } + static BSDL_INLINE_METHOD const JakobHanikaLut* get_jakobhanika_lut(ColorSpaceTag cs) { return nullptr; } +}; +``` + +And this header should be included before you include anything else from BSDL. + +If spectral rendering is desired there is ready to use sRGB upsampling via +spectral primaries by Mallett and Yuksel. For wide gamut color spaces like +ACEScg we use Jakob and Hanika approach, but you have to ask for the tables +in .cpp for from cmake: +``` +add_bsdl_library(BSDL SPECTRAL_COLOR_SPACES "ACEScg" "ACES2065") +``` + +which will bake tables to two cpp files and return them in 'BSDL_LUTS_CPP'. +Then you need to include that in your sources. \ No newline at end of file diff --git a/src/libbsdl/bsdl.cmake b/src/libbsdl/bsdl.cmake new file mode 100644 index 000000000..cd7908163 --- /dev/null +++ b/src/libbsdl/bsdl.cmake @@ -0,0 +1,44 @@ +# Copyright Contributors to the Open Shading Language project. +# SPDX-License-Identifier: BSD-3-Clause +# https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + +find_package(Threads REQUIRED) + +function(ADD_BSDL_LIBRARY NAME) + cmake_parse_arguments(PARSE_ARGV 1 bsdl "" "SUBDIR" "SPECTRAL_COLOR_SPACES") + # Bootstrap version of BSDL (without luts) + add_library(BSDL_BOOTSTRAP INTERFACE) + target_include_directories(BSDL_BOOTSTRAP INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/${bsdl_SUBDIR}/include) + target_link_libraries(BSDL_BOOTSTRAP INTERFACE ${ARNOLD_IMATH_TARGETS}) + + # LUT generation tool + set(BSDL_GEN_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${bsdl_SUBDIR}/geninclude) + add_executable (genluts ${CMAKE_CURRENT_SOURCE_DIR}/${bsdl_SUBDIR}/src/genluts.cpp) + target_link_libraries(genluts PRIVATE BSDL_BOOTSTRAP Threads::Threads) + file(MAKE_DIRECTORY ${BSDL_GEN_HEADERS}/BSDL/SPI) + add_custom_command(TARGET genluts POST_BUILD USES_TERMINAL COMMAND $ ${BSDL_GEN_HEADERS}/BSDL/SPI + COMMENT "Generating BSDL lookup tables ...") + + if (DEFINED bsdl_SPECTRAL_COLOR_SPACES) + add_executable(jakobhanika_luts ${CMAKE_CURRENT_SOURCE_DIR}/${bsdl_SUBDIR}/src/jakobhanika_luts.cpp) + target_link_libraries(genluts PRIVATE Threads::Threads) + foreach(CS ${bsdl_SPECTRAL_COLOR_SPACES}) + set(JACOBHANIKA_${CS} ${CMAKE_CURRENT_BINARY_DIR}/jakobhanika_${CS}.cpp) + list(APPEND BSDL_LUTS_CPP ${JACOBHANIKA_${CS}}) + add_custom_command( + OUTPUT ${JACOBHANIKA_${CS}} + USES_TERMINAL + COMMAND $ 64 ${JACOBHANIKA_${CS}} ${CS} + DEPENDS jakobhanika_luts + COMMENT "Generating Jakob-Hanika RGB-Spectrum ${CS} tables") + endforeach() + set(${NAME}_LUTS_CPP ${BSDL_LUTS_CPP} PARENT_SCOPE) + endif() + + # Final BSDL library (with luts) + add_library(${NAME} INTERFACE) + target_include_directories(${NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/${bsdl_SUBDIR}/include) + target_link_libraries(${NAME} INTERFACE Imath::Imath) + target_include_directories(${NAME} INTERFACE ${BSDL_GEN_HEADERS}) + add_dependencies(${NAME} genluts) +endfunction() diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_backscatter_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_backscatter_decl.h new file mode 100644 index 000000000..ff30fd8cc --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_backscatter_decl.h @@ -0,0 +1,109 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +struct CharlieDist { + static constexpr float MIN_ROUGHNESS = 0.06f; + + static BSDL_INLINE_METHOD float common_roughness(float alpha); + BSDL_INLINE_METHOD CharlieDist(float rough) + : a(CLAMP(rough, MIN_ROUGHNESS, 1.0f)) + { + } + + BSDL_INLINE_METHOD float D(const Imath::V3f& Hr) const; + BSDL_INLINE_METHOD float get_lambda(float cosNv) const; + BSDL_INLINE_METHOD float G2(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD float roughness() const { return a; } + +private: + float a; +}; + +template struct SheenMicrofacet { + // describe how tabulation should be done + static constexpr int Nc = 16; + static constexpr int Nr = 16; + static constexpr int Nf = 1; + + static constexpr float get_cosine(int i) + { + return std::max(float(i) * (1.0f / (Nc - 1)), 1e-6f); + } + explicit BSDL_INLINE_METHOD SheenMicrofacet(float rough) : d(rough) {} + BSDL_INLINE_METHOD Sample eval(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample(const Imath::V3f& wo, float randu, + float randv, float) const; + BSDL_INLINE_METHOD float roughness() const { return d.roughness(); } + +private: + Dist d; +}; + +struct CharlieSheen : public SheenMicrofacet { + explicit BSDL_INLINE_METHOD CharlieSheen(float, float rough, float) + : SheenMicrofacet(rough) + { + } + struct Energy { + float data[Nf * Nr * Nc]; + }; + static BSDL_INLINE_METHOD Energy& get_energy(); + + static const char* lut_header() { return "bsdf_backscatter_luts.h"; } + static const char* struct_name() { return "CharlieSheen"; } +}; + +template struct CharlieLobe : public Lobe { + using Base = Lobe; + struct Data : public LayeredData { + Imath::V3f N; + Imath::C3f tint; + float roughness; + int doublesided; + using lobe_type = CharlieLobe; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::closure), R::param(&D::N), R::param(&D::tint), + R::param(&D::roughness), + R::param(&D::doublesided, "doublesided"), R::close() } }; + } + + template + BSDL_INLINE_METHOD CharlieLobe(T*, const BsdfGlobals& globals, + const Data& data); + static const char* name() { return "sheen"; } + + BSDL_INLINE_METHOD Power albedo_impl() const { return Power(1 - Eo, 1); } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& sample) const; + +private: + CharlieSheen sheen; + Power tint; + float Eo; + bool back; +}; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_backscatter_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_backscatter_impl.h new file mode 100644 index 000000000..6097aa675 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_backscatter_impl.h @@ -0,0 +1,166 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include +#include +#ifndef BAKE_BSDL_TABLES +# include +#endif + +BSDL_ENTER_NAMESPACE + +namespace spi { + +BSDL_INLINE_METHOD float +CharlieDist::common_roughness(float alpha) +{ + // Using the PDF we would have if we sampled the microfacet, one of + // the 1/2 comes from the cosine avg of 1/(4 cosMO). + // + // (2 + 1 / alpha) / 4 = 1 / (2 pi roughness^4) + // 1 / (pi (1 + 4 / alpha)) = roughness^4 + return sqrtf(sqrtf(ONEOVERPI / (1 + 0.5f / alpha))); +} + +BSDL_INLINE_METHOD float +CharlieDist::D(const Imath::V3f& Hr) const +{ + float cos_theta = Hr.z; + float sin_theta = sqrtf(1.0f - SQR(cos_theta)); + return BSDLConfig::Fast::powf(sin_theta, 1 / a) * (2 + 1 / a) * 0.5f + * ONEOVERPI; +} + +BSDL_INLINE_METHOD float +CharlieDist::get_lambda(float cosNv) const +{ + float rt = SQR(1 - a); + + // These params come from gnuplot fitting tool. Roughness = 1 and + // roughness = 0. We interpolate in between with (1 - roughness)^2 + // to get the best match. + const float a = LERP(rt, 21.5473f, 25.3245f); + const float b = LERP(rt, 3.82987f, 3.32435f); + const float c = LERP(rt, 0.19823f, 0.16801f); + const float d = LERP(rt, -1.97760f, -1.27393f); + const float e = LERP(rt, -4.32054f, -4.85967f); + // The curve is anti-symmetrical aroung 0.5 + const float x = cosNv > 0.5f ? 1 - cosNv : cosNv; + const float pivot = a / (1 + b * BSDLConfig::Fast::powf(0.5f, c)) + d * 0.5f + + e; + + float p = a / (1 + b * BSDLConfig::Fast::powf(x, c)) + d * x + e; + if (cosNv > 0.5f) // Mirror around 0.5f + p = 2 * pivot - p; + // That curve fits lambda in log scale, now exponentiate + return BSDLConfig::Fast::expf(p); +} + +BSDL_INLINE_METHOD float +CharlieDist::G2(const Imath::V3f& wo, const Imath::V3f& wi) const +{ + assert(wi.z > 0); + assert(wo.z > 0); + float cosNI = std::min(1.0f, wi.z); + float cosNO = std::min(1.0f, wo.z); + float Li = get_lambda(cosNI); + float Lo = get_lambda(cosNO); + // This makes the BSDF non-reciprocal. Cheat to hide the terminator + Li = BSDLConfig::Fast::powf(Li, 1.0f + 2 * SQR(SQR(SQR((1 - cosNI))))); + return 1 / (1 + Li + Lo); +} + +template +BSDL_INLINE_METHOD Sample +SheenMicrofacet::eval(const Imath::V3f& wo, const Imath::V3f& wi) const +{ + assert(wo.z >= 0); + assert(wi.z >= 0); + float cosNO = wo.z; + float cosNI = wi.z; + if (cosNI <= 1e-5f || cosNO <= 1e-5f) + return {}; + + const float D = d.D((wo + wi).normalized()); + if (D < 1e-6) + return {}; + const float G2 = d.G2(wo, wi); + return { wi, Power(D * G2 * 0.5f * PI / cosNO, 1), 0.5f * ONEOVERPI, 0 }; +} + +template +BSDL_INLINE_METHOD Sample +SheenMicrofacet::sample(const Imath::V3f& wo, float randu, float randv, + float randw) const +{ + Imath::V3f wi = sample_uniform_hemisphere(randu, randv); + return eval(wo, wi); +} + +template +template +BSDL_INLINE_METHOD +CharlieLobe::CharlieLobe(T* lobe, const BsdfGlobals& globals, + const CharlieLobe::Data& data) + : Base(lobe, globals.visible_normal(data.N), + CharlieDist::common_roughness( + globals.regularize_roughness(data.roughness)), + globals.lambda_0, false) + , sheen(0, + CLAMP(globals.regularize_roughness(data.roughness), + CharlieDist::MIN_ROUGHNESS, 1.0f), + 0) + , tint(globals.wave(data.tint)) + , back(data.doublesided ? false : globals.backfacing) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, true); + TabulatedEnergyCurve curve(sheen.roughness(), 0); + // Get energy compensation taking tint into account + Eo = back ? 1 + : 1 + - MIN((1 - curve.Emiss_eval(Base::frame.Z.dot(globals.wo))) + * tint.max(), + 1.0f); +} + +template +BSDL_INLINE_METHOD Sample +CharlieLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + const float cosNO = wo.z; + const float cosNI = wi.z; + const bool isrefl = cosNI > 0 && cosNO >= 0; + const bool doself = isrefl && !back; + if (!doself) + return {}; + + Sample s = sheen.eval(wo, wi); + s.weight *= tint; + s.roughness = BSDF_ROOT::roughness(); + return s; +} + +template +BSDL_INLINE_METHOD Sample +CharlieLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& sample) const +{ + const bool doself = !back; + if (!doself) + return {}; + + Sample ss = sheen.sample(wo, sample.x, sample.y, sample.z); + ss.weight *= tint; + ss.roughness = BSDF_ROOT::roughness(); + return ss; +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_clearcoat_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_clearcoat_decl.h new file mode 100644 index 000000000..29614005c --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_clearcoat_decl.h @@ -0,0 +1,116 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +struct PlasticFresnel { + BSDL_INLINE_METHOD PlasticFresnel() {} + BSDL_INLINE_METHOD PlasticFresnel(float eta); + + BSDL_INLINE_METHOD Power eval(const float c) const; + BSDL_INLINE_METHOD Power avg() const; + static BSDL_INLINE_METHOD PlasticFresnel from_table_index(float tx); + BSDL_INLINE_METHOD float table_index() const; + BSDL_INLINE_METHOD float get_ior() const { return eta; } + +private: + static constexpr float IOR_MIN = 1.00000012f; + static constexpr float IOR_MAX = 5.0f; + float eta; +}; + +struct PlasticGGX : public bsdl::MicrofacetMS { + explicit BSDL_INLINE_METHOD PlasticGGX(float cosNO, float roughness_index, + float fresnel_index); + BSDL_INLINE_METHOD PlasticGGX(const bsdl::GGXDist& dist, + const PlasticFresnel& fresnel, float cosNO, + float roughness); + struct Energy { + float data[Nf * Nr * Nc]; + }; + static BSDL_INLINE_METHOD Energy& get_energy(); + + static const char* lut_header() { return "bsdf_clearcoat_luts.h"; } + static const char* struct_name() { return "PlasticGGX"; } +}; + +template struct ClearCoatLobe : public Lobe { + using Base = Lobe; + struct Data : public LayeredData { + Imath::V3f N; + Imath::V3f U; + float IOR; + float roughness; + float anisotropy; + Imath::C3f spec_color; + Imath::C3f sigma_a; + int doublesided; + float force_eta; + int legacy_absorption; + float artistic_mix; + float absorption_bias; + float absorption_gain; + using lobe_type = ClearCoatLobe; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::closure), R::param(&D::N), R::param(&D::U), + R::param(&D::IOR), R::param(&D::roughness), + R::param(&D::anisotropy), R::param(&D::spec_color), + R::param(&D::sigma_a), R::param(&D::doublesided), + R::param(&D::force_eta), + R::param(&D::artistic_mix, "artistic_mix"), + R::param(&D::absorption_bias, "absorption_bias"), + R::param(&D::absorption_gain, "absorption_gain"), + R::close() } }; + } + + template + BSDL_INLINE_METHOD ClearCoatLobe(T*, const BsdfGlobals& globals, + const Data& data); + + static const char* name() { return "clearcoat"; } + + BSDL_INLINE_METHOD Power albedo_impl() const + { + return spec_color * (1 - Eo); + } + + BSDL_INLINE_METHOD Power filter_o(const Imath::V3f& wo) const + { + if (backside) + return Power::UNIT(); + // wo is the same as when constructed, Eo is cached + return Eo * wo_absorption; + } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const; + +private: + Imath::V3f U; + PlasticGGX spec; + Power spec_color; + Power wo_absorption; + float Eo; + bool backside; +}; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_clearcoat_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_clearcoat_impl.h new file mode 100644 index 000000000..d6837444e --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_clearcoat_impl.h @@ -0,0 +1,164 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include + +#ifndef BAKE_BSDL_TABLES +# include +#endif + +BSDL_ENTER_NAMESPACE + +namespace spi { + +BSDL_INLINE_METHOD +PlasticFresnel::PlasticFresnel(float eta) : eta(CLAMP(eta, IOR_MIN, IOR_MAX)) {} + +BSDL_INLINE_METHOD Power +PlasticFresnel::eval(const float c) const +{ + assert(c >= 0); // slightly above 1.0 is ok + assert(eta > 1); // avoid singularity at eta==1 + // optimized for c in [0,1] and eta in (1,inf) + const float g = sqrtf(eta * eta - 1 + c * c); + const float A = (g - c) / (g + c); + const float B = (c * (g + c) - 1) / (c * (g - c) + 1); + return Power(0.5f * A * A * (1 + B * B), 1); +} + +BSDL_INLINE_METHOD +Power +PlasticFresnel::avg() const +{ + // see avg_fresnel -- but we know that eta >= 1 here + return Power((eta - 1) / (4.08567f + 1.00071f * eta), 1); +} + +BSDL_INLINE_METHOD PlasticFresnel +PlasticFresnel::from_table_index(float tx) +{ + return PlasticFresnel(LERP(SQR(SQR(tx)), IOR_MIN, IOR_MAX)); +} + +BSDL_INLINE_METHOD float +PlasticFresnel::table_index() const +{ + // turn the IOR value into something suitable for integrating + // this is the reverse of the method above + assert(eta >= IOR_MIN); + assert(eta <= IOR_MAX); + float x = (eta - IOR_MIN) * (1.0f / (IOR_MAX - IOR_MIN)); + assert(x >= 0); + assert(x <= 1); + x = sqrtf(sqrtf(x)); + assert(x >= 0); + assert(x <= 1); + return x; +} + +BSDL_INLINE_METHOD +PlasticGGX ::PlasticGGX(float cosNO, float roughness_index, float fresnel_index) + : MicrofacetMS(cosNO, roughness_index, fresnel_index) +{ +} + +BSDL_INLINE_METHOD +PlasticGGX ::PlasticGGX(const bsdl::GGXDist& dist, + const PlasticFresnel& fresnel, float cosNO, + float roughness) + : MicrofacetMS(dist, fresnel, cosNO, roughness) +{ +} + +template +template +BSDL_INLINE_METHOD +ClearCoatLobe::ClearCoatLobe(T* lobe, const BsdfGlobals& globals, + const Data& data) + : Base(lobe, globals.visible_normal(data.N), data.U, + globals.regularize_roughness(data.roughness), globals.lambda_0, + false) + , spec(GGXDist(Base::roughness(), CLAMP(data.anisotropy, 0.0f, 1.0f)), + PlasticFresnel(LERP(CLAMP(data.force_eta, 0.0f, 1.0f), + globals.relative_eta(data.IOR), data.IOR)), + Base::frame.Z.dot(globals.wo), Base::roughness()) + , spec_color(globals.wave(data.spec_color).clamped(0, 1)) + , wo_absorption(1.0f, globals.lambda_0) + , backside(data.doublesided ? false : globals.backfacing) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, true); + bsdl::TabulatedEnergyCurve diff_curve( + Base::roughness(), spec.getFresnel().table_index()); + + const float cosNO = std::min(fabsf(Base::frame.Z.dot(globals.wo)), 1.0f); + Eo = !backside ? diff_curve.Emiss_eval(cosNO) : 1; + if (!data.legacy_absorption && MAX_RGB(data.sigma_a) > 0) { + float cos_p_artistic = cosNO; + float cos_p = cosNO; + if (data.artistic_mix > 0.0f) { + const float b = CLAMP(data.absorption_bias, 0.0f, 1.0f); + const float g = CLAMP(data.absorption_gain, 0.0f, 1.0f); + // First apply gamma curve + cos_p_artistic = bias_curve01(cos_p_artistic, b); + // Then apply sigma curve + cos_p_artistic = gain_curve01(cos_p_artistic, g); + } + // Take into account how the ray bends with the refraction to compute + // the traveled distance through absorption. + const float sinNO2 = 1 - SQR(cosNO); + const float inveta2 = SQR(1 / spec.getFresnel().get_ior()); + cos_p = sqrtf(1 - std::min(1.0f, inveta2 * sinNO2)); + cos_p = CLAMP(LERP(data.artistic_mix, cos_p, cos_p_artistic), 0.0f, + 1.0f); + const float dist = 1 / std::max(cos_p, FLOAT_MIN); + + constexpr auto fast_exp = BSDLConfig::Fast::expf; + + const Power sigma_a = globals.wave(data.sigma_a); + wo_absorption + = Power([&](int i) { return fast_exp(-sigma_a[i] * dist); }, + globals.lambda_0); + } else + wo_absorption = Power(1, globals.lambda_0); +} + +template +BSDL_INLINE_METHOD Sample +ClearCoatLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + const float cosNI = wi.z; + const bool isrefl = cosNI > 0; + const bool doself = isrefl && !backside; + if (!doself) + return {}; + + Sample sample = spec.eval(wo, wi); + sample.weight *= spec_color; + sample.roughness = Base::roughness(); + return sample; +} + +template +BSDL_INLINE_METHOD Sample +ClearCoatLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const +{ + const bool doself = !backside; + if (!doself) + return {}; + + Sample sample = spec.sample(wo, rnd.x, rnd.y, rnd.z); + sample.weight *= spec_color; + sample.roughness = Base::roughness(); + return sample; +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_dielectric_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_dielectric_decl.h new file mode 100644 index 000000000..05efd4b17 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_dielectric_decl.h @@ -0,0 +1,165 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +struct DielectricFresnel { + BSDL_INLINE_METHOD DielectricFresnel(float _eta, bool backside); + BSDL_INLINE_METHOD float eval(const float c) const; + BSDL_INLINE_METHOD float avg() const; + static BSDL_INLINE_METHOD DielectricFresnel from_table_index(float tx, + int side); + BSDL_INLINE_METHOD float table_index() const; + + float eta; + +private: + static constexpr float IOR_MIN = 1.001f; + static constexpr float IOR_MAX = 5.0f; +}; + +// side template argument only matters for baking +template struct Dielectric { + // describe how tabulation should be done + static constexpr int Nc = 16; + static constexpr int Nr = 16; + static constexpr int Nf = 32; + + static constexpr float get_cosine(int i) + { + return std::max(float(i) * (1.0f / (Nc - 1)), 1e-6f); + } + + explicit BSDL_INLINE_METHOD Dielectric(float, float roughness_index, + float fresnel_index); + + BSDL_INLINE_METHOD + Dielectric(const Dist& dist, const DielectricFresnel& fresnel, + float prob_clamp) + : d(dist), f(fresnel), prob_clamp(prob_clamp) + { + } + + BSDL_INLINE_METHOD Sample eval(Imath::V3f wo, Imath::V3f wi, bool doreflect, + bool dorefract) const; + BSDL_INLINE_METHOD Sample sample(Imath::V3f wo, float randu, float randv, + float randw, bool doreflect, + bool dorefract) const; + + BSDL_INLINE_METHOD Sample sample(Imath::V3f wo, float randu, float randv, + float randw) const + { + return sample(wo, randu, randv, randw, true, true); + } + + BSDL_INLINE_METHOD float fresnel_prob(float f) const; + BSDL_INLINE_METHOD DielectricFresnel fresnel() const { return f; } + BSDL_INLINE_METHOD float fresnel(float c) const { return f.eval(c); } + BSDL_INLINE_METHOD float roughness() const { return d.roughness(); } + BSDL_INLINE_METHOD float eta() const { return f.eta; } + +private: + Dist d; + DielectricFresnel f; + float prob_clamp; +}; + +struct DielectricFront : public Dielectric { + explicit BSDL_INLINE_METHOD DielectricFront(float, float roughness_index, + float fresnel_index); + BSDL_INLINE_METHOD DielectricFront(const GGXDist& dist, + const DielectricFresnel& fresnel, + float prob_clamp); + struct Energy { + float data[Nf * Nr * Nc]; + }; + static BSDL_INLINE_METHOD Energy& get_energy(); + + static const char* lut_header() { return "bsdf_dielectric_front_luts.h"; } + static const char* struct_name() { return "DielectricFront"; } +}; + +struct DielectricBack : public Dielectric { + explicit BSDL_INLINE_METHOD DielectricBack(float, float roughness_index, + float fresnel_index); + BSDL_INLINE_METHOD DielectricBack(const bsdl::GGXDist& dist, + const DielectricFresnel& fresnel, + float prob_clamp); + struct Energy { + float data[Nf * Nr * Nc]; + }; + static BSDL_INLINE_METHOD Energy& get_energy(); + + static const char* lut_header() { return "bsdf_dielectric_back_luts.h"; } + static const char* struct_name() { return "DielectricBack"; } +}; + +template struct DielectricLobe : public Lobe { + using Base = Lobe; + struct Data { + Imath::V3f N; + Imath::V3f T; + float IOR; + float roughness; + float anisotropy; + Imath::C3f refl_tint; + Imath::C3f refr_tint; + float dispersion; + float force_eta; + float prob_clamp; // Not exposed + float wavelength; + using lobe_type = DielectricLobe; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::N), R::param(&D::T), R::param(&D::IOR), + R::param(&D::roughness), R::param(&D::anisotropy), + R::param(&D::refl_tint), R::param(&D::refr_tint), + R::param(&D::dispersion), R::param(&D::force_eta), + R::close() } }; + } + + template + BSDL_INLINE_METHOD DielectricLobe(T*, const BsdfGlobals& globals, + const Data& data); + + static constexpr const char* name() { return "dielectric"; } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi, bool doreflect, + bool dorefract) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& _rnd, + bool doreflect, bool dorefract) const; + +protected: + BSDL_INLINE_METHOD Power get_tint(float cosNI) const; + BSDL_INLINE_METHOD Sample eval_ec_lobe(Sample s) const; + + BSDL_INLINE_METHOD Imath::V3f sample_ec_lobe(float randu, float randv, + bool back) const; + + DielectricFront spec; // Also good for back eval + Power refl_tint; + Power refr_tint; + // energy compensation data (R and T lobes) + float RT_ratio, Eo; + bool backside; +}; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_dielectric_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_dielectric_impl.h new file mode 100644 index 000000000..c3985592e --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_dielectric_impl.h @@ -0,0 +1,326 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include +#ifndef BAKE_BSDL_TABLES +# include +# include +#endif + +BSDL_ENTER_NAMESPACE + +namespace spi { + +BSDL_INLINE_METHOD +DielectricFresnel::DielectricFresnel(float _eta, bool backside) +{ + if (backside) + _eta = 1 / _eta; + eta = _eta >= 1 ? CLAMP(_eta, IOR_MIN, IOR_MAX) + : CLAMP(_eta, 1 / IOR_MAX, 1 / IOR_MIN); +} + +BSDL_INLINE_METHOD float +DielectricFresnel::eval(const float c) const +{ + assert(c >= 0); // slightly above 1.0 is ok + float g = (eta - 1.0f) * (eta + 1.0f) + c * c; + if (g > 0) { + g = sqrtf(g); + float A = (g - c) / (g + c); + float B = (c * (g + c) - 1) / (c * (g - c) + 1); + return 0.5f * A * A * (1 + B * B); + } + return 1.0f; // TIR (no refracted component) +} + +BSDL_INLINE_METHOD float +DielectricFresnel::avg() const +{ + return avg_fresnel_dielectric(eta); +} + +BSDL_INLINE_METHOD DielectricFresnel +DielectricFresnel::from_table_index(float tx, int side) +{ + const float eta = LERP(SQR(tx), IOR_MIN, IOR_MAX); + return DielectricFresnel(eta, side); +} + +// Note index of eta equals index of 1 / eta, so this function works for +// either side (both tables) +BSDL_INLINE_METHOD float +DielectricFresnel::table_index() const +{ + // turn the IOR value into something suitable for integrating + // this is the reverse of the method above + const float feta = eta; + const float seta = CLAMP(feta < 1 ? 1 / feta : feta, IOR_MIN, IOR_MAX); + const float x = (seta - IOR_MIN) * (1 / (IOR_MAX - IOR_MIN)); + assert(x >= 0); + assert(x <= 1); + return sqrtf(x); +} + +template +BSDL_INLINE_METHOD +Dielectric::Dielectric(float, float roughness_index, + float fresnel_index) + : d(roughness_index, 0) + , f(DielectricFresnel::from_table_index(fresnel_index, side)) + , prob_clamp(0) +{ +} + +// Compute a sampling probability based on fresnel. Returning f would be ideal +// if were not going to find >1 energy after a bounce. +template +BSDL_INLINE_METHOD float +Dielectric::fresnel_prob(float f) const +{ + const float safe_prob = 0.2f; + return LERP(prob_clamp, f, CLAMP(f, safe_prob, 1 - safe_prob)); +} + +template +BSDL_INLINE_METHOD Sample +Dielectric::eval(Imath::V3f wo, Imath::V3f wi, bool doreflect, + bool dorefract) const +{ + const float cosNO = wo.z; + const float cosNI = wi.z; + const bool both = doreflect && dorefract; + assert(cosNO >= 0); + if (cosNI > 0) { + const Imath::V3f m = (wo + wi).normalized(); + const float cosMO = m.dot(wo); + if (cosMO <= 0) + return {}; + const float D = d.D(m); + const float G1 = d.G1(wo); + const float F = f.eval(cosMO); + const float P = both ? fresnel_prob(F) : 1; + const float out = d.G2_G1(wi, wo) * (F / P); + const float pdf = (G1 * D) / (4.0f * cosNO) * (both ? P : 1); + return { wi, Power(out, 1), pdf, 0 }; + } else if (cosNI < 0) { + // flip to same side as N + const Imath::V3f Ht = (f.eta * wi + wo).normalized() + * ((f.eta > 1) ? -1 : 1); + // compute fresnel term + const float cosHO = Ht.dot(wo); + const float cosHI = Ht.dot(wi); + if (cosHO <= 0 || cosHI >= 0) + return {}; + const float Ft = 1.0f - f.eval(cosHO); + const float Pt = both ? fresnel_prob(Ft) : 1; + if (Ht.z <= 0 || cosHO <= 0 || cosHI >= 0 || Ft <= 0) + return {}; + const float D = d.D(Ht); + const float G1 = d.G1(wo); + const float out = d.G2_G1({ wi.x, wi.y, -wi.z }, wo) * (Ft / Pt); + + float pdf = (-cosHI * cosHO * SQR(f.eta) * (G1 * D)) + / (wo.z * SQR(cosHI * f.eta + cosHO)) * (both ? Pt : 1); + return { wi, Power(out, 1), pdf, 0 }; + + } else + return {}; +} + +template +BSDL_INLINE_METHOD Sample +Dielectric::sample(Imath::V3f wo, float randu, float randv, + float randw, bool doreflect, + bool dorefract) const +{ + const Imath::V3f m = d.sample(wo, randu, randv); + const float cosMO = wo.dot(m); + const bool both = doreflect && dorefract; + if (cosMO <= 0) + return {}; + const float F = both ? fresnel_prob(f.eval(cosMO)) : (dorefract ? 0 : 1); + bool choose_reflect = randw < F; + const Imath::V3f wi = choose_reflect ? reflect(wo, m) + : refract(wo, m, f.eta); + if ((choose_reflect && wi.z <= 0) || (!choose_reflect && wi.z >= 0)) + return {}; + return eval(wo, wi, doreflect, dorefract); +} + +BSDL_INLINE_METHOD +DielectricFront::DielectricFront(float, float roughness_index, + float fresnel_index) + : Dielectric(0, roughness_index, fresnel_index) +{ +} + +BSDL_INLINE_METHOD +DielectricFront::DielectricFront(const GGXDist& dist, + const DielectricFresnel& fresnel, + float prob_clamp) + : Dielectric(dist, fresnel, prob_clamp) +{ +} + +BSDL_INLINE_METHOD +DielectricBack::DielectricBack(float, float roughness_index, + float fresnel_index) + : Dielectric(0, roughness_index, fresnel_index) +{ +} + +BSDL_INLINE_METHOD +DielectricBack::DielectricBack(const bsdl::GGXDist& dist, + const DielectricFresnel& fresnel, + float prob_clamp) + : Dielectric(dist, fresnel, prob_clamp) +{ +} + +template +template +BSDL_INLINE_METHOD +DielectricLobe::DielectricLobe(T* lobe, const BsdfGlobals& globals, + const Data& data) + : Base(lobe, globals.visible_normal(data.N), data.T, + globals.regularize_roughness(data.roughness), globals.lambda_0, true) + , spec(GGXDist(globals.regularize_roughness(data.roughness), + CLAMP(data.anisotropy, 0.0f, 1.0f)), + DielectricFresnel(LERP(CLAMP(data.force_eta, 0.0f, 1.0f), + globals.relative_eta(data.IOR), data.IOR), + globals.backfacing), + data.prob_clamp) + , refl_tint(globals.wave(data.refl_tint)) + , refr_tint(globals.wave(data.refr_tint)) + , backside(spec.eta() < 1.0f) +{ + // Compiler should optimize all these calls to regularize_roughness + const float roughness = globals.regularize_roughness(data.roughness); + TabulatedEnergyCurve diff_curve_front( + roughness, spec.fresnel().table_index()); + TabulatedEnergyCurve diff_curve_back( + roughness, spec.fresnel().table_index()); + + const float ratio_F = avg_fresnel_dielectric(spec.eta()); + const float ratio_B = avg_fresnel_dielectric(1 / spec.eta()); + + const float cosNO = globals.wo.dot(Base::frame.Z); + assert(cosNO >= 0); + const float davg_front = backside ? diff_curve_back.get_Emiss_avg() + : diff_curve_front.get_Emiss_avg(); + const float davg_back = backside ? diff_curve_front.get_Emiss_avg() + : diff_curve_back.get_Emiss_avg(); + Eo = backside ? diff_curve_back.Emiss_eval(cosNO) + : diff_curve_front.Emiss_eval(cosNO); + // now compute RT_ratio such that the reciprocity constraint is obeyed: + // (1 - ratio_F) / m_cdf_Q[0] === (1 - ratio_B) / m_cdf_Q[1] * eta^2 + // since the equality does not hold in general, we adjust by x on the left + // and by (1-x) on the right until they do hold and recompute a new ratio_F + + // FIXME: figure out where the eta^2 factor should go after we straighten + // out the reverse PDF calculation + const float L = (1 - ratio_F) / davg_back; + const float R = (1 - ratio_B) / davg_front * SQR(spec.eta()); + const float x = R > 1e12f ? 1 : R / (L + R); + RT_ratio = 1 - x * (1 - ratio_F); +} + +template +BSDL_INLINE_METHOD Sample +DielectricLobe::eval_impl(const Imath::V3f& wo, const Imath::V3f& wi, + bool doreflect, bool dorefract) const +{ + const float cosNI = wi.z; + const bool both = doreflect && dorefract; + + if ((cosNI > 0 && !doreflect) || (cosNI < 0 && !dorefract) || cosNI == 0) + return {}; + Sample s = { wi }; + const float PE = Eo * (both ? 1 : (dorefract ? 1 - RT_ratio : RT_ratio)); + Sample ss = spec.eval(wo, wi, doreflect, dorefract); + s.update(ss.weight, ss.pdf, 1 - PE); + s = eval_ec_lobe(s); + s.weight *= get_tint(cosNI); + s.roughness = Base::roughness(); + return s; +} + +template +BSDL_INLINE_METHOD Sample +DielectricLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& _rnd, bool doreflect, + bool dorefract) const +{ + const bool both = doreflect && dorefract; + + const float PE = Eo * (both ? 1 : (dorefract ? 1 - RT_ratio : RT_ratio)); + Sample s = {}; + s.roughness = Base::roughness(); + + Imath::V3f rnd = _rnd; + if (rnd.x < 1 - PE) { + // sample specular lobe + rnd.x = Sample::stretch(rnd.x, 0.0f, 1 - PE); + auto ss = spec.sample(wo, rnd.x, rnd.y, rnd.z, doreflect, dorefract); + if (MAX_ABS_XYZ(ss.wi) < EPSILON) + return {}; + s.wi = ss.wi; + s.update(ss.weight, ss.pdf, 1 - PE); + s = eval_ec_lobe(s); + if (s.wi.z < 0) + // From "Efficient Rendering of Layered Materials using an + // Atomic Decomposition with Statistical Operators" (Belcour) + // equation 10. Adjust roughness with the equivalent of a + // reflection. + s.roughness = std::min( + 1.0f, Base::roughness() + * SQR(0.5f * (1 + (wo.z / (s.wi.z * spec.eta()))))); + } else { + // sample diffuse lobe + rnd.x = Sample::stretch(rnd.x, 1 - PE, PE); + bool back = !(!dorefract || (both && rnd.z < RT_ratio)); + s.wi = sample_ec_lobe(rnd.x, rnd.y, back); + s = eval_ec_lobe(s); + auto ss = spec.eval(wo, s.wi, doreflect, dorefract); + s.update(ss.weight, ss.pdf, 1 - PE); + } + const float cosNI = s.wi.z; + s.weight *= get_tint(cosNI); + return s; +} + +template +BSDL_INLINE_METHOD Power +DielectricLobe::get_tint(float cosNI) const +{ + return cosNI > 0 ? refl_tint : refr_tint; +} + +template +BSDL_INLINE_METHOD Sample +DielectricLobe::eval_ec_lobe(Sample s) const +{ + const float dpdf = (Eo * fabsf(s.wi.z)) * ONEOVERPI + * (s.wi.z > 0 ? RT_ratio : 1 - RT_ratio); + s.update(Power::UNIT(), dpdf, 1); + return s; +} + +template +BSDL_INLINE_METHOD Imath::V3f +DielectricLobe::sample_ec_lobe(float randu, float randv, + bool back) const +{ + const Imath::V3f wi = sample_cos_hemisphere(randu, randv); + return back ? Imath::V3f { wi.x, wi.y, -wi.z } : wi; +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_diffuse_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_diffuse_decl.h new file mode 100644 index 000000000..2204634e2 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_diffuse_decl.h @@ -0,0 +1,151 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +template +struct DiffuseLobeGen : public Lobe { + using Base = Lobe; + + struct Data { + Imath::V3f N; + using lobe_type = DiffuseLobeGen; + }; + + static const char* name() { return TR ? "translucent" : "diffuse"; } + + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), { R::param(&D::N), R::close() } }; + } + + template + BSDL_INLINE_METHOD DiffuseLobeGen(T*, const BsdfGlobals& globals, + const Data& data); + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const; +}; + +template +using DiffuseLobe = DiffuseLobeGen; +template +using TranslucentLobe = DiffuseLobeGen; + +template struct BasicDiffuseLobe : public Lobe { + using Base = Lobe; + struct Data { + // microfacet params + Imath::V3f N; + Imath::C3f color; + float diffuse_roughness; + float translucent; + using lobe_type = BasicDiffuseLobe; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::N), R::param(&D::color), + R::param(&D::diffuse_roughness), R::param(&D::translucent), + R::close() } }; + } + + template + BSDL_INLINE_METHOD BasicDiffuseLobe(T*, const BsdfGlobals& globals, + const Data& data); + + static const char* name() { return "basic_diffuse"; } + + BSDL_INLINE_METHOD Power albedo_impl() const { return diff_color; } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const; + +private: + float diff_rough; + float diff_trans; + Power diff_color; +}; + +template struct ChandrasekharLobe : public Lobe { + using Base = Lobe; + struct Data { + Imath::V3f N; + Imath::C3f albedo; + + using lobe_type = ChandrasekharLobe; + }; + template + BSDL_INLINE_METHOD ChandrasekharLobe(T*, const BsdfGlobals& globals, + const Data& data); + + const char* name() const { return "chandrasekhar"; } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const; + +private: + BSDL_INLINE_METHOD float H(float a, float u) const; + BSDL_INLINE_METHOD Power H(float u) const; + + Power m_a; +}; + +// Diffusion Transport BRDF: +//   https://www.researchgate.net/publication/333325137_The_Albedo_Problem_in_Nonexponential_Radiative_Transfer +template struct DiffuseTLobe : public Lobe { + using Base = Lobe; + struct Data { + Imath::V3f N; + Imath::C3f albedo; + + using lobe_type = DiffuseTLobe; + }; + + template + BSDL_INLINE_METHOD DiffuseTLobe(T*, const BsdfGlobals& globals, + const Data& data); + + const char* name() const { return "deon-diffusion"; } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const; + // Solve for single-scattering albedo c given diffuse reflectance kD under uniform hemisphere illumination + static BSDL_INLINE_METHOD Power albedoInvert(const Power in_R); + +private: + // H-function for Gamma-2 flights in 3D with isotropic scattering + static BSDL_INLINE_METHOD float HFunctionGamma2(const float u, + const float sqrt1minusc); + static BSDL_INLINE_METHOD Power HFunctionGamma2(const float u, + const Power sqrt1minusc); + + Power m_c; +}; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_diffuse_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_diffuse_impl.h new file mode 100644 index 000000000..2d5b0ca8c --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_diffuse_impl.h @@ -0,0 +1,268 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +template +template +BSDL_INLINE_METHOD +DiffuseLobeGen::DiffuseLobeGen( + T* lobe, const BsdfGlobals& globals, + const DiffuseLobeGen::Data& data) + : Base(lobe, globals.visible_normal(data.N), 1.0f, globals.lambda_0, TR) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, !TR); +} + +template +BSDL_INLINE_METHOD Sample +DiffuseLobeGen::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + float IdotN = wi.z; + // For normal diffuse both wi and wo have to be above N + if ((!TR && IdotN <= 0) || + // otherwise just in different sides + (TR && IdotN >= 0)) + return {}; + return { wi, Power::UNIT(), fabsf(IdotN) * ONEOVERPI, 1.0f }; +} + +template +BSDL_INLINE_METHOD Sample +DiffuseLobeGen::sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const +{ + Imath::V3f wi = sample_cos_hemisphere(rnd.x, rnd.y); + if (TR) + wi.z = -wi.z; + Sample s = eval_impl(wo, wi); + return s; +} + +template +template +BSDL_INLINE_METHOD +BasicDiffuseLobe::BasicDiffuseLobe( + T* lobe, const BsdfGlobals& globals, + const typename BasicDiffuseLobe::Data& data) + : Base(lobe, globals.visible_normal(data.N), + 0.84f, // Legacy roughness + globals.lambda_0, data.translucent > 0) + , diff_rough(CLAMP(data.diffuse_roughness, 0.0f, 1.0f)) + , diff_trans(CLAMP(data.translucent, 0.0f, 1.0f)) + , diff_color(globals.wave(CLAMP(data.color, 0.0f, 1.0f))) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, + data.translucent == 0); +} + +template +BSDL_INLINE_METHOD Sample +BasicDiffuseLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + assert(wo.z >= 0); + + const bool trans = diff_trans > 0; + const bool front = wi.z > 0; + + Sample sample = { wi, Power::ZERO(), 0, Base::roughness() }; + if (front || trans) { + const float cosNO = wo.z; + const float cosNI = fabsf(wi.z); + + const float diff_scale = front ? 1 - diff_trans : diff_trans; + // oren-nayar adjustment + const float s = wo.dot(wi) - cosNO * cosNI; + const float stinv = s > 0 ? s / std::max(cosNO, cosNI) : s; + const float ON = (1 - 0.235f * diff_rough) + * MAX(1 + diff_rough * stinv, 0.0f); + sample.weight = diff_color * ON; + sample.pdf = diff_scale * cosNI * ONEOVERPI; + } + return sample; +} + +template +BSDL_INLINE_METHOD Sample +BasicDiffuseLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const +{ + const float cosNO = wo.z; + if (cosNO <= 0) + return {}; + + const bool trans = rnd.x < diff_trans; + const float x = trans ? Sample::stretch(rnd.x, 0, diff_trans) + : Sample::stretch(rnd.x, diff_trans, 1 - diff_trans); + Imath::V3f wi = sample_cos_hemisphere(x, rnd.y); + wi.z = trans ? -wi.z : wi.z; // Flip if transmissive + // evaluate brdf on outgoing direction + return eval_impl(wo, wi); +} + +template +template +BSDL_INLINE_METHOD +ChandrasekharLobe::ChandrasekharLobe(T* lobe, + const BsdfGlobals& globals, + const Data& data) + : Base(lobe, globals.visible_normal(data.N), 1.0f, globals.lambda_0, false) + , m_a(globals.wave(data.albedo).clamped(0, 1)) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, true); +} + +template +BSDL_INLINE_METHOD Sample +ChandrasekharLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + /* When translucent we mirror wi to the other side of the normal and perform + * a regular oren-nayar BSDF. */ + const float NL = wi.z; + const float NV = wo.z; + if (NL > 0 && NV > 0) { + const Power HL = H(NL); + const Power HV = H(NV); + const float pdf = NL * ONEOVERPI; + + // A HITCHHIKER’S GUIDE TO MULTIPLE SCATTERING v0.1.3 + // 7.3.4 Emerging Distribution (BRDF) [Chandrasekhar 1960] + // Equation 272 + const Power b = m_a * HL * HV * (0.25f / (NL + NV)); + + return { wi, b, pdf, 1.0f }; + } + return {}; +} + +template +BSDL_INLINE_METHOD Sample +ChandrasekharLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const +{ + Imath::V3f wi = sample_cos_hemisphere(rnd.x, rnd.y); + return eval_impl(wo, wi); +} + +template +BSDL_INLINE_METHOD float +ChandrasekharLobe::H(float a, float u) const +{ + // this is an approximation accurate to within 1% for all albedos and inclinations + // A HITCHHIKER’S GUIDE TO MULTIPLE SCATTERING v0.1.3 + // 8.5.3 H-function Approximations, Approximation 2 [Hapke 2012] + const float y = sqrtf(1 - a); + const float n = (1 - y) / (1 + y); + return 1 + / (1 + - (1 - y) * u + * (n + (1 - n * 0.5f - n * u) * fast_log(1 / u + 1))); +} + +template +BSDL_INLINE_METHOD Power +ChandrasekharLobe::H(float u) const +{ + return Power([&](int i) { return H(m_a[i], u); }, 1); +} + +template +template +BSDL_INLINE_METHOD +DiffuseTLobe::DiffuseTLobe(T* lobe, const BsdfGlobals& globals, + const Data& data) + : Base(lobe, globals.visible_normal(data.N), 1.0f, globals.lambda_0, false) + , m_c(globals.wave(data.albedo).clamped(0, 1)) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, true); +} + +template +BSDL_INLINE_METHOD Sample +DiffuseTLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + const float ui = wi.z; + const float uo = wo.z; + if (ui > 0 && uo > 0) { + const float pdf = ui * ONEOVERPI; + + Power sqrt1minusc([&](int i) { return sqrtf(1.0f - m_c[i]); }, 1); + + const Power Hi = HFunctionGamma2(ui, sqrt1minusc); + const Power Ho = HFunctionGamma2(uo, sqrt1minusc); + + const Power Hterm = Hi * Ho * (1.0f / (ui + uo)); + + const float math1 = ui * ui + 3.0f * ui * uo + uo * uo; + const float uiplus2 = (1.0f + ui) * (1.0f + ui); + const float uoplus2 = (1.0f + uo) * (1.0f + uo); + const float math2 = 1.0f / (uiplus2 * uoplus2); + const float math3 = (ui * ui + 2.0f * uo + 3.0f * ui * uo) + * (uo * uo + 2.0f * ui + 3.0f * ui * uo); + const float math4 = (ui * ui * ui + uo * uo * uo + + ui * uo + * (2.0f * (1.0f + ui * ui + uo * uo) + + 3.0f * (ui + uo) + 6.0f * ui * uo)) + * ui * uo / (ui + uo); + + Power b + = 0.25f * m_c * Hterm * Hterm + * (Power(math1 / (ui + uo), 1) + - 0.5f * math2 + * ((Power::UNIT() - sqrt1minusc) * math3 + m_c * math4)); + + return { wi, b, pdf, 1.0f }; + } + return {}; +} + +template +BSDL_INLINE_METHOD Sample +DiffuseTLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const +{ + Imath::V3f wi = sample_cos_hemisphere(rnd.x, rnd.y); + return eval_impl(wo, wi); +} + +// Solve for single-scattering albedo c given diffuse reflectance kD under uniform hemisphere illumination +template +BSDL_INLINE_METHOD Power +DiffuseTLobe::albedoInvert(const Power in_R) +{ + const Power white(1, 1); + const Power n = in_R * 4; + const Power d = (white + in_R) * (white + in_R); + return n / d; +} + +// H-function for Gamma-2 flights in 3D with isotropic scattering +template +BSDL_INLINE_METHOD float +DiffuseTLobe::HFunctionGamma2(const float u, const float sqrt1minusc) +{ + return (1.0f + u) / (1.0f + sqrt1minusc * u); +} + +template +BSDL_INLINE_METHOD Power +DiffuseTLobe::HFunctionGamma2(const float u, const Power sqrt1minusc) +{ + return Power([&](int i) { return HFunctionGamma2(u, sqrt1minusc[i]); }, 1); +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_metal_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_metal_decl.h new file mode 100644 index 000000000..1ed9e22e8 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_metal_decl.h @@ -0,0 +1,86 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +struct MetalFresnel { + BSDL_INLINE_METHOD MetalFresnel() {} + + BSDL_INLINE_METHOD + MetalFresnel(Power c, Power edge, float artist_blend, float artist_power); + BSDL_INLINE_METHOD Power eval(float cosine) const; + + BSDL_INLINE_METHOD Power avg() const; + +private: + Power r, g; + float blend; // blend between physical and artistic + float p; // power of artistic mode +}; + +template struct MetalLobe : public Lobe { + using Base = Lobe; + struct Data { + // microfacet params + Imath::V3f N, U; + float roughness; + float anisotropy; + // fresnel params + Imath::C3f color; + Imath::C3f edge_tint; + float artist_blend; + float artist_power; + float force_eta; + using lobe_type = MetalLobe; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::N), R::param(&D::U), R::param(&D::roughness), + R::param(&D::anisotropy), R::param(&D::color), + R::param(&D::edge_tint), R::param(&D::artist_blend), + R::param(&D::artist_power), R::param(&D::force_eta), + R::close() } }; + } + + static BSDL_INLINE_METHOD float adjust_reflection(float r, float outer_ior); + static BSDL_INLINE_METHOD Power adjust_reflection(float outer_ior, Power r, + float force_eta); + + template + BSDL_INLINE_METHOD MetalLobe(T*, const BsdfGlobals& globals, + const Data& data); + + static const char* name() { return "metal"; } + + BSDL_INLINE_METHOD Power albedo_impl() const + { + return spec.getFresnel().avg(); + } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const; + +private: + typedef MicrofacetMS GGX; + Imath::V3f U; + GGX spec; +}; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_metal_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_metal_impl.h new file mode 100644 index 000000000..d3f5ff278 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_metal_impl.h @@ -0,0 +1,122 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +BSDL_INLINE_METHOD +MetalFresnel::MetalFresnel(Power c, Power edge, float artist_blend, + float artist_power) + : r(c.clamped(0.0f, 0.99f)) + , g(edge.clamped(0.0f, 1.00f)) + , blend(CLAMP(artist_blend, 0.0f, 1.00f)) + , p(CLAMP(artist_power, 0.0f, 1.00f)) +{ +} + +BSDL_INLINE_METHOD Power +MetalFresnel::eval(float cosine) const +{ + return LERP(blend, fresnel_metal(cosine, r, g, 1), + fresnel_schlick(cosine, r, g, p)); +} + +BSDL_INLINE_METHOD Power +MetalFresnel::avg() const +{ + // the following is a mathematica fit to the true integral as a function of r and g: + // max error is ~2.02% + // avg error is ~0.25% + Power metal_avg + = Power(0.087237f, 1) + + r + * (Power(0.782654f, 1) + 0.19744f * g + + r * (Power(-0.136432f, 1) - 0.2586f * g + r * 0.278708f)) + + g + * (Power(0.0230685f, 1) + + g + * (Power(-0.0864902f, 1) + 0.0360605f * r + + g * 0.0774594f)); + metal_avg = metal_avg.clamped(0, 1); + + // Integral[2*c*(r + (g-r) * (1-c)^(1/p),{c,0,1}] happens to have a closed form solution + const float A = 2 * SQR(p); + const float B = 1 + 3 * p; + Power schlick_avg = (g * A + r * B) * (1.0f / (A + B)); + + return LERP(blend, metal_avg, schlick_avg); +} + +template +BSDL_INLINE_METHOD float +MetalLobe::adjust_reflection(float r, float outer_ior) +{ + // Get IOR for this facing angle reflection, and divide by outer_ior + const float sqrtr = sqrtf(CLAMP(r, 0.0f, 1.0f)); + const float eta + = std::max(std::min((1 + sqrtr) / (1 - sqrtr), BIG) / outer_ior, 1.0f); + // Then map it back to a facing angle reflection + return SQR((eta - 1) / (1 + eta)); +} + +template +BSDL_INLINE_METHOD Power +MetalLobe::adjust_reflection(float outer_ior, Power r, + float force_eta) +{ + force_eta = CLAMP(force_eta, 0.0f, 1.0f); + if (outer_ior == 1.0f || force_eta == 1) + return r; + Power adjusted([&](int i) { return adjust_reflection(r[i], outer_ior); }, + 1); + return LERP(force_eta, adjusted, r); +} + +template +template +BSDL_INLINE_METHOD +MetalLobe::MetalLobe(T* lobe, const BsdfGlobals& globals, + const Data& data) + : Base(lobe, globals.visible_normal(data.N), data.U, + globals.regularize_roughness(data.roughness), globals.lambda_0, + false) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, true); + Power color = adjust_reflection(globals.outer_ior, globals.wave(data.color), + data.force_eta); + spec = GGX(GGXDist(Base::roughness(), CLAMP(data.anisotropy, 0.0f, 1.0f)), + MetalFresnel(color, globals.wave(data.edge_tint), + data.artist_blend, data.artist_power), + Base::frame.Z.dot(globals.wo), Base::roughness()); +} + +template +BSDL_INLINE_METHOD Sample +MetalLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + Sample s = spec.eval(wo, wi); + s.roughness = Base::roughness(); + return s; +} + +template +BSDL_INLINE_METHOD Sample +MetalLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const +{ + Sample s = spec.sample(wo, rnd.x, rnd.y, rnd.z); + s.roughness = Base::roughness(); + return s; +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_oren_nayar_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_oren_nayar_decl.h new file mode 100644 index 000000000..b9096a239 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_oren_nayar_decl.h @@ -0,0 +1,58 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +template +struct OrenNayarLobeGen : public Lobe { + using Base = Lobe; + + struct Data { + Imath::V3f N; + float sigma; + int improved; + using lobe_type = OrenNayarLobeGen; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::N), R::param(&D::sigma), + R::param(&D::improved, "improved"), R::close() } }; + } + + template + BSDL_INLINE_METHOD OrenNayarLobeGen(T*, const BsdfGlobals& globals, + const Data& data); + + static const char* name() + { + return TR ? "oren_nayar_translucent" : "oren_nayar"; + } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& _wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f rnd) const; + float m_A, m_B; + bool m_improved; +}; + +template +using OrenNayarLobe = OrenNayarLobeGen; +template +using OrenNayarTranslucentLobe = OrenNayarLobeGen; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_oren_nayar_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_oren_nayar_impl.h new file mode 100644 index 000000000..c1ce1b576 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_oren_nayar_impl.h @@ -0,0 +1,72 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +template +template +BSDL_INLINE_METHOD +OrenNayarLobeGen::OrenNayarLobeGen(T* lobe, + const BsdfGlobals& globals, + const Data& data) + : Base(lobe, globals.visible_normal(data.N), 1.0f, globals.lambda_0, TR) + , m_improved(data.improved) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, !TR); + if (m_improved) { + m_A = 1 - 0.235f * data.sigma; + m_B = data.sigma * m_A; + } else { + float s2 = SQR(data.sigma); + m_A = 1 - 0.50f * s2 / (s2 + 0.33f); + m_B = 0.45f * s2 / (s2 + 0.09f); + } +} + +template +BSDL_INLINE_METHOD Sample +OrenNayarLobeGen::eval_impl(const Imath::V3f& wo, + const Imath::V3f& _wi) const +{ + // When translucent we mirror wi to the other side of the normal and perform + // a regular oren-nayar BSDF. */ + const Imath::V3f N = Base::frame.Z; + const Imath::V3f wi = TR ? _wi - 2 * _wi.z * N : _wi; + const float NL = wi.z; + const float NV = wo.z; + if (NL > 0 && NV > 0) { + const float pdf = NL * ONEOVERPI; + // Simplified math from: A tiny improvement of Oren-Nayar reflectance model - Yasuhiro Fujii + // http://mimosa-pudica.net/improved-oren-nayar.html + const float LV = wi.dot(wo); + + const float s = LV - NL * NV; + const float stinv = s > 0 ? s / MAX(NL, NV) : (m_improved ? s : 0); + const float out = MAX(m_A + m_B * stinv, 0.0f); + return { _wi, Power(out, 1), pdf, 1.0f }; + } + return {}; +} + +template +BSDL_INLINE_METHOD Sample +OrenNayarLobeGen::sample_impl(const Imath::V3f& wo, + const Imath::V3f rnd) const +{ + Imath::V3f wi = sample_cos_hemisphere(rnd.x, rnd.y); + if (TR) + wi.z = -wi.z; + return eval_impl(wo, wi); +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_physicalhair_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_physicalhair_decl.h new file mode 100644 index 000000000..dc76fe465 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_physicalhair_decl.h @@ -0,0 +1,220 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +#include +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +constexpr int PHYSICAL_HAIR_DEBUG_R = 1; +constexpr int PHYSICAL_HAIR_DEBUG_TT = 2; +constexpr int PHYSICAL_HAIR_DEBUG_TRT = 3; + +static constexpr int P_MAX = 3; + +// From "An Energy-Conserving Hair Reflectance Model" (Weta) +// and "Importance Sampling for Physically-Based Hair Fiber Models" d'Eon et al +// and "A Practical and Controllable Hair and Fur Model for Production Path +// Tracing" (Disney) +// A physically based hair BSDF with four lobes R, TT, TRT and a fourth +// simplified sum of the remaining bounces. +template struct PhysicalHairLobe : public Lobe { + using Base = Lobe; + struct Data { + Imath::V3f T; + float IOR; + float offset; + float lroughness; + float troughness; + float aroughness; + Imath::C3f R_tint; + Imath::C3f TT_tint; + Imath::C3f TRT_tint; + Imath::C3f absorption; + int flags; + float force_eta; + float scattering; + float h; // Offset in the curve + using lobe_type = PhysicalHairLobe; + }; + + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::T), R::param(&D::IOR), R::param(&D::offset), + R::param(&D::lroughness), R::param(&D::troughness), + R::param(&D::aroughness), R::param(&D::R_tint), + R::param(&D::TT_tint), R::param(&D::TRT_tint), + R::param(&D::absorption), R::param(&D::scattering), + R::param(&D::force_eta), R::param(&D::flags), R::close() } }; + } + + static constexpr float SQRT_PI_OVER_8 = 0.626657069f; + + template + BSDL_INLINE_METHOD PhysicalHairLobe(T*, const BsdfGlobals& globals, + const Data& data); + + static const char* name() { return "physical_hair"; } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& _rnd) const; + + BSDL_INLINE_METHOD StaticCdf lobe_cdf() const; + + static BSDL_INLINE_METHOD std::array + Ap(float cosThetaO, float eta, float h, const Power T, float lambda_0); + static BSDL_INLINE_METHOD + std::pair, std::array> + sincos_alpha(float offset); + static BSDL_INLINE_METHOD + std::pair, std::array> + variances(float lrough, float trough, float arough, float scattering, + float cosThetaO); + static BSDL_INLINE_METHOD float log_bessi0(float x); + static BSDL_INLINE_METHOD float bessi0_time_exp(float x, float exponent); + static BSDL_INLINE_METHOD float Mp(float cosThetaI, float cosThetaO, + float sinThetaI, float sinThetaO, + float v); + static BSDL_INLINE_METHOD float Phi(int p, float gammaO, float gammaT); + static BSDL_INLINE_METHOD float TrimmedLogistic(float x, float s); + static BSDL_INLINE_METHOD float Np(float phi, int p, float s, float gammaO, + float gammaT); + static BSDL_INLINE_METHOD float SampleTrimmedLogistic(float u, float s); + static BSDL_INLINE_METHOD float RemapLongitudinalRoughness(float lr); + static BSDL_INLINE_METHOD float RemapAzimuthalRoughness(float ar); + + std::array ap; + float lrough; + float trough; + float arough; + float scattering; + // These are for angles from -pi/2 to pi/2 + float gammaO, gammaT; + float offset; +}; + +template struct HairDiffuseLobe : public Lobe { + using Base = Lobe; + struct Data { + Imath::V3f T; + float IOR; + Imath::C3f absorption; + float eccentricity; + float anisotropy; + float flatten_density; + using lobe_type = HairDiffuseLobe; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::T), R::param(&D::IOR), R::param(&D::absorption), + R::param(&D::eccentricity), R::param(&D::anisotropy), + R::param(&D::flatten_density), R::close() } }; + } + + static constexpr float MIN_ROUGH = 0.025f; + + template + BSDL_INLINE_METHOD HairDiffuseLobe(T*, const BsdfGlobals& globals, + const Data& data); + + BSDL_INLINE_METHOD Power albedo_impl() const { return color; } + static const char* name() { return "hair_diffuse"; } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const; + +private: + static BSDL_INLINE_METHOD float ecc2longrough(float ecc, float aniso); + static BSDL_INLINE_METHOD float ecc2s(float ecc, float aniso); + static BSDL_INLINE_METHOD float ecc2roughness(float ecc); + static BSDL_INLINE_METHOD float roughness2ecc(float rough, float ecc); + static BSDL_INLINE_METHOD float albedo2absorption(float x, float g); + static BSDL_INLINE_METHOD Power albedo2absorption(Power x, float lambda_0, + float g); + + Power color; + float eccentricity; + float anisotropy; +}; + +// This BSDF comes from PhysicalHairLobe but isolating either R or TRT +template struct HairSpecularLobe : public Lobe { + using Base = Lobe; + struct Data : public LayeredData { + Imath::V3f T; + float IOR; + float offset; + float lroughness; + float aroughness; + int trt; + Imath::C3f tint; + Imath::C3f absorption; + float force_eta; + float flatten_density; + float h; // Offset in the curve + using lobe_type = HairSpecularLobe; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::closure), R::param(&D::T), R::param(&D::IOR), + R::param(&D::offset), R::param(&D::lroughness), + R::param(&D::aroughness), R::param(&D::trt), + R::param(&D::tint), R::param(&D::absorption), + R::param(&D::flatten_density), R::param(&D::force_eta), + R::close() } }; + } + + template + BSDL_INLINE_METHOD HairSpecularLobe(T*, const BsdfGlobals& globals, + const Data& data); + + static const char* name() { return "hair_specular"; } + BSDL_INLINE_METHOD Power albedo_impl() const { return color; } + + // Filter the BSDF under it + BSDL_INLINE_METHOD Power filter_o(const Imath::V3f& wo) const + { + return Power(1 - fresnel_term, 1); + } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& _rnd) const; + + Power color; + float long_v; // Variance arg for M distribution + float azim_s; // Scale arg for azimuthal distribution + float gammaO, gammaT; // -pi/2 to pi/2 angle + float sin2kAlpha, cos2kAlpha; // Precomputed scale rotation + float fresnel_term; + bool trt; +}; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_physicalhair_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_physicalhair_impl.h new file mode 100644 index 000000000..42d8fb000 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_physicalhair_impl.h @@ -0,0 +1,837 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +template +template +BSDL_INLINE_METHOD +PhysicalHairLobe::PhysicalHairLobe(T* lobe, + const BsdfGlobals& globals, + const Data& data) + : Base(lobe, data.T, globals.wo, + std::min(globals.regularize_roughness(data.lroughness), + globals.regularize_roughness(data.troughness)), + globals.lambda_0, true) + , offset(data.offset) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, false); + + const float input_ior = CLAMP(data.IOR, 1.001f, BIG); + const float eta = LERP(CLAMP(data.force_eta, 0.0f, 1.0f), + globals.relative_eta(data.IOR), input_ior); + lrough = globals.regularize_roughness(data.lroughness); + trough = globals.regularize_roughness(data.troughness); + arough = CLAMP(data.aroughness, 0.01f, 1.0f); + scattering = CLAMP(SQR(data.scattering), 0.0f, 0.99f); + const int debug = globals.path_roughness > 0 ? 0 : data.flags; + + // Compute hair coordinate system terms related to _wo_ + const float sinThetaO = CLAMP(globals.wo.dot(Base::frame.Z), -1.0f, 1.0f); + const float cosThetaO = sqrtf(1 - SQR(sinThetaO)); + + constexpr auto fast_exp = BSDLConfig::Fast::expf; + constexpr auto fast_asin = BSDLConfig::Fast::asinf; + gammaO = fast_asin(data.h); + + // Compute $\cos \thetat$ for refracted ray + float sinThetaT = sinThetaO / eta; + float cosThetaT = sqrtf(MAX(1 - SQR(sinThetaT), 0.0f)); + + // Compute $\gammat$ for refracted ray + float etap = sqrtf(SQR(eta) - SQR(sinThetaO)) / cosThetaO; + float sinGammaT = data.h / etap; + float cosGammaT = sqrtf(1 - SQR(sinGammaT)); + gammaT = fast_asin(sinGammaT); + + // Compute the transmittance _T_ of a single path through the cylinder + float l = 2 * cosGammaT / cosThetaT; + Power absorption = globals.wave(data.absorption); + Power tau([&](int i) { return fast_exp(-absorption[i] * l); }, + globals.lambda_0); + + ap = Ap(cosThetaO, eta, data.h, tau, globals.lambda_0); + ap[0] *= globals.wave(data.R_tint).clamped(0.0f, 1.0f); + ap[1] *= globals.wave(data.TT_tint).clamped(0.0f, 1.0f); + ap[2] *= globals.wave(data.TRT_tint).clamped(0.0f, 1.0f); + + // If debugging isolate lobes + if (debug) { + for (int i = 0; i <= P_MAX; ++i) + if (i != (debug - 1)) + ap[i] = Power::ZERO(); + } + auto cdf = lobe_cdf(); + for (int i = 0; i <= P_MAX; ++i) + ap[i] = ap[i].clamped(0.0f, cdf.pdf(i)); +} + +template +BSDL_INLINE_METHOD StaticCdf +PhysicalHairLobe::lobe_cdf() const +{ + StaticCdf cdf; + for (int i = 0; i <= P_MAX; ++i) + cdf[i] = ap[i].max(); + const float total = cdf.build(); + // if lobes are all 0, just pretend like we have some chance of sampling the + // last lobe (even though its 0 just to avoid special cases) + if (total == 0) + cdf[P_MAX] = 1; + return cdf; +} + +template +BSDL_INLINE_METHOD Sample +PhysicalHairLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + const float sinThetaO = CLAMP(wo.z, -1.0f, 1.0f); + const float cosThetaO = sqrtf(1 - SQR(sinThetaO)); + const float sinThetaI = CLAMP(wi.z, -1.0f, 1.0f); + const float cosThetaI = sqrtf(1 - SQR(sinThetaI)); + const float phiI = fast_atan2(wi.y, wi.x); + std::array sin2kAlpha, cos2kAlpha; + // Compute alpha terms for hair scales + auto sincosa = sincos_alpha(offset); + sin2kAlpha = sincosa.first; + cos2kAlpha = sincosa.second; + + const float phiO = 0; + const float phi = phiI - phiO; + + auto cdf = lobe_cdf(); + Sample sample = { wi }; + BSDL_UNROLL() + for (int p = 0; p <= P_MAX; ++p) { + const float lobe_prob = cdf.pdf(p); + if (lobe_prob <= PDF_MIN) + continue; + + // Compute sin/cos theta to account for scales + float sinThetaOp, cosThetaOp; + switch (p) { + case 0: { + sinThetaOp = sinThetaO * cos2kAlpha[1] - cosThetaO * sin2kAlpha[1]; + cosThetaOp = cosThetaO * cos2kAlpha[1] + sinThetaO * sin2kAlpha[1]; + break; + } + case 1: { + sinThetaOp = sinThetaO * cos2kAlpha[0] + cosThetaO * sin2kAlpha[0]; + cosThetaOp = cosThetaO * cos2kAlpha[0] - sinThetaO * sin2kAlpha[0]; + break; + } + case 2: { + sinThetaOp = sinThetaO * cos2kAlpha[2] + cosThetaO * sin2kAlpha[2]; + cosThetaOp = cosThetaO * cos2kAlpha[2] - sinThetaO * sin2kAlpha[2]; + break; + } + default: { + sinThetaOp = sinThetaO; + cosThetaOp = cosThetaO; + break; + } + } + + // handle out of range from scale adjustment + cosThetaOp = fabsf(cosThetaOp); + + auto vs = variances(lrough, trough, arough, scattering, cosThetaO); + std::array v = vs.first, s = vs.second; + + const float lobe_pdf = Mp(cosThetaI, cosThetaOp, sinThetaI, sinThetaOp, + v[p]) + * Np(phi, p, s[p], gammaO, gammaT); + + sample.update(ap[p], lobe_pdf, lobe_prob); + + // NOTE: this should almost always be the case, but because the pdf is nudged during cdf normalization, we can end up with + // weights ever so slightly larger than 1.0 -- so just clamp + sample.weight = sample.weight.clamped(0, 1); + assert(sample.pdf >= 0); + } + + sample.roughness = Base::roughness(); + return sample; +} + +template +BSDL_INLINE_METHOD Sample +PhysicalHairLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& _rnd) const +{ + const float sinThetaO = CLAMP(wo.z, -1.0f, 1.0f); + const float cosThetaO = sqrtf(1 - SQR(sinThetaO)); + int p = 0; + float pdf = 0; + Imath::V3f rnd = _rnd; + auto cdf = lobe_cdf(); + rnd.x = cdf.sample(rnd.x, &p, &pdf); + std::array sin2kAlpha, cos2kAlpha; + // Compute alpha terms for hair scales + auto sincosa = sincos_alpha(offset); + sin2kAlpha = sincosa.first; + cos2kAlpha = sincosa.second; + + // Update sin/cos thetao to account for scales + float sinThetaOp, cosThetaOp; + switch (p) { + case 0: { + sinThetaOp = sinThetaO * cos2kAlpha[1] - cosThetaO * sin2kAlpha[1]; + cosThetaOp = cosThetaO * cos2kAlpha[1] + sinThetaO * sin2kAlpha[1]; + break; + } + case 1: { + sinThetaOp = sinThetaO * cos2kAlpha[0] + cosThetaO * sin2kAlpha[0]; + cosThetaOp = cosThetaO * cos2kAlpha[0] - sinThetaO * sin2kAlpha[0]; + break; + } + case 2: { + sinThetaOp = sinThetaO * cos2kAlpha[2] + cosThetaO * sin2kAlpha[2]; + cosThetaOp = cosThetaO * cos2kAlpha[2] - sinThetaO * sin2kAlpha[2]; + break; + } + default: { + sinThetaOp = sinThetaO; + cosThetaOp = cosThetaO; + break; + } + } + + auto vs = variances(lrough, trough, arough, scattering, cosThetaO); + std::array v = vs.first, s = vs.second; + + constexpr auto fast_exp = BSDLConfig::Fast::expf; + constexpr auto fast_log = BSDLConfig::Fast::logf; + constexpr auto fast_cos = BSDLConfig::Fast::cosf; + constexpr auto fast_sincos = BSDLConfig::Fast::sincosf; + // Sample $M_p$ to compute $\thetai$ + rnd.x = MAX(rnd.x, 1e-5f); + float cosTheta + = 1 + v[p] * fast_log(rnd.x + (1 - rnd.x) * fast_exp(-2 / v[p])); + float sinTheta = sqrtf(MAX(1 - SQR(cosTheta), 0.0f)); + float cosPhi = fast_cos(2 * PI * rnd.y); + float sinThetaI = -cosTheta * sinThetaOp + sinTheta * cosPhi * cosThetaOp; + float cosThetaI = sqrtf(MAX(1 - SQR(sinThetaI), 0.0f)); + + // Sample N_p to compute delta_phi + float dphi; + if (p < P_MAX) + dphi = Phi(p, gammaO, gammaT) + SampleTrimmedLogistic(rnd.z, s[p]); + else + dphi = 2 * PI * rnd.z; + // Compute wi from sampled hair scattering angles + const float phiO = 0; + float phiI = phiO + dphi; + float cos_phi_i, sin_phi_i; + fast_sincos(phiI, &sin_phi_i, &cos_phi_i); + + Imath::V3f wi = { cos_phi_i * cosThetaI, sin_phi_i * cosThetaI, sinThetaI }; + return eval_impl(wo, wi); +} + +template +BSDL_INLINE_METHOD std::array +PhysicalHairLobe::Ap(float cosThetaO, float eta, float h, + const Power T, float lambda_0) +{ + std::array ap; + // Compute $p=0$ attenuation at initial cylinder intersection + float cosGammaO = sqrtf(MAX(1 - h * h, 0.0f)); + float cosTheta = cosThetaO * cosGammaO; + float f = fresnel_dielectric(cosTheta, eta); + ap[0] = Power(f, 1); + + // Compute $p=1$ attenuation term + ap[1] = SQR(1 - f) * T; + + // Compute attenuation terms up to $p=_pMax_$ + for (int p = 2; p < P_MAX; ++p) + ap[p] = ap[p - 1] * T * f; + + // Compute attenuation term accounting for remaining orders of scattering + ap[P_MAX] = ap[P_MAX - 1] * f * T; + ap[P_MAX].update([&](int i, + float v) { return v / MAX(1.0f - T[i] * f, 1e-5f); }, + lambda_0); + for (int p = 0; p <= P_MAX; p++) { + assert(ap[p].min(lambda_0) >= 0 && ap[p].max() <= 1); + } + return ap; +} + +template +BSDL_INLINE_METHOD std::pair, std::array> +PhysicalHairLobe::sincos_alpha(float offset) +{ + constexpr auto fast_sin = BSDLConfig::Fast::sinf; + std::array sin2kAlpha, cos2kAlpha; + sin2kAlpha[0] = fast_sin(offset); + cos2kAlpha[0] = sqrtf(1 - SQR(sin2kAlpha[0])); + for (int i = 1; i < P_MAX; ++i) { + sin2kAlpha[i] = 2 * cos2kAlpha[i - 1] * sin2kAlpha[i - 1]; + cos2kAlpha[i] = SQR(cos2kAlpha[i - 1]) - SQR(sin2kAlpha[i - 1]); + } + return { sin2kAlpha, cos2kAlpha }; +} + +template +BSDL_INLINE_METHOD + std::pair, std::array> + PhysicalHairLobe::variances(float lrough, float trough, + float arough, float scattering, + float cosThetaO) +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + constexpr auto fast_log1p = BSDLConfig::Fast::log1pf; + std::array v, s; + const float sigma_s = -fast_log1p(-scattering); + // This is the amount of light that goes unscattered through the hair + // medium. We use this to boost exit roughness and fake scattering. + const float unscattered = fast_exp(-sigma_s / cosThetaO); + v[0] = RemapLongitudinalRoughness(lrough); // R lobe (primary spec) + v[1] = 0.25f + * RemapLongitudinalRoughness( + sum_max(trough, 1 - unscattered, + 1.0f)); // TT lobe (transmission) + v[2] = 4 + * RemapLongitudinalRoughness( + sum_max(lrough, 1 - SQR(unscattered), + 1.0f)); // TRT lobe (secondary spec) + for (int p = 3; p <= P_MAX; ++p) + v[p] = v[2]; // energy conservation lobe + + // Azimuthal roughness + s[0] = RemapAzimuthalRoughness(arough); + s[1] = RemapAzimuthalRoughness(sum_max(arough, 1 - unscattered, 1.0f)); + s[2] = RemapAzimuthalRoughness(sum_max(arough, 1 - SQR(unscattered), 1.0f)); + for (int p = 3; p <= P_MAX; ++p) + s[p] = s[2]; // energy conservation lobe + return { v, s }; +} + +template +BSDL_INLINE_METHOD float +PhysicalHairLobe::log_bessi0(float x) +{ + constexpr auto fast_log = BSDLConfig::Fast::logf; + constexpr auto fast_log1p = BSDLConfig::Fast::log1pf; + float ax = fabsf(x); + if (ax < 3.75f) { + float y = SQR(x / 3.75f); + return fast_log1p( + y + * (3.5156229f + + y + * (3.0899424f + + y + * (1.2067492f + + y + * (0.2659732f + + y + * (0.360768e-1f + + y * 0.45813e-2f)))))); + } else { + float y = 3.75f / ax; + return ax + + fast_log( + 1 / sqrtf(ax) + * (0.39894228f + + y + * (0.1328592e-1f + + y + * (0.225319e-2f + + y + * (-0.157565e-2f + + y + * (0.916281e-2f + + y + * (-0.2057706e-1f + + y + * (0.2635537e-1f + + y + * (-0.1647633e-1f + + y * 0.392377e-2f))))))))); + } +} + +template +BSDL_INLINE_METHOD float +PhysicalHairLobe::bessi0_time_exp(float x, float exponent) +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + float ax = fabsf(x); + if (ax < 3.75f) { + float y = SQR(x / 3.75f); + return fast_exp(exponent) + * (1.0f + + y + * (3.5156229f + + y + * (3.0899424f + + y + * (1.2067492f + + y + * (0.2659732f + + y + * (0.360768e-1f + + y * 0.45813e-2f)))))); + } else { + float y = 3.75f / ax; + return (fast_exp(ax + exponent) / sqrtf(ax)) + * (0.39894228f + + y + * (0.1328592e-1f + + y + * (0.225319e-2f + + y + * (-0.157565e-2f + + y + * (0.916281e-2f + + y + * (-0.2057706e-1f + + y + * (0.2635537e-1f + + y + * (-0.1647633e-1f + + y * 0.392377e-2f)))))))); + } +} + +template +BSDL_INLINE_METHOD float +PhysicalHairLobe::Mp(float cosThetaI, float cosThetaO, + float sinThetaI, float sinThetaO, float v) +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + constexpr auto fast_log = BSDLConfig::Fast::logf; + + float a = cosThetaI * cosThetaO / v; + float b = sinThetaI * sinThetaO / v; + assert(!std::isnan(a)); + assert(!std::isnan(b)); + float mp = v <= .1f ? fast_exp(log_bessi0(a) - b - 1 / v + 0.6931f + + fast_log(1 / (2 * v))) + : bessi0_time_exp(a, -b) / (fast_sinh(1 / v) * 2 * v); + assert(mp == mp); + return mp; +} + +template +BSDL_INLINE_METHOD float +PhysicalHairLobe::Phi(int p, float gammaO, float gammaT) +{ + if (p % 2 == 0) + return (2 * p) * gammaT - 2 * gammaO; + else + return (2 * p) * gammaT - 2 * gammaO - PI; +} + +template +BSDL_INLINE_METHOD float +PhysicalHairLobe::TrimmedLogistic(float x, float s) +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + + assert(x >= -PI); + assert(x <= PI); + const float t = std::min(fast_exp(PI / s), 1 / FLOAT_MIN); + const float y = std::max(fast_exp(-fabsf(x) / s), FLOAT_MIN); + return (t + 1) * y / ((t - 1) * s * SQR(1 + y)); +} + +template +BSDL_INLINE_METHOD float +PhysicalHairLobe::Np(float phi, int p, float s, float gammaO, + float gammaT) +{ + if (p == P_MAX) + return ONEOVERPI * 0.5f; + float dphi = phi - Phi(p, gammaO, gammaT); + if (dphi > PI) + dphi -= 2 * PI; + if (dphi < -PI) + dphi += 2 * PI; + return TrimmedLogistic(dphi, s); +} + +template +BSDL_INLINE_METHOD float +PhysicalHairLobe::SampleTrimmedLogistic(float u, float s) +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + constexpr auto fast_log = BSDLConfig::Fast::logf; + + const float t = std::min(fast_exp(PI / s), 1 / FLOAT_MIN); + const float x = -s * fast_log((1 + t) / (u * (1 - t) + t) - 1); + assert(!std::isnan(x)); + return CLAMP(x, -PI, PI); +} + +template +BSDL_INLINE_METHOD float +PhysicalHairLobe::RemapLongitudinalRoughness(float lr) +{ + // Roughness parametrization from http://pbrt.org/hair.pdf + const float lr_2 = SQR(lr); + const float lr_4 = SQR(lr_2); + const float lr_20 = SQR(SQR(lr_4)) * lr_4; + return SQR(0.726f * lr + 0.812f * lr_2 + 3.7f * lr_20); +} + +template +BSDL_INLINE_METHOD float +PhysicalHairLobe::RemapAzimuthalRoughness(float ar) +{ + // Roughness parametrization from http://pbrt.org/hair.pdf + const float ar_2 = SQR(ar); + const float ar_4 = SQR(ar_2); + const float ar_22 = SQR(SQR(ar_4)) * ar_4 * ar_2; + return SQRT_PI_OVER_8 * (.265f * ar + 1.194f * ar_2 + 5.372f * ar_22); +} + +template +BSDL_INLINE_METHOD float +HairDiffuseLobe::ecc2longrough(float ecc, float aniso) +{ + // We use d'Eon's M() longitudinal function and we map it to ecc this + // way so as the azimuthal side shrinks, this shrinks too. We square to + // match the visual linearity that ecc2s offers. + return SQR(LERP(fabsf(ecc), 1.0f, sqrtf(MIN_ROUGH))) * (1 - aniso); +} + +// Map eccentricity to logistic variance s +template +BSDL_INLINE_METHOD float +HairDiffuseLobe::ecc2s(float ecc, float aniso) +{ + // This mapping keeps it linear close to 0 without going too fast to + // infinity. In practice it gives a linear resonse in appearance. + const float roughness = LERP(fabsf(ecc) * (1 - aniso), 1.0f, MIN_ROUGH); + return roughness / sqrtf(1 - roughness); +} + +// These two functions map eccentricity to common BSDF roughness and back so +// we let roughness boost kick in modifying eccentricity. +template +BSDL_INLINE_METHOD float +HairDiffuseLobe::ecc2roughness(float ecc) +{ + return LERP(std::min(1.0f, fabsf(ecc)), 1.0f, MIN_ROUGH); +} + +template +BSDL_INLINE_METHOD float +HairDiffuseLobe::roughness2ecc(float rough, float ecc) +{ + return copysign(LERP(LINEARSTEP(MIN_ROUGH, 1.0f, rough), 1.0f, 0.0f), ecc); +} + +template +template +BSDL_INLINE_METHOD +HairDiffuseLobe::HairDiffuseLobe(T* lobe, const BsdfGlobals& globals, + const Data& data) + : Base(lobe, data.T, globals.wo, + globals.regularize_roughness(ecc2roughness(data.eccentricity)), + globals.lambda_0, true) +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, false); + const float R = Base::roughness(); + eccentricity = roughness2ecc(R, data.eccentricity); + // Fade out anisotropy with ecc so it also goes away with depth + anisotropy = CLAMP(data.anisotropy, 0.0f, 1.0f) * fabsf(eccentricity); + const float cos_o = CLAMP(data.T.dot(globals.wo), -1.0f, 1.0f); + // Divide by IOR to get the refracted ray sine + const float sin_t = sqrtf(1 - SQR(cos_o / std::max(data.IOR, 1.001f))); + // We tried the sine weighted average for 1 / sin_t = 0.5f * PI but using + // the actual value gives more color variation at grazing angles + const float flatten = CLAMP(data.flatten_density, 0.0f, 1.0f); + const float d = LERP(flatten, 1 / sin_t, 1.0f); + + Power abs = globals.wave(data.absorption); + color = Power([&](int i) { return fast_exp(-abs[i] * d); }, + globals.lambda_0); +} + +template +BSDL_INLINE_METHOD Sample +HairDiffuseLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + const float cos_o = CLAMP(wo.z, -1.0f, 1.0f); + const float sin_o = sqrtf(1 - SQR(cos_o)); + const float cos_i = CLAMP(wi.z, -1.0f, 1.0f); + const float sin_i = sqrtf(1 - SQR(cos_i)); + // Flip the lobe depending on eccentricity sign + const float flip = eccentricity >= 0 ? -1 : 1; + const float phi = fast_atan2(wi.y, wi.x * flip); + const float s = ecc2s(eccentricity, anisotropy); + const float v = PhysicalHairLobe::RemapLongitudinalRoughness( + ecc2longrough(eccentricity, anisotropy)); + const float D_theta = PhysicalHairLobe::Mp(sin_i, sin_o, cos_i, + cos_o, v); + const float D_phi = fabsf(eccentricity) > 0.001f + ? PhysicalHairLobe::TrimmedLogistic(phi, + s) + : 0.5f * ONEOVERPI; // Isotropic + return { wi, color, D_theta * D_phi, Base::roughness() }; +} + +template +BSDL_INLINE_METHOD Sample +HairDiffuseLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& rnd) const +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + constexpr auto fast_log = BSDLConfig::Fast::logf; + constexpr auto fast_cos = BSDLConfig::Fast::cosf; + + const float cos_o = CLAMP(wo.z, -1.0f, 1.0f); + const float sin_o = sqrtf(1 - SQR(cos_o)); + + // Sample M + const float v = PhysicalHairLobe::RemapLongitudinalRoughness( + ecc2longrough(eccentricity, anisotropy)); + const float x = MAX(rnd.x, 1e-5f); + float sin_theta_m = 1 + v * fast_log(x + (1 - x) * fast_exp(-2 / v)); + float cos_theta_m = sqrtf(MAX(1 - SQR(sin_theta_m), 0.0f)); + float cos_p = fast_cos(2 * PI * rnd.y); + float cos_theta = -sin_theta_m * cos_o + cos_theta_m * cos_p * sin_o; + float sin_theta = sqrtf(MAX(1 - SQR(cos_theta), 0.0f)); + + // Flip scattered phi depending on ecc sign + const float flip = eccentricity >= 0 ? -1 : 1; + const float s = ecc2s(eccentricity, anisotropy); + const float phi + = fabsf(eccentricity) > 0.001f + ? PhysicalHairLobe::SampleTrimmedLogistic(rnd.z, s) + : (rnd.z * 2 - 1) * PI; // Isotropic + float sin_phi, cos_phi; + fast_sincos(phi, &sin_phi, &cos_phi); + const Imath::V3f wi = { sin_theta * cos_phi * flip, sin_theta * sin_phi, + cos_theta }; + return eval_impl(wo, wi); +} + +template +BSDL_INLINE_METHOD float +HairDiffuseLobe::albedo2absorption(float x, float g) +{ + // We simulate scattering in a hair cube and run it for 11 eccentricities from + // -1 to 1 and 32 absorption values from 0 to 1 (non uniform, log^2), then + // record the results tabulated as eccentricity, resulting albedo, absorption + // which for gnuplot will be x, y, z in srf.txt. Then fit with this script: + // + // set xrange[-1:1] # eccentricity + // set yrange[0.05:1] # ignore dark albedos, we don't care for accuracy there + // f(x, y) = ((log(y) + g * (x - 1)**2 * (1 - (2*y - 1)**2)) / + // abs(a + b * x + c * x**2 + d * x**3 + e * x**4 + f * x**5 + 1))**2 + // a=b=c=d=e=f=g=1 + // fit f(x, y) "srf.txt" using 1:2:3:(1) via a, b, c, d, e, f, g + // set view 60, 60, 1, 2 + // splot "srf.txt", f(x, y) + + constexpr auto fast_log = BSDLConfig::Fast::logf; + + const float B + = 1 - SQR(2 * x - 1); // Useful shift to the log curve for fitting + // Avoid returning inf for 0.0 albedo + return MIN( + BIG, + SQR((fast_log(x) - 0.0621599f * SQR(g - 1) * B) + / (2.3141f + + g + * (0.740211f + + g + * (-0.252978f + + g + * (0.910376f + + g * (2.79624f + g * 1.89986f))))))); +} + +template +BSDL_INLINE_METHOD Power +HairDiffuseLobe::albedo2absorption(Power x, float lambda_0, float g) +{ + return Power([&](int i) { return albedo2absorption(x[i], g); }, lambda_0); +} + +// This BSDF comes from PhysicalHairLobe but isolating either R or TRT +template +template +BSDL_INLINE_METHOD +HairSpecularLobe::HairSpecularLobe(T* lobe, + const BsdfGlobals& globals, + const Data& data) + : Base(lobe, data.T, globals.wo, + globals.regularize_roughness(data.lroughness), globals.lambda_0, + true) + , trt(data.trt) +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + constexpr auto fast_sin = BSDLConfig::Fast::sinf; + constexpr auto fast_asin = BSDLConfig::Fast::asinf; + + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, false); + const float input_ior = CLAMP(data.IOR, 1.001f, BIG); + const float eta = LERP(CLAMP(data.force_eta, 0.0f, 1.0f), + globals.relative_eta(input_ior), input_ior); + const float lrough = Base::roughness(); + const float arough = CLAMP(data.aroughness, 0.01f, 1.0f); + + // Compute hair coordinate system terms related to _wo_ + const float sinThetaO = CLAMP(globals.wo.dot(Base::frame.Z), -1.0f, 1.0f); + const float cosThetaO = sqrtf(1 - SQR(sinThetaO)); + + long_v = (trt ? 4 : 1) + * PhysicalHairLobe::RemapLongitudinalRoughness(lrough); + + // Azimuthal roughness + azim_s = PhysicalHairLobe::RemapAzimuthalRoughness(arough); + + // Compute alpha terms for hair scales + float sin2kAlpha_tmp[3], cos2kAlpha_tmp[3]; + sin2kAlpha_tmp[0] = fast_sin(data.offset); + cos2kAlpha_tmp[0] = sqrtf(1 - SQR(sin2kAlpha_tmp[0])); + for (int i = 1; i < 3; ++i) { + sin2kAlpha_tmp[i] = 2 * cos2kAlpha_tmp[i - 1] * sin2kAlpha_tmp[i - 1]; + cos2kAlpha_tmp[i] = SQR(cos2kAlpha_tmp[i - 1]) + - SQR(sin2kAlpha_tmp[i - 1]); + } + sin2kAlpha = sin2kAlpha_tmp[trt ? 2 : 1]; + cos2kAlpha = cos2kAlpha_tmp[trt ? 2 : 1]; + + gammaO = fast_asin(data.h); + + // Compute $\cos \thetat$ for refracted ray + float sinThetaT = sinThetaO / eta; + + // Compute $\gammat$ for refracted ray + float etap = sqrtf(SQR(eta) - SQR(sinThetaO)) / cosThetaO; + float sinGammaT = data.h / etap; + float cosGammaT = sqrtf(1 - SQR(sinGammaT)); + gammaT = fast_asin(sinGammaT); + + // Compute $p=0$ attenuation at initial cylinder intersection + const float cosGammaO = sqrtf(MAX(1 - SQR(data.h), 0.0f)); + const float cosTheta = cosThetaO * cosGammaO; + const float f = fresnel_dielectric(cosTheta, eta); + if (trt) { + float cosThetaT = sqrtf(MAX(1 - SQR(sinThetaT), 0.0f)); + // Compute the transmittance _T_ of a single path through the cylinder + const float flatten = CLAMP(data.flatten_density, 0.0f, 1.0f); + float l = LERP(flatten, 2 * cosGammaT / cosThetaT, 1.0f); + + Power absorption = globals.wave(data.absorption); + Power tau([&](int i) { return fast_exp(-absorption[i] * l); }, + globals.lambda_0); + + // First fresnel atten comes from layering if R is present. This makes + // putting R on top of TRT sensible, otherwise this would be SQR(1 - f) * f + color = (1 - f) * f * SQR(tau) * globals.wave(data.tint); + fresnel_term = (1 - f) * f; + } else { + color = f * globals.wave(data.tint); + fresnel_term = f; + } +} + +template +BSDL_INLINE_METHOD Sample +HairSpecularLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + constexpr auto fast_atan2 = BSDLConfig::Fast::atan2f; + + const float sinThetaI = CLAMP(wi.z, -1.0f, 1.0f); + const float cosThetaI = sqrtf(1 - SQR(sinThetaI)); + const float sinThetaO = CLAMP(wo.z, -1.0f, 1.0f); + const float cosThetaO = sqrtf(1 - SQR(sinThetaO)); + const float phiI = fast_atan2(wi.y, wi.x); + + const float phiO = 0; + const float phi = phiI - phiO; + + Power weight = color; + // Compute sin/cos theta to account for scales + float sinThetaOp, cosThetaOp; + if (trt) { + sinThetaOp = sinThetaO * cos2kAlpha + cosThetaO * sin2kAlpha; + cosThetaOp = cosThetaO * cos2kAlpha - sinThetaO * sin2kAlpha; + } else { + sinThetaOp = sinThetaO * cos2kAlpha - cosThetaO * sin2kAlpha; + cosThetaOp = cosThetaO * cos2kAlpha + sinThetaO * sin2kAlpha; + } + // handle out of range from scale adjustment + cosThetaOp = fabsf(cosThetaOp); + int p = trt ? 2 : 0; + + const float pdf + = PhysicalHairLobe::Mp(cosThetaI, cosThetaOp, sinThetaI, + sinThetaOp, long_v) + * PhysicalHairLobe::Np(phi, p, azim_s, gammaO, gammaT); + + return { wi, weight, pdf, Base::roughness() }; +} + +template +BSDL_INLINE_METHOD Sample +HairSpecularLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& _rnd) const +{ + constexpr auto fast_log = BSDLConfig::Fast::logf; + constexpr auto fast_sincos = BSDLConfig::Fast::sincosf; + + const float sinThetaO = CLAMP(wo.z, -1.0f, 1.0f); + const float cosThetaO = sqrtf(1 - SQR(sinThetaO)); + Imath::V3f rnd = _rnd; + // Update sin/cos thetao to account for scales + float sinThetaOp, cosThetaOp; + if (trt) { + sinThetaOp = sinThetaO * cos2kAlpha + cosThetaO * sin2kAlpha; + cosThetaOp = cosThetaO * cos2kAlpha - sinThetaO * sin2kAlpha; + } else { + sinThetaOp = sinThetaO * cos2kAlpha - cosThetaO * sin2kAlpha; + cosThetaOp = cosThetaO * cos2kAlpha + sinThetaO * sin2kAlpha; + } + + // Sample $M_p$ to compute $\thetai$ + rnd.x = std::max(rnd.x, 1e-5f); + float cosTheta + = 1 + long_v * fast_log(rnd.x + (1 - rnd.x) * fast_exp(-2 / long_v)); + float sinTheta = sqrtf(MAX(1 - SQR(cosTheta), 0.0f)); + float cosPhi = fast_cos(2 * PI * rnd.y); + float sinThetaI = -cosTheta * sinThetaOp + sinTheta * cosPhi * cosThetaOp; + float cosThetaI = sqrtf(MAX(1 - SQR(sinThetaI), 0.0f)); + int p = trt ? 2 : 0; + + // Sample N_p to compute delta_phi + float dphi = PhysicalHairLobe::Phi(p, gammaO, gammaT) + + PhysicalHairLobe::SampleTrimmedLogistic(rnd.z, + azim_s); + // Compute wi from sampled hair scattering angles + const float phiO = 0; + float phiI = phiO + dphi; + float cos_phi_i, sin_phi_i; + fast_sincos(phiI, &sin_phi_i, &cos_phi_i); + + Imath::V3f wi = { cos_phi_i * cosThetaI, sin_phi_i * cosThetaI, sinThetaI }; + return eval_impl(wo, wi); +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_decl.h new file mode 100644 index 000000000..cbe6a2e2f --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_decl.h @@ -0,0 +1,125 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +struct SheenLTC { + // describe how tabulation should be done + static constexpr int Nc = 16; + static constexpr int Nr = 16; + static constexpr int Nf = 1; + static constexpr int ltcRes = 32; + + explicit BSDL_INLINE_METHOD SheenLTC(float rough) + : roughness(CLAMP(rough, 0.0f, 1.0f)) + { + } + // This constructor is just for baking albedo tables + explicit SheenLTC(float, float rough, float) : roughness(rough) {} + + static constexpr const char* name() { return "sheen_ltc"; } + + static constexpr float get_cosine(int i) + { + return std::max(float(i) * (1.0f / (Nc - 1)), 1e-6f); + } + + BSDL_INLINE_METHOD Sample eval(Imath::V3f wo, Imath::V3f wi) const; + BSDL_INLINE_METHOD Sample sample(Imath::V3f wo, float randu, float randv, + float randw) const; + + struct Energy { + float data[Nf * Nr * Nc]; + }; + struct Param { + Imath::V3f data[32][32]; + }; + + static BSDL_INLINE_METHOD Energy& get_energy(); + + typedef const Imath::V3f (*V32_array)[32]; + static BSDL_INLINE_METHOD V32_array param_ptr(); + + static const char* lut_header() { return "bsdf_sheenltc_luts.h"; } + static const char* struct_name() { return "SheenLTC"; } + + BSDL_INLINE_METHOD float calculate_phi(const Imath::V3f& v) const; + BSDL_INLINE_METHOD bool same_hemisphere(const Imath::V3f& wo, + const Imath::V3f& wi) const; + + BSDL_INLINE_METHOD float get_roughness() const { return roughness; } + + BSDL_INLINE_METHOD void albedo_range(float& min_albedo, + float& max_albedo) const; + BSDL_INLINE_METHOD void compute_scale(float& scale) const; + + // Fetch the LTC coefficients by bilinearly interpolating entries in a 32x32 + // lookup table. + BSDL_INLINE_METHOD Imath::V3f fetchCoeffs(const Imath::V3f& wo) const; + // Evaluate the LTC distribution in its local coordinate system. + BSDL_INLINE_METHOD float evalLTC(const Imath::V3f& wi, + const Imath::V3f& ltcCoeffs) const; + // Sample from the LTC distribution in its local coordinate system. + BSDL_INLINE_METHOD Imath::V3f sampleLTC(const Imath::V3f& ltcCoeffs, + float randu, float randv) const; + +private: + float roughness; +}; + +template struct SheenLTCLobe : public Lobe { + using Base = Lobe; + struct Data : public LayeredData { + Imath::V3f N; + Imath::C3f tint; + float roughness; + int doublesided; + using lobe_type = SheenLTCLobe; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::closure), R::param(&D::N), R::param(&D::tint), + R::param(&D::roughness), + R::param(&D::doublesided, "doublesided"), R::close() } }; + } + + template + BSDL_INLINE_METHOD SheenLTCLobe(T*, const BsdfGlobals& globals, + const Data& data); + + static const char* name() { return "sheen_ltc"; } + + BSDL_INLINE_METHOD Power albedo_impl() const { return Power(1 - Eo, 1); } + BSDL_INLINE_METHOD Power filter_o(const Imath::V3f& wo) const + { + return Power(Eo, 1); + } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& sample) const; + +private: + SheenLTC sheenLTC; + Power tint; + float Eo; + bool back; +}; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_impl.h new file mode 100644 index 000000000..0f3ec5ab7 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_impl.h @@ -0,0 +1,245 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include +#ifndef BAKE_BSDL_TABLES +# include +#endif + +BSDL_ENTER_NAMESPACE + +namespace spi { + +BSDL_INLINE_METHOD Sample +SheenLTC::eval(Imath::V3f wo, Imath::V3f wi) const +{ + assert(wo.z >= 0); + assert(wi.z >= 0); + + // Rotate coordinate frame to align with incident direction wo. + float phiStd = calculate_phi(wo); + Imath::V3f wiStd = rotate(wi, { 0, 0, 1 }, -phiStd); + + // Evaluate the LTC distribution in aligned coordinates. + Imath::V3f ltcCoeffs = fetchCoeffs(wo); + float pdf = evalLTC(wiStd, ltcCoeffs); + float R = 1.333814f * ltcCoeffs.z; // reflectance + Power col = Power(R, 1); + + return { wi, col, pdf, roughness }; +} + +BSDL_INLINE_METHOD Sample +SheenLTC::sample(Imath::V3f wo, float randu, float randv, float randw) const +{ + // Sample from the LTC distribution in aligned coordinates. + Imath::V3f wiStd = sampleLTC(fetchCoeffs(wo), randu, randv); + + // Rotate coordinate frame based on incident direction wo. + float phiStd = calculate_phi(wo); + Imath::V3f wi = rotate(wiStd, { 0, 0, 1 }, +phiStd); + + if (!same_hemisphere(wo, wi)) + return {}; + + return eval(wo, wi); +} + +BSDL_INLINE_METHOD float +SheenLTC::calculate_phi(const Imath::V3f& v) const +{ + float p = BSDLConfig::Fast::atan2f(v.y, v.x); + if (p < 0) { + p += 2 * PI; + } + return p; +} + +BSDL_INLINE_METHOD bool +SheenLTC::same_hemisphere(const Imath::V3f& wo, const Imath::V3f& wi) const +{ + return wo.z * wi.z > 0; +} + +BSDL_INLINE_METHOD void +SheenLTC::albedo_range(float& min_albedo, float& max_albedo) const +{ + const V32_array param = param_ptr(); + min_albedo = max_albedo = 0; + for (int i = 0; i < ltcRes; ++i) + for (int j = 0; j < ltcRes; ++j) { + Imath::V3f v = param[i][j]; + float R = v.z; // reflectance + if (i == 0 && j == 0) { + min_albedo = max_albedo = R; + } else { + min_albedo = std::min(R, min_albedo); + max_albedo = std::max(R, max_albedo); + } + } +} + +BSDL_INLINE_METHOD void +SheenLTC::compute_scale(float& scale) const +{ + float min_albedo = 0, max_albedo = 0; + albedo_range(min_albedo, max_albedo); + + if (max_albedo == 0) { + scale = 0; + } else { + scale = 1.0f / max_albedo; + } +} + +// The following functions, and the data arrays ltcParamTableVolume and ltcParamTableApprox, +// are translated from the code repository https://github.com/tizian/ltc-sheen, and the +// paper "Practical Multiple-Scattering Sheen Using Linearly Transformed Cosines", by Tizian +// Zeltner, Brent Burley, and Matt Jen-Yuan Chiang. + +// Fetch the LTC coefficients by bilinearly interpolating entries in a 32x32 +// lookup table. */ +BSDL_INLINE_METHOD Imath::V3f +SheenLTC::fetchCoeffs(const Imath::V3f& wo) const +{ + // Compute table indices and interpolation factors. + float row = CLAMP(roughness, 0.0f, ALMOSTONE) * (ltcRes - 1); + float col = CLAMP(wo.z, 0.0f, ALMOSTONE) * (ltcRes - 1); + float r = std::floor(row); + float c = std::floor(col); + float rf = row - r; + float cf = col - c; + int ri = (int)r; + int ci = (int)c; + + const V32_array param = param_ptr(); + // Bilinear interpolation + Imath::V3f coeffs; + const Imath::V3f v1 = param[ri][ci]; + const Imath::V3f v2 = param[ri][ci + 1]; + const Imath::V3f v3 = param[ri + 1][ci]; + const Imath::V3f v4 = param[ri + 1][ci + 1]; + coeffs = LERP(rf, LERP(cf, v1, v2), LERP(cf, v3, v4)); + return coeffs; +} + +// Evaluate the LTC distribution in its local coordinate system. +BSDL_INLINE_METHOD float +SheenLTC::evalLTC(const Imath::V3f& wi, const Imath::V3f& ltcCoeffs) const +{ + // The (inverse) transform matrix `M^{-1}` is given by: + // [[aInv 0 bInv] + // M^{-1} = [0 aInv 0 ] + // [0 0 1 ]] + // with `aInv = ltcCoeffs[0]`, `bInv = ltcCoeffs[1]` fetched from the + // table. The transformed direction `wiOriginal` is therefore: + // [[aInv * wi.x + bInv * wi.z] + // wiOriginal = M^{-1} * wi = [aInv * wi.y ] + // [wi.z ]] + // which is subsequently normalized. The determinant of the matrix is + // |M^{-1}| = aInv * aInv + // which is used to compute the Jacobian determinant of the complete + // mapping including the normalization. + // See the original paper [Heitz et al. 2016] for details about the LTC + // itself. + float aInv = ltcCoeffs.x, bInv = ltcCoeffs.y; + Imath::V3f wiOriginal = { aInv * wi.x + bInv * wi.z, aInv * wi.y, wi.z }; + const float length = wiOriginal.length(); + wiOriginal *= 1.0f / length; + float det = aInv * aInv; + float jacobian = det / (length * length * length); + + return wiOriginal.z * ONEOVERPI * jacobian; +} + +// Sample from the LTC distribution in its local coordinate system. +BSDL_INLINE_METHOD Imath::V3f +SheenLTC::sampleLTC(const Imath::V3f& ltcCoeffs, float randu, float randv) const +{ + // The (inverse) transform matrix `M^{-1}` is given by: + // [[aInv 0 bInv] + // M^{-1} = [0 aInv 0 ] + // [0 0 1 ]] + // with `aInv = ltcCoeffs[0]`, `bInv = ltcCoeffs[1]` fetched from the + // table. The non-inverted matrix `M` is therefore: + // [[1/aInv 0 -bInv/aInv] + // M = [0 1/aInv 0 ] + // [0 0 1 ]] + // and the transformed direction wi is: + // [[wiOriginal.x/aInv - wiOriginal.z*bInv/aInv] + // wi = M * wiOriginal = [wiOriginal.y/aInv ] + // [wiOriginal.z ]] + // which is subsequently normalized. + // See the original paper [Heitz et al. 2016] for details about the LTC + // itself. + Imath::V3f wiOriginal = sample_uniform_hemisphere(randu, randv); + + float aInv = ltcCoeffs.x, bInv = ltcCoeffs.y; + Imath::V3f wi = { wiOriginal.x / aInv - wiOriginal.z * bInv / aInv, + wiOriginal.y / aInv, wiOriginal.z }; + return wi.normalized(); +} + +template +template +BSDL_INLINE_METHOD +SheenLTCLobe::SheenLTCLobe(T* lobe, const BsdfGlobals& globals, + const Data& data) + : Base(lobe, globals.visible_normal(data.N), data.roughness, + globals.lambda_0, false) + , sheenLTC(CLAMP(globals.regularize_roughness(data.roughness), 0.0f, 1.0f)) + , tint(globals.wave(data.tint)) + , back(data.doublesided ? false : globals.backfacing) +{ + Base::sample_filter = globals.get_sample_filter(Base::frame.Z, true); + TabulatedEnergyCurve curve(sheenLTC.get_roughness(), 0); + // Get energy compensation taking tint into account + Eo = back ? 1 + : 1 + - std::min( + (1 - curve.Emiss_eval(Base::frame.Z.dot(globals.wo))) + * tint.max(), + 1.0f); +} + +template +BSDL_INLINE_METHOD Sample +SheenLTCLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + const float cosNO = wo.z; + const float cosNI = wi.z; + const bool isrefl = cosNI > 0 && cosNO >= 0; + const bool doself = isrefl && !back; + + Sample s = {}; + if (doself) { + s = sheenLTC.eval(wo, wi); // Return a grayscale sheen. + s.weight *= tint; + } + return s; +} + +template +BSDL_INLINE_METHOD Sample +SheenLTCLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& sample) const +{ + const bool doself = !back; + + if (!doself) + return {}; + + Sample s = sheenLTC.sample(wo, sample.x, sample.y, sample.z); + s.weight *= tint; + return s; +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_param.h b/src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_param.h new file mode 100644 index 000000000..4f09596ff --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_sheenltc_param.h @@ -0,0 +1,282 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +BSDL_INLINE_METHOD SheenLTC::V32_array +SheenLTC::param_ptr() +{ + static Param param = { { + // clang-format off + {{ 0.01415, 0.00060, 0.00001 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }}, + {{ 0.01941, -0.00232, 0.05839 }, { 0.01741, -0.00581, 0.00071 }, { 0.04610, -0.00769, 0.00007 }, { 0.10367, -0.00740, 0.00002 }, + { 0.06244, -0.02445, 0.00000 }, { 0.23927, -0.00242, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }}, + {{ 0.01927, -0.01424, 0.38834 }, { 0.01895, -0.00218, 0.09768 }, { 0.03002, -0.00194, 0.01072 }, { 0.03912, -0.00384, 0.00150 }, + { 0.04938, -0.00668, 0.00039 }, { 0.05239, -0.01107, 0.00012 }, { 0.06018, -0.00746, 0.00006 }, { 0.06520, -0.01591, 0.00003 }, + { 0.08253, -0.01052, 0.00002 }, { 0.21093, -0.01495, 0.00002 }, { 0.12785, -0.01530, 0.00001 }, { 0.19030, -0.01428, 0.00001 }, + { 0.15254, -0.01276, 0.00000 }, { 0.16585, -0.02071, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }}, + {{ 0.03084, -0.04909, 0.55348 }, { 0.03764, -0.00710, 0.29827 }, { 0.03952, -0.00236, 0.11755 }, { 0.04092, -0.00201, 0.03677 }, + { 0.04433, -0.00298, 0.00983 }, { 0.05014, -0.00546, 0.00288 }, { 0.05570, -0.00834, 0.00101 }, { 0.06215, -0.01121, 0.00046 }, + { 0.06660, -0.01294, 0.00023 }, { 0.07902, -0.01692, 0.00014 }, { 0.10099, -0.01639, 0.00010 }, { 0.10794, -0.01738, 0.00006 }, + { 0.10632, -0.02032, 0.00004 }, { 0.12623, -0.01947, 0.00003 }, { 0.13931, -0.02354, 0.00002 }, { 0.15353, -0.02910, 0.00002 }, + { 0.16109, -0.02565, 0.00001 }, { 0.14583, -0.02903, 0.00001 }, { 0.27891, -0.03066, 0.00001 }, { 0.22622, -0.03044, 0.00001 }, + { 0.18932, -0.04045, 0.00001 }, { 0.20219, -0.03226, 0.00000 }, { 0.30269, -0.03443, 0.00000 }, { 0.38379, -0.03023, 0.00000 }, + { 0.39038, -0.03610, 0.00000 }, { 0.46310, -0.02022, 0.00000 }, { 0.44663, -0.02590, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, + { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }, { 0.00000, 0.00000, 0.00000 }}, + {{ 0.04118, -0.10668, 0.63273 }, { 0.05152, -0.02772, 0.42999 }, { 0.05724, -0.00717, 0.24931 }, { 0.05863, -0.00421, 0.13040 }, + { 0.05952, -0.00351, 0.05910 }, { 0.06149, -0.00399, 0.02430 }, { 0.06448, -0.00522, 0.00981 }, { 0.07004, -0.00676, 0.00433 }, + { 0.07774, -0.00866, 0.00200 }, { 0.08632, -0.01099, 0.00105 }, { 0.09629, -0.01332, 0.00062 }, { 0.10592, -0.01590, 0.00039 }, + { 0.10718, -0.01724, 0.00024 }, { 0.12207, -0.02041, 0.00018 }, { 0.13413, -0.02237, 0.00013 }, { 0.13702, -0.02503, 0.00009 }, + { 0.15294, -0.02664, 0.00008 }, { 0.15121, -0.02803, 0.00006 }, { 0.17652, -0.03188, 0.00005 }, { 0.19532, -0.03147, 0.00004 }, + { 0.20831, -0.03346, 0.00003 }, { 0.19762, -0.03476, 0.00002 }, { 0.24202, -0.03464, 0.00002 }, { 0.32995, -0.03125, 0.00002 }, + { 0.30857, -0.03303, 0.00002 }, { 0.39596, -0.03009, 0.00002 }, { 0.38346, -0.03198, 0.00001 }, { 0.42503, -0.02518, 0.00001 }, + { 0.41592, -0.03195, 0.00001 }, { 0.42512, -0.01668, 0.00001 }, { 0.36714, -0.02978, 0.00001 }, { 0.46502, -0.00394, 0.00001 }}, + {{ 0.05088, -0.16006, 0.67021 }, { 0.06485, -0.05552, 0.50797 }, { 0.07697, -0.01274, 0.34475 }, { 0.08334, -0.00932, 0.22264 }, + { 0.08654, -0.00582, 0.13300 }, { 0.08950, -0.00507, 0.07375 }, { 0.09263, -0.00531, 0.03867 }, { 0.09711, -0.00616, 0.02006 }, + { 0.10113, -0.00792, 0.01032 }, { 0.10913, -0.00949, 0.00570 }, { 0.11586, -0.01167, 0.00324 }, { 0.12425, -0.01421, 0.00197 }, + { 0.12986, -0.01635, 0.00122 }, { 0.13530, -0.01858, 0.00080 }, { 0.15037, -0.02237, 0.00059 }, { 0.15165, -0.02450, 0.00040 }, + { 0.15858, -0.02714, 0.00030 }, { 0.16660, -0.03145, 0.00022 }, { 0.18051, -0.03321, 0.00018 }, { 0.18022, -0.03295, 0.00013 }, + { 0.19896, -0.03492, 0.00012 }, { 0.21095, -0.03365, 0.00009 }, { 0.21862, -0.03733, 0.00008 }, { 0.23861, -0.03930, 0.00007 }, + { 0.25384, -0.03879, 0.00006 }, { 0.27394, -0.03580, 0.00005 }, { 0.28563, -0.04089, 0.00004 }, { 0.29160, -0.03604, 0.00003 }, + { 0.29300, -0.03863, 0.00003 }, { 0.33458, -0.03575, 0.00002 }, { 0.36514, -0.02621, 0.00002 }, { 0.38746, 0.00124, 0.00002 }}, + {{ 0.06054, -0.18133, 0.68765 }, { 0.07710, -0.08871, 0.55387 }, { 0.09569, -0.02800, 0.41042 }, { 0.10917, -0.01456, 0.29613 }, + { 0.11813, -0.01052, 0.20481 }, { 0.12469, -0.00904, 0.13463 }, { 0.12958, -0.00864, 0.08432 }, { 0.13406, -0.00898, 0.05135 }, + { 0.13801, -0.01019, 0.03073 }, { 0.14324, -0.01110, 0.01861 }, { 0.14801, -0.01354, 0.01132 }, { 0.15359, -0.01614, 0.00706 }, + { 0.15945, -0.01922, 0.00454 }, { 0.16688, -0.02116, 0.00304 }, { 0.17552, -0.02363, 0.00212 }, { 0.17956, -0.02606, 0.00145 }, + { 0.18275, -0.02887, 0.00102 }, { 0.19293, -0.03270, 0.00078 }, { 0.20081, -0.03492, 0.00059 }, { 0.20817, -0.03607, 0.00046 }, + { 0.21658, -0.03714, 0.00036 }, { 0.22866, -0.03827, 0.00030 }, { 0.23912, -0.03832, 0.00025 }, { 0.24736, -0.03918, 0.00020 }, + { 0.26573, -0.04071, 0.00017 }, { 0.26821, -0.04382, 0.00013 }, { 0.28767, -0.03860, 0.00012 }, { 0.30592, -0.03690, 0.00010 }, + { 0.31228, -0.04032, 0.00008 }, { 0.35297, -0.03136, 0.00008 }, { 0.35570, -0.02365, 0.00006 }, { 0.37077, -0.00281, 0.00006 } }, + {{ 0.07075, -0.18042, 0.69478 }, { 0.08974, -0.10806, 0.58263 }, { 0.11306, -0.04959, 0.45689 }, { 0.13241, -0.02418, 0.35318 }, + { 0.14704, -0.01632, 0.26617 }, { 0.15763, -0.01333, 0.19342 }, { 0.16591, -0.01204, 0.13650 }, { 0.17258, -0.01177, 0.09391 }, + { 0.17781, -0.01198, 0.06299 }, { 0.18234, -0.01284, 0.04183 }, { 0.18700, -0.01408, 0.02782 }, { 0.19101, -0.01571, 0.01845 }, + { 0.19657, -0.01794, 0.01259 }, { 0.20165, -0.02041, 0.00864 }, { 0.20731, -0.02235, 0.00604 }, { 0.21150, -0.02516, 0.00421 }, + { 0.21692, -0.02822, 0.00303 }, { 0.22536, -0.03168, 0.00228 }, { 0.23235, -0.03631, 0.00172 }, { 0.23720, -0.03840, 0.00129 }, + { 0.24295, -0.04024, 0.00099 }, { 0.25154, -0.04645, 0.00079 }, { 0.26200, -0.04435, 0.00066 }, { 0.26907, -0.04644, 0.00052 }, + { 0.28040, -0.04369, 0.00044 }, { 0.28922, -0.05007, 0.00034 }, { 0.30452, -0.04809, 0.00029 }, { 0.31567, -0.04719, 0.00024 }, + { 0.33294, -0.04179, 0.00021 }, { 0.35084, -0.03537, 0.00019 }, { 0.37226, -0.02633, 0.00017 }, { 0.37956, 0.00196, 0.00013 } }, + {{ 0.08222, -0.17531, 0.69794 }, { 0.10394, -0.13135, 0.60100 }, { 0.13034, -0.08092, 0.49085 }, { 0.15361, -0.04065, 0.39802 }, + { 0.17244, -0.02431, 0.31773 }, { 0.18620, -0.01864, 0.24683 }, { 0.19671, -0.01620, 0.18787 }, { 0.20509, -0.01498, 0.13964 }, + { 0.21199, -0.01460, 0.10220 }, { 0.21726, -0.01487, 0.07319 }, { 0.22245, -0.01549, 0.05252 }, { 0.22702, -0.01665, 0.03747 }, + { 0.23174, -0.01802, 0.02685 }, { 0.23571, -0.01985, 0.01915 }, { 0.23966, -0.02185, 0.01375 }, { 0.24384, -0.02424, 0.00996 }, + { 0.24877, -0.02636, 0.00733 }, { 0.25548, -0.02871, 0.00552 }, { 0.26047, -0.03133, 0.00415 }, { 0.26863, -0.03455, 0.00322 }, + { 0.27404, -0.03705, 0.00247 }, { 0.28088, -0.03931, 0.00194 }, { 0.29010, -0.04546, 0.00157 }, { 0.29704, -0.04797, 0.00126 }, + { 0.30559, -0.04990, 0.00102 }, { 0.31519, -0.04903, 0.00082 }, { 0.32721, -0.04842, 0.00069 }, { 0.33828, -0.04495, 0.00059 }, + { 0.35424, -0.04310, 0.00048 }, { 0.36868, -0.03925, 0.00042 }, { 0.38570, -0.02709, 0.00037 }, { 0.39707, 0.00103, 0.00030 } }, + {{ 0.09597, -0.17397, 0.69862 }, { 0.11972, -0.15003, 0.61474 }, { 0.14796, -0.10394, 0.51662 }, { 0.17350, -0.06278, 0.43321 }, + { 0.19481, -0.03698, 0.35989 }, { 0.21136, -0.02667, 0.29352 }, { 0.22369, -0.02186, 0.23483 }, { 0.23330, -0.01962, 0.18491 }, + { 0.24109, -0.01854, 0.14298 }, { 0.24787, -0.01810, 0.10960 }, { 0.25359, -0.01829, 0.08309 }, { 0.25878, -0.01882, 0.06268 }, + { 0.26320, -0.01990, 0.04689 }, { 0.26831, -0.02103, 0.03539 }, { 0.27305, -0.02243, 0.02666 }, { 0.27810, -0.02425, 0.02015 }, + { 0.28206, -0.02611, 0.01519 }, { 0.28734, -0.02809, 0.01160 }, { 0.29228, -0.03045, 0.00888 }, { 0.29719, -0.03211, 0.00683 }, + { 0.30256, -0.03413, 0.00531 }, { 0.30857, -0.03666, 0.00417 }, { 0.31652, -0.03882, 0.00334 }, { 0.32438, -0.04150, 0.00270 }, + { 0.33291, -0.04323, 0.00220 }, { 0.34012, -0.04376, 0.00178 }, { 0.35087, -0.04590, 0.00148 }, { 0.36243, -0.04591, 0.00123 }, + { 0.37467, -0.04202, 0.00101 }, { 0.38986, -0.03859, 0.00087 }, { 0.40394, -0.03046, 0.00073 }, { 0.41719, 0.00025, 0.00061 } }, + {{ 0.11173, -0.17686, 0.69840 }, { 0.13694, -0.16229, 0.62456 }, { 0.16797, -0.12071, 0.53780 }, { 0.19358, -0.08778, 0.46227 }, + { 0.21571, -0.05746, 0.39486 }, { 0.23427, -0.03882, 0.33234 }, { 0.24900, -0.03044, 0.27724 }, { 0.26011, -0.02620, 0.22722 }, + { 0.26884, -0.02412, 0.18345 }, { 0.27668, -0.02290, 0.14737 }, { 0.28326, -0.02247, 0.11687 }, { 0.28928, -0.02235, 0.09223 }, + { 0.29445, -0.02283, 0.07219 }, { 0.29932, -0.02349, 0.05639 }, { 0.30454, -0.02444, 0.04424 }, { 0.30943, -0.02562, 0.03460 }, + { 0.31431, -0.02725, 0.02709 }, { 0.31861, -0.02859, 0.02113 }, { 0.32326, -0.03047, 0.01656 }, { 0.32881, -0.03199, 0.01309 }, + { 0.33479, -0.03417, 0.01041 }, { 0.34094, -0.03618, 0.00831 }, { 0.34705, -0.03771, 0.00665 }, { 0.35341, -0.03920, 0.00534 }, + { 0.36079, -0.04070, 0.00434 }, { 0.36863, -0.04138, 0.00355 }, { 0.37512, -0.04066, 0.00288 }, { 0.38607, -0.04125, 0.00241 }, + { 0.39611, -0.03916, 0.00200 }, { 0.41085, -0.03764, 0.00170 }, { 0.42341, -0.02956, 0.00142 }, { 0.43959, 0.00020, 0.00123 } }, + {{ 0.12869, -0.17952, 0.69766 }, { 0.15653, -0.16921, 0.63215 }, { 0.18847, -0.13634, 0.55391 }, { 0.21397, -0.10854, 0.48615 }, + { 0.23632, -0.08164, 0.42355 }, { 0.25652, -0.05663, 0.36707 }, { 0.27273, -0.04256, 0.31348 }, { 0.28564, -0.03522, 0.26549 }, + { 0.29568, -0.03124, 0.22185 }, { 0.30413, -0.02895, 0.18403 }, { 0.31142, -0.02760, 0.15141 }, { 0.31801, -0.02688, 0.12380 }, + { 0.32424, -0.02653, 0.10104 }, { 0.32941, -0.02669, 0.08149 }, { 0.33479, -0.02714, 0.06598 }, { 0.33933, -0.02784, 0.05291 }, + { 0.34444, -0.02878, 0.04275 }, { 0.34892, -0.02988, 0.03428 }, { 0.35415, -0.03136, 0.02771 }, { 0.35873, -0.03261, 0.02222 }, + { 0.36457, -0.03429, 0.01807 }, { 0.36975, -0.03567, 0.01456 }, { 0.37684, -0.03742, 0.01195 }, { 0.38258, -0.03792, 0.00969 }, + { 0.39038, -0.03954, 0.00798 }, { 0.39755, -0.04002, 0.00653 }, { 0.40428, -0.04014, 0.00534 }, { 0.41192, -0.03889, 0.00441 }, + { 0.42141, -0.03739, 0.00368 }, { 0.43074, -0.03386, 0.00307 }, { 0.44659, -0.02810, 0.00264 }, { 0.46013, 0.00013, 0.00224 } }, + {{ 0.14693, -0.17953, 0.69641 }, { 0.17828, -0.17294, 0.63746 }, { 0.20991, -0.14837, 0.56861 }, { 0.23513, -0.12458, 0.50592 }, + { 0.25809, -0.10127, 0.44888 }, { 0.27850, -0.07912, 0.39646 }, { 0.29576, -0.05884, 0.34628 }, { 0.30999, -0.04715, 0.30001 }, + { 0.32128, -0.04041, 0.25727 }, { 0.33053, -0.03637, 0.21872 }, { 0.33854, -0.03401, 0.18530 }, { 0.34549, -0.03244, 0.15569 }, + { 0.35212, -0.03165, 0.13073 }, { 0.35806, -0.03113, 0.10901 }, { 0.36371, -0.03104, 0.09059 }, { 0.36901, -0.03134, 0.07509 }, + { 0.37416, -0.03173, 0.06205 }, { 0.37907, -0.03225, 0.05112 }, { 0.38378, -0.03304, 0.04199 }, { 0.38887, -0.03406, 0.03458 }, + { 0.39366, -0.03515, 0.02839 }, { 0.39953, -0.03594, 0.02356 }, { 0.40534, -0.03728, 0.01946 }, { 0.41134, -0.03825, 0.01604 }, + { 0.41832, -0.03910, 0.01337 }, { 0.42583, -0.03960, 0.01115 }, { 0.43323, -0.03950, 0.00925 }, { 0.44084, -0.03877, 0.00766 }, + { 0.44897, -0.03647, 0.00639 }, { 0.45832, -0.03283, 0.00536 }, { 0.47095, -0.02659, 0.00456 }, { 0.48340, -0.00002, 0.00390 } }, + {{ 0.16755, -0.17802, 0.69548 }, { 0.20139, -0.17499, 0.64297 }, { 0.23191, -0.15708, 0.57917 }, { 0.25781, -0.13619, 0.52314 }, + { 0.28103, -0.11601, 0.47074 }, { 0.30124, -0.09763, 0.42115 }, { 0.31874, -0.07926, 0.37424 }, { 0.33379, -0.06262, 0.33015 }, + { 0.34648, -0.05277, 0.29017 }, { 0.35662, -0.04616, 0.25188 }, { 0.36536, -0.04217, 0.21825 }, { 0.37289, -0.03952, 0.18762 }, + { 0.37956, -0.03771, 0.16043 }, { 0.38585, -0.03664, 0.13705 }, { 0.39167, -0.03576, 0.11638 }, { 0.39736, -0.03561, 0.09898 }, + { 0.40272, -0.03531, 0.08360 }, { 0.40787, -0.03537, 0.07050 }, { 0.41311, -0.03577, 0.05948 }, { 0.41811, -0.03606, 0.04991 }, + { 0.42324, -0.03657, 0.04182 }, { 0.42871, -0.03725, 0.03523 }, { 0.43459, -0.03790, 0.02974 }, { 0.44015, -0.03830, 0.02485 }, + { 0.44634, -0.03850, 0.02085 }, { 0.45322, -0.03897, 0.01764 }, { 0.46073, -0.03886, 0.01489 }, { 0.46815, -0.03764, 0.01243 }, + { 0.47699, -0.03576, 0.01052 }, { 0.48579, -0.03199, 0.00882 }, { 0.49728, -0.02678, 0.00762 }, { 0.50776, -0.00003, 0.00638 } }, + {{ 0.19101, -0.17570, 0.69518 }, { 0.22471, -0.17630, 0.64677 }, { 0.25559, -0.16233, 0.58896 }, { 0.28173, -0.14459, 0.53726 }, + { 0.30495, -0.12739, 0.48924 }, { 0.32541, -0.11162, 0.44375 }, { 0.34337, -0.09667, 0.40045 }, { 0.35848, -0.08188, 0.35844 }, + { 0.37152, -0.06821, 0.31901 }, { 0.38267, -0.05887, 0.28296 }, { 0.39205, -0.05240, 0.24905 }, { 0.40013, -0.04793, 0.21813 }, + { 0.40731, -0.04499, 0.19041 }, { 0.41385, -0.04300, 0.16557 }, { 0.41996, -0.04151, 0.14360 }, { 0.42572, -0.04033, 0.12396 }, + { 0.43136, -0.03975, 0.10719 }, { 0.43675, -0.03947, 0.09240 }, { 0.44210, -0.03943, 0.07951 }, { 0.44729, -0.03917, 0.06811 }, + { 0.45254, -0.03889, 0.05809 }, { 0.45786, -0.03887, 0.04960 }, { 0.46336, -0.03909, 0.04242 }, { 0.46904, -0.03903, 0.03607 }, + { 0.47514, -0.03922, 0.03098 }, { 0.48162, -0.03917, 0.02650 }, { 0.48829, -0.03827, 0.02249 }, { 0.49548, -0.03702, 0.01911 }, + { 0.50339, -0.03465, 0.01630 }, { 0.51184, -0.03118, 0.01385 }, { 0.52150, -0.02485, 0.01187 }, { 0.53151, -0.00021, 0.01004 } }, + {{ 0.21608, -0.17314, 0.69404 }, { 0.24910, -0.17599, 0.65077 }, { 0.28069, -0.16514, 0.59738 }, { 0.30724, -0.15021, 0.55038 }, + { 0.33032, -0.13557, 0.50616 }, { 0.35096, -0.12161, 0.46415 }, { 0.36879, -0.10876, 0.42260 }, { 0.38457, -0.09665, 0.38393 }, + { 0.39755, -0.08454, 0.34548 }, { 0.40917, -0.07412, 0.31090 }, { 0.41915, -0.06463, 0.27757 }, { 0.42790, -0.05848, 0.24745 }, + { 0.43555, -0.05371, 0.21932 }, { 0.44253, -0.05046, 0.19400 }, { 0.44886, -0.04821, 0.17119 }, { 0.45491, -0.04588, 0.15001 }, + { 0.46058, -0.04438, 0.13153 }, { 0.46590, -0.04412, 0.11577 }, { 0.47137, -0.04304, 0.10099 }, { 0.47670, -0.04215, 0.08803 }, + { 0.48207, -0.04161, 0.07655 }, { 0.48730, -0.04144, 0.06667 }, { 0.49275, -0.04059, 0.05763 }, { 0.49832, -0.04032, 0.05000 }, + { 0.50411, -0.03974, 0.04326 }, { 0.51004, -0.03905, 0.03745 }, { 0.51646, -0.03800, 0.03233 }, { 0.52320, -0.03639, 0.02793 }, + { 0.53028, -0.03436, 0.02410 }, { 0.53801, -0.03031, 0.02070 }, { 0.54612, -0.02493, 0.01799 }, { 0.55540, 0.00004, 0.01521 } }, + {{ 0.24162, -0.17052, 0.69373 }, { 0.27454, -0.17439, 0.65370 }, { 0.30746, -0.16579, 0.60556 }, { 0.33408, -0.15358, 0.56229 }, + { 0.35697, -0.14112, 0.52099 }, { 0.37775, -0.12867, 0.48220 }, { 0.39587, -0.11735, 0.44396 }, { 0.41165, -0.10700, 0.40686 }, + { 0.42539, -0.09729, 0.37145 }, { 0.43716, -0.08817, 0.33754 }, { 0.44735, -0.07945, 0.30538 }, { 0.45639, -0.07137, 0.27528 }, + { 0.46453, -0.06390, 0.24688 }, { 0.47188, -0.05902, 0.22137 }, { 0.47840, -0.05627, 0.19867 }, { 0.48473, -0.05274, 0.17677 }, + { 0.49060, -0.05014, 0.15718 }, { 0.49627, -0.04809, 0.13948 }, { 0.50156, -0.04704, 0.12389 }, { 0.50672, -0.04617, 0.10988 }, + { 0.51205, -0.04471, 0.09688 }, { 0.51720, -0.04402, 0.08560 }, { 0.52258, -0.04284, 0.07528 }, { 0.52812, -0.04140, 0.06603 }, + { 0.53331, -0.04084, 0.05819 }, { 0.53939, -0.03922, 0.05082 }, { 0.54508, -0.03852, 0.04467 }, { 0.55110, -0.03648, 0.03901 }, + { 0.55773, -0.03362, 0.03404 }, { 0.56432, -0.02977, 0.02969 }, { 0.57204, -0.02257, 0.02565 }, { 0.58012, 0.00013, 0.02208 } }, + {{ 0.26781, -0.16726, 0.69374 }, { 0.30184, -0.17130, 0.65782 }, { 0.33546, -0.16494, 0.61300 }, { 0.36236, -0.15479, 0.57350 }, + { 0.38543, -0.14389, 0.53560 }, { 0.40587, -0.13313, 0.49892 }, { 0.42394, -0.12315, 0.46321 }, { 0.43980, -0.11396, 0.42810 }, + { 0.45355, -0.10555, 0.39357 }, { 0.46600, -0.09751, 0.36179 }, { 0.47658, -0.08994, 0.33055 }, { 0.48605, -0.08303, 0.30167 }, + { 0.49437, -0.07661, 0.27438 }, { 0.50188, -0.07012, 0.24851 }, { 0.50886, -0.06435, 0.22461 }, { 0.51521, -0.06079, 0.20331 }, + { 0.52114, -0.05751, 0.18338 }, { 0.52686, -0.05490, 0.16512 }, { 0.53234, -0.05237, 0.14824 }, { 0.53760, -0.05016, 0.13281 }, + { 0.54305, -0.04763, 0.11850 }, { 0.54802, -0.04636, 0.10604 }, { 0.55334, -0.04452, 0.09447 }, { 0.55850, -0.04311, 0.08417 }, + { 0.56350, -0.04186, 0.07499 }, { 0.56858, -0.04059, 0.06675 }, { 0.57426, -0.03828, 0.05906 }, { 0.57961, -0.03642, 0.05240 }, + { 0.58579, -0.03293, 0.04618 }, { 0.59207, -0.02837, 0.04061 }, { 0.59839, -0.02183, 0.03571 }, { 0.60588, 0.00014, 0.03099 } }, + {{ 0.29552, -0.16307, 0.69478 }, { 0.33034, -0.16735, 0.66097 }, { 0.36464, -0.16269, 0.62010 }, { 0.39162, -0.15439, 0.58318 }, + { 0.41468, -0.14491, 0.54812 }, { 0.43479, -0.13568, 0.51374 }, { 0.45273, -0.12677, 0.48033 }, { 0.46884, -0.11827, 0.44784 }, + { 0.48278, -0.11077, 0.41543 }, { 0.49535, -0.10366, 0.38456 }, { 0.50635, -0.09707, 0.35481 }, { 0.51611, -0.09088, 0.32656 }, + { 0.52482, -0.08505, 0.29983 }, { 0.53261, -0.07920, 0.27402 }, { 0.53981, -0.07391, 0.25049 }, { 0.54631, -0.06982, 0.22916 }, + { 0.55239, -0.06584, 0.20899 }, { 0.55818, -0.06111, 0.18974 }, { 0.56348, -0.05885, 0.17283 }, { 0.56875, -0.05560, 0.15672 }, + { 0.57406, -0.05216, 0.14161 }, { 0.57898, -0.04974, 0.12804 }, { 0.58395, -0.04738, 0.11552 }, { 0.58890, -0.04525, 0.10412 }, + { 0.59356, -0.04361, 0.09392 }, { 0.59866, -0.04122, 0.08435 }, { 0.60366, -0.03869, 0.07566 }, { 0.60857, -0.03626, 0.06785 }, + { 0.61392, -0.03267, 0.06058 }, { 0.61896, -0.02853, 0.05418 }, { 0.62446, -0.02146, 0.04812 }, { 0.63114, 0.00013, 0.04224 } }, + {{ 0.32493, -0.15800, 0.69636 }, { 0.36044, -0.16239, 0.66479 }, { 0.39500, -0.15918, 0.62662 }, { 0.42214, -0.15229, 0.59208 }, + { 0.44504, -0.14422, 0.55948 }, { 0.46513, -0.13589, 0.52832 }, { 0.48260, -0.12801, 0.49686 }, { 0.49819, -0.12058, 0.46577 }, + { 0.51220, -0.11368, 0.43550 }, { 0.52491, -0.10715, 0.40640 }, { 0.53607, -0.10121, 0.37791 }, { 0.54604, -0.09561, 0.35063 }, + { 0.55497, -0.09044, 0.32440 }, { 0.56304, -0.08553, 0.29963 }, { 0.57042, -0.08073, 0.27592 }, { 0.57716, -0.07643, 0.25430 }, + { 0.58338, -0.07244, 0.23411 }, { 0.58922, -0.06816, 0.21474 }, { 0.59463, -0.06506, 0.19748 }, { 0.59983, -0.06156, 0.18085 }, + { 0.60510, -0.05721, 0.16496 }, { 0.60997, -0.05394, 0.15071 }, { 0.61473, -0.05071, 0.13745 }, { 0.61957, -0.04764, 0.12513 }, + { 0.62409, -0.04512, 0.11401 }, { 0.62852, -0.04243, 0.10365 }, { 0.63251, -0.04049, 0.09444 }, { 0.63750, -0.03634, 0.08526 }, + { 0.64231, -0.03217, 0.07697 }, { 0.64613, -0.02798, 0.06969 }, { 0.65086, -0.02084, 0.06274 }, { 0.65651, -0.00002, 0.05589 } }, + {{ 0.35603, -0.15221, 0.69769 }, { 0.39159, -0.15659, 0.66832 }, { 0.42682, -0.15414, 0.63306 }, { 0.45440, -0.14815, 0.60175 }, + { 0.47706, -0.14135, 0.57114 }, { 0.49652, -0.13430, 0.54130 }, { 0.51370, -0.12720, 0.51227 }, { 0.52869, -0.12066, 0.48316 }, + { 0.54234, -0.11418, 0.45520 }, { 0.55442, -0.10835, 0.42705 }, { 0.56541, -0.10297, 0.39979 }, { 0.57520, -0.09810, 0.37306 }, + { 0.58426, -0.09325, 0.34799 }, { 0.59238, -0.08885, 0.32368 }, { 0.59985, -0.08462, 0.30051 }, { 0.60666, -0.08047, 0.27914 }, + { 0.61307, -0.07647, 0.25902 }, { 0.61890, -0.07278, 0.24017 }, { 0.62438, -0.06918, 0.22242 }, { 0.62953, -0.06581, 0.20569 }, + { 0.63458, -0.06234, 0.18950 }, { 0.63958, -0.05873, 0.17436 }, { 0.64422, -0.05531, 0.16053 }, { 0.64882, -0.05182, 0.14758 }, + { 0.65331, -0.04822, 0.13555 }, { 0.65733, -0.04527, 0.12469 }, { 0.66150, -0.04160, 0.11431 }, { 0.66582, -0.03748, 0.10458 }, + { 0.66990, -0.03270, 0.09545 }, { 0.67332, -0.02788, 0.08731 }, { 0.67675, -0.02071, 0.07957 }, { 0.68186, 0.00002, 0.07179 } }, + {{ 0.38874, -0.14547, 0.69990 }, { 0.42458, -0.14938, 0.67322 }, { 0.46012, -0.14757, 0.63986 }, { 0.48761, -0.14257, 0.61072 }, + { 0.51008, -0.13671, 0.58210 }, { 0.52938, -0.13046, 0.55452 }, { 0.54611, -0.12415, 0.52757 }, { 0.56050, -0.11845, 0.49993 }, + { 0.57333, -0.11284, 0.47308 }, { 0.58470, -0.10773, 0.44623 }, { 0.59503, -0.10264, 0.42075 }, { 0.60417, -0.09831, 0.39479 }, + { 0.61278, -0.09386, 0.37078 }, { 0.62064, -0.08976, 0.34736 }, { 0.62794, -0.08593, 0.32486 }, { 0.63473, -0.08203, 0.30393 }, + { 0.64102, -0.07852, 0.28339 }, { 0.64684, -0.07474, 0.26497 }, { 0.65232, -0.07134, 0.24680 }, { 0.65750, -0.06788, 0.23017 }, + { 0.66247, -0.06462, 0.21383 }, { 0.66730, -0.06134, 0.19836 }, { 0.67176, -0.05808, 0.18437 }, { 0.67590, -0.05475, 0.17126 }, + { 0.68040, -0.05106, 0.15847 }, { 0.68408, -0.04764, 0.14730 }, { 0.68813, -0.04367, 0.13611 }, { 0.69178, -0.03955, 0.12594 }, + { 0.69592, -0.03412, 0.11582 }, { 0.69962, -0.02813, 0.10669 }, { 0.70287, -0.02016, 0.09818 }, { 0.70573, 0.00006, 0.09005 } }, + {{ 0.42286, -0.13764, 0.70253 }, { 0.45893, -0.14091, 0.67808 }, { 0.49450, -0.13944, 0.64711 }, { 0.52171, -0.13527, 0.61953 }, + { 0.54404, -0.13016, 0.59306 }, { 0.56282, -0.12479, 0.56710 }, { 0.57891, -0.11949, 0.54128 }, { 0.59290, -0.11426, 0.51588 }, + { 0.60505, -0.10951, 0.48993 }, { 0.61587, -0.10470, 0.46536 }, { 0.62546, -0.10029, 0.44072 }, { 0.63399, -0.09638, 0.41598 }, + { 0.64186, -0.09229, 0.39289 }, { 0.64911, -0.08880, 0.36972 }, { 0.65567, -0.08519, 0.34812 }, { 0.66186, -0.08157, 0.32779 }, + { 0.66775, -0.07846, 0.30734 }, { 0.67323, -0.07504, 0.28886 }, { 0.67844, -0.07174, 0.27113 }, { 0.68333, -0.06833, 0.25452 }, + { 0.68809, -0.06521, 0.23828 }, { 0.69262, -0.06204, 0.22301 }, { 0.69697, -0.05878, 0.20869 }, { 0.70127, -0.05553, 0.19491 }, + { 0.70529, -0.05205, 0.18216 }, { 0.70896, -0.04825, 0.17048 }, { 0.71278, -0.04429, 0.15888 }, { 0.71635, -0.03988, 0.14822 }, + { 0.71997, -0.03495, 0.13785 }, { 0.72323, -0.02900, 0.12826 }, { 0.72673, -0.02079, 0.11891 }, { 0.72944, 0.00004, 0.11016 } }, + {{ 0.45873, -0.12835, 0.70614 }, { 0.49433, -0.13100, 0.68304 }, { 0.52949, -0.12981, 0.65400 }, { 0.55633, -0.12616, 0.62850 }, + { 0.57809, -0.12174, 0.60424 }, { 0.59634, -0.11714, 0.57985 }, { 0.61180, -0.11273, 0.55495 }, { 0.62517, -0.10827, 0.53092 }, + { 0.63669, -0.10407, 0.50671 }, { 0.64685, -0.09994, 0.48305 }, { 0.65584, -0.09624, 0.45902 }, { 0.66376, -0.09244, 0.43645 }, + { 0.67113, -0.08921, 0.41315 }, { 0.67765, -0.08575, 0.39173 }, { 0.68370, -0.08256, 0.37068 }, { 0.68930, -0.07941, 0.35059 }, + { 0.69443, -0.07619, 0.33162 }, { 0.69947, -0.07326, 0.31286 }, { 0.70415, -0.07019, 0.29534 }, { 0.70855, -0.06708, 0.27878 }, + { 0.71287, -0.06409, 0.26263 }, { 0.71661, -0.06080, 0.24796 }, { 0.72066, -0.05775, 0.23332 }, { 0.72451, -0.05456, 0.21962 }, + { 0.72821, -0.05117, 0.20663 }, { 0.73152, -0.04735, 0.19465 }, { 0.73501, -0.04351, 0.18279 }, { 0.73849, -0.03929, 0.17160 }, + { 0.74160, -0.03433, 0.16118 }, { 0.74481, -0.02845, 0.15104 }, { 0.74776, -0.02023, 0.14164 }, { 0.75105, 0.00006, 0.13208 } }, + {{ 0.49554, -0.11754, 0.70978 }, { 0.53027, -0.11957, 0.68862 }, { 0.56475, -0.11844, 0.66139 }, { 0.59075, -0.11545, 0.63717 }, + { 0.61170, -0.11182, 0.61414 }, { 0.62919, -0.10788, 0.59143 }, { 0.64398, -0.10410, 0.56846 }, { 0.65664, -0.10044, 0.54542 }, + { 0.66758, -0.09697, 0.52211 }, { 0.67700, -0.09338, 0.49989 }, { 0.68535, -0.09011, 0.47731 }, { 0.69283, -0.08701, 0.45504 }, + { 0.69943, -0.08398, 0.43352 }, { 0.70556, -0.08119, 0.41218 }, { 0.71100, -0.07822, 0.39227 }, { 0.71624, -0.07555, 0.37245 }, + { 0.72083, -0.07263, 0.35421 }, { 0.72523, -0.06975, 0.33639 }, { 0.72925, -0.06691, 0.31941 }, { 0.73339, -0.06419, 0.30275 }, + { 0.73715, -0.06130, 0.28712 }, { 0.74070, -0.05852, 0.27199 }, { 0.74402, -0.05539, 0.25799 }, { 0.74744, -0.05231, 0.24427 }, + { 0.75049, -0.04891, 0.23147 }, { 0.75399, -0.04558, 0.21879 }, { 0.75685, -0.04169, 0.20716 }, { 0.75973, -0.03736, 0.19611 }, + { 0.76249, -0.03256, 0.18534 }, { 0.76538, -0.02662, 0.17518 }, { 0.76785, -0.01865, 0.16553 }, { 0.77115, 0.00005, 0.15588 } }, + {{ 0.53272, -0.10493, 0.71478 }, { 0.56610, -0.10643, 0.69461 }, { 0.59929, -0.10534, 0.66938 }, { 0.62423, -0.10298, 0.64618 }, + { 0.64430, -0.10006, 0.62412 }, { 0.66087, -0.09686, 0.60285 }, { 0.67490, -0.09377, 0.58132 }, { 0.68693, -0.09079, 0.55910 }, + { 0.69725, -0.08792, 0.53711 }, { 0.70612, -0.08524, 0.51494 }, { 0.71373, -0.08232, 0.49425 }, { 0.72045, -0.07970, 0.47333 }, + { 0.72654, -0.07708, 0.45290 }, { 0.73215, -0.07461, 0.43265 }, { 0.73731, -0.07219, 0.41291 }, { 0.74188, -0.06976, 0.39410 }, + { 0.74597, -0.06728, 0.37624 }, { 0.74997, -0.06490, 0.35873 }, { 0.75337, -0.06230, 0.34249 }, { 0.75709, -0.05978, 0.32632 }, + { 0.76060, -0.05720, 0.31088 }, { 0.76378, -0.05462, 0.29607 }, { 0.76659, -0.05180, 0.28230 }, { 0.76955, -0.04891, 0.26889 }, + { 0.77230, -0.04571, 0.25622 }, { 0.77514, -0.04252, 0.24377 }, { 0.77793, -0.03908, 0.23184 }, { 0.78043, -0.03509, 0.22064 }, + { 0.78282, -0.03041, 0.21005 }, { 0.78468, -0.02457, 0.20018 }, { 0.78754, -0.01737, 0.19021 }, { 0.78995, 0.00006, 0.18089 } }, + {{ 0.56932, -0.09075, 0.71955 }, { 0.60103, -0.09168, 0.70070 }, { 0.63267, -0.09087, 0.67652 }, { 0.65651, -0.08897, 0.65469 }, + { 0.67543, -0.08664, 0.63411 }, { 0.69104, -0.08420, 0.61379 }, { 0.70419, -0.08174, 0.59365 }, { 0.71550, -0.07948, 0.57227 }, + { 0.72506, -0.07710, 0.55184 }, { 0.73326, -0.07491, 0.53105 }, { 0.74047, -0.07278, 0.51035 }, { 0.74675, -0.07074, 0.49002 }, + { 0.75230, -0.06867, 0.47031 }, { 0.75728, -0.06656, 0.45135 }, { 0.76209, -0.06453, 0.43250 }, { 0.76616, -0.06249, 0.41451 }, + { 0.76990, -0.06046, 0.39705 }, { 0.77334, -0.05835, 0.38038 }, { 0.77650, -0.05612, 0.36453 }, { 0.77934, -0.05390, 0.34929 }, + { 0.78214, -0.05159, 0.33447 }, { 0.78495, -0.04919, 0.32031 }, { 0.78732, -0.04660, 0.30694 }, { 0.78980, -0.04409, 0.29376 }, + { 0.79245, -0.04133, 0.28119 }, { 0.79502, -0.03835, 0.26903 }, { 0.79706, -0.03500, 0.25765 }, { 0.79938, -0.03151, 0.24642 }, + { 0.80116, -0.02721, 0.23605 }, { 0.80364, -0.02228, 0.22580 }, { 0.80529, -0.01553, 0.21630 }, { 0.80743, 0.00008, 0.20694 } }, + {{ 0.60446, -0.07481, 0.72541 }, { 0.63433, -0.07540, 0.70789 }, { 0.66433, -0.07476, 0.68481 }, { 0.68668, -0.07333, 0.66418 }, + { 0.70457, -0.07166, 0.64427 }, { 0.71943, -0.06986, 0.62480 }, { 0.73164, -0.06808, 0.60530 }, { 0.74200, -0.06634, 0.58563 }, + { 0.75088, -0.06465, 0.56577 }, { 0.75865, -0.06301, 0.54574 }, { 0.76531, -0.06140, 0.52594 }, { 0.77096, -0.05975, 0.50704 }, + { 0.77604, -0.05817, 0.48812 }, { 0.78047, -0.05654, 0.46984 }, { 0.78462, -0.05499, 0.45179 }, { 0.78846, -0.05337, 0.43440 }, + { 0.79171, -0.05168, 0.41775 }, { 0.79502, -0.04998, 0.40149 }, { 0.79763, -0.04815, 0.38649 }, { 0.80039, -0.04639, 0.37146 }, + { 0.80272, -0.04448, 0.35737 }, { 0.80522, -0.04252, 0.34354 }, { 0.80755, -0.04044, 0.33020 }, { 0.80954, -0.03811, 0.31798 }, + { 0.81129, -0.03571, 0.30606 }, { 0.81256, -0.03305, 0.29475 }, { 0.81479, -0.03031, 0.28330 }, { 0.81667, -0.02709, 0.27265 }, + { 0.81865, -0.02350, 0.26226 }, { 0.82066, -0.01932, 0.25205 }, { 0.82209, -0.01368, 0.24262 }, { 0.82367, 0.00002, 0.23366 } }, + {{ 0.63783, -0.05754, 0.73110 }, { 0.66580, -0.05784, 0.71450 }, { 0.69379, -0.05736, 0.69314 }, { 0.71493, -0.05642, 0.67318 }, + { 0.73184, -0.05529, 0.65409 }, { 0.74566, -0.05410, 0.63543 }, { 0.75715, -0.05290, 0.61665 }, { 0.76684, -0.05171, 0.59776 }, + { 0.77502, -0.05055, 0.57875 }, { 0.78192, -0.04938, 0.56005 }, { 0.78802, -0.04824, 0.54142 }, { 0.79346, -0.04716, 0.52249 }, + { 0.79805, -0.04606, 0.50438 }, { 0.80183, -0.04480, 0.48754 }, { 0.80557, -0.04364, 0.47040 }, { 0.80900, -0.04245, 0.45369 }, + { 0.81218, -0.04128, 0.43725 }, { 0.81485, -0.03999, 0.42211 }, { 0.81744, -0.03873, 0.40702 }, { 0.81962, -0.03727, 0.39305 }, + { 0.82179, -0.03580, 0.37945 }, { 0.82385, -0.03429, 0.36620 }, { 0.82598, -0.03268, 0.35338 }, { 0.82778, -0.03089, 0.34141 }, + { 0.82910, -0.02898, 0.33004 }, { 0.83055, -0.02688, 0.31907 }, { 0.83184, -0.02463, 0.30846 }, { 0.83322, -0.02206, 0.29842 }, + { 0.83509, -0.01925, 0.28818 }, { 0.83626, -0.01574, 0.27866 }, { 0.83803, -0.01128, 0.26919 }, { 0.83936, -0.00001, 0.26038 } }, + {{ 0.66881, -0.03902, 0.73750 }, { 0.69495, -0.03917, 0.72144 }, { 0.72127, -0.03890, 0.70116 }, { 0.74089, -0.03836, 0.68204 }, + { 0.75676, -0.03768, 0.66379 }, { 0.76971, -0.03701, 0.64562 }, { 0.78031, -0.03631, 0.62792 }, { 0.78909, -0.03559, 0.61014 }, + { 0.79688, -0.03488, 0.59193 }, { 0.80339, -0.03421, 0.57344 }, { 0.80909, -0.03354, 0.55536 }, { 0.81375, -0.03284, 0.53793 }, + { 0.81807, -0.03212, 0.52063 }, { 0.82174, -0.03140, 0.50374 }, { 0.82535, -0.03066, 0.48732 }, { 0.82861, -0.02992, 0.47141 }, + { 0.83083, -0.02915, 0.45633 }, { 0.83320, -0.02828, 0.44181 }, { 0.83559, -0.02745, 0.42730 }, { 0.83745, -0.02649, 0.41385 }, + { 0.84005, -0.02553, 0.40059 }, { 0.84070, -0.02440, 0.38881 }, { 0.84245, -0.02332, 0.37643 }, { 0.84401, -0.02210, 0.36506 }, + { 0.84503, -0.02076, 0.35431 }, { 0.84665, -0.01940, 0.34339 }, { 0.84777, -0.01782, 0.33324 }, { 0.84905, -0.01601, 0.32345 }, + { 0.84999, -0.01390, 0.31425 }, { 0.85072, -0.01143, 0.30523 }, { 0.85236, -0.00812, 0.29632 }, { 0.85341, 0.00002, 0.28782 } }, + {{ 0.69740, -0.01972, 0.74339 }, { 0.72178, -0.01980, 0.72804 }, { 0.74630, -0.01969, 0.70892 }, { 0.76475, -0.01946, 0.69082 }, + { 0.77931, -0.01916, 0.67367 }, { 0.79173, -0.01888, 0.65573 }, { 0.80171, -0.01860, 0.63826 }, { 0.81003, -0.01833, 0.62090 }, + { 0.81725, -0.01802, 0.60355 }, { 0.82283, -0.01768, 0.58677 }, { 0.82781, -0.01737, 0.56971 }, { 0.83251, -0.01712, 0.55229 }, + { 0.83628, -0.01681, 0.53567 }, { 0.83983, -0.01645, 0.51970 }, { 0.84284, -0.01610, 0.50407 }, { 0.84559, -0.01577, 0.48879 }, + { 0.84790, -0.01538, 0.47446 }, { 0.85013, -0.01498, 0.46044 }, { 0.85214, -0.01455, 0.44710 }, { 0.85384, -0.01407, 0.43403 }, + { 0.85537, -0.01356, 0.42174 }, { 0.85665, -0.01304, 0.41005 }, { 0.85860, -0.01251, 0.39844 }, { 0.85961, -0.01189, 0.38755 }, + { 0.86039, -0.01119, 0.37756 }, { 0.86098, -0.01040, 0.36805 }, { 0.86192, -0.00953, 0.35846 }, { 0.86278, -0.00857, 0.34911 }, + { 0.86425, -0.00751, 0.33962 }, { 0.86491, -0.00614, 0.33144 }, { 0.86581, -0.00433, 0.32300 }, { 0.86677, 0.00002, 0.31508 } }, + {{ 0.72363, 0.00000, 0.74973 }, { 0.74617, -0.00002, 0.73527 }, { 0.76908, 0.00000, 0.71668 }, { 0.78618, -0.00002, 0.69953 }, + { 0.79981, -0.00003, 0.68291 }, { 0.81110, -0.00001, 0.66623 }, { 0.82060, -0.00001, 0.64940 }, { 0.82853, -0.00004, 0.63212 }, + { 0.83504, -0.00002, 0.61545 }, { 0.84058, -0.00003, 0.59849 }, { 0.84521, -0.00005, 0.58226 }, { 0.84932, -0.00002, 0.56605 }, + { 0.85275, -0.00000, 0.55034 }, { 0.85605, -0.00001, 0.53461 }, { 0.85877, -0.00001, 0.51974 }, { 0.86129, -0.00001, 0.50561 }, + { 0.86320, -0.00005, 0.49191 }, { 0.86521, -0.00004, 0.47875 }, { 0.86654, -0.00002, 0.46632 }, { 0.86846, -0.00002, 0.45401 }, + { 0.86997, -0.00001, 0.44209 }, { 0.87153, 0.00003, 0.43044 }, { 0.87288, 0.00002, 0.42005 }, { 0.87352, 0.00003, 0.40990 }, + { 0.87465, 0.00004, 0.39997 }, { 0.87549, 0.00003, 0.39069 }, { 0.87626, 0.00006, 0.38171 }, { 0.87676, 0.00004, 0.37342 }, + { 0.87714, 0.00006, 0.36523 }, { 0.87859, 0.00006, 0.35675 }, { 0.87952, 0.00009, 0.34897 }, { 0.87958, 0.00003, 0.34187 }} + // clang-format on + } }; + return param.data; +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_thinlayer_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_thinlayer_decl.h new file mode 100644 index 000000000..98a62d982 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_thinlayer_decl.h @@ -0,0 +1,172 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +struct ThinFresnel { + BSDL_INLINE_METHOD ThinFresnel(float eta); + + BSDL_INLINE_METHOD float eval(const float c) const; + BSDL_INLINE_METHOD float eval_inv(const float c) const; + BSDL_INLINE_METHOD Power avg() const; + BSDL_INLINE_METHOD float avgf() const; + BSDL_INLINE_METHOD float avg_invf() const; + + static BSDL_INLINE_METHOD ThinFresnel from_table_index(float tx); + + // Note index of eta equals index of 1 / eta, so this function works for + // either side (both tables) + BSDL_INLINE_METHOD float table_index() const; + + float eta; + +private: + static constexpr float IOR_MIN = 1.001f; + static constexpr float IOR_MAX = 5.0f; +}; + +template struct ThinMicrofacet { + // describe how tabulation should be done + static constexpr int Nc = 16; + static constexpr int Nr = 16; + static constexpr int Nf = 32; + // If we assume the reflected cosine follows a cosine distribution for rough + // microfacted, the average inverse cosine is 2 (analitically), but we run some + // similations with GGX and it turned out to be closer to 2.2 + static constexpr float AVG_INV_COS = 2.2f; + + static BSDL_INLINE_METHOD float sum_refl_series(float Rout, float Tin, + float Rin, float A); + static BSDL_INLINE_METHOD float sum_refr_series(float Rout, float Tin, + float Rin, float A); + static constexpr float get_cosine(int i) + { + return std::max(float(i) * (1.0f / (Nc - 1)), 1e-6f); + } + static constexpr const char* name() { return "Thinlayer"; } + + explicit BSDL_INLINE_METHOD ThinMicrofacet(float, float roughness_index, + float fresnel_index); + BSDL_INLINE_METHOD ThinMicrofacet(float roughness, float aniso, float eta, + float thickness, float prob_clamp, + Power sigma_t); + BSDL_INLINE_METHOD Sample eval(const Imath::V3f& wo, const Imath::V3f& wi, + bool doreflect, bool dorefract) const; + BSDL_INLINE_METHOD Sample sample(Imath::V3f wo, float randu, float randv, + float randw, bool doreflect, + bool dorefract) const; + BSDL_INLINE_METHOD Sample sample(Imath::V3f wo, float randu, float randv, + float randw) const + { + return sample(wo, randu, randv, randw, true, true); + }; + BSDL_INLINE_METHOD ThinFresnel fresnel() const { return f; } + BSDL_INLINE_METHOD float fresnel(float c) const { return f.eval(c); } + BSDL_INLINE_METHOD float eta() const { return f.eta; } + // Borrowed from dielectric + BSDL_INLINE_METHOD float fresnel_prob(float f) const; + BSDL_INLINE_METHOD Sample eval(const Imath::V3f& wo, const Imath::V3f& m, + const Imath::V3f& wi, const bool both, + const float refr_slope_scale, + Power refl_atten, Power refr_atten) const; + // This function computes the slope scale needed for a micronormal if we + // are going to fake the refraction with a flipped reflection + BSDL_INLINE_METHOD float refraction_slope_scale(float cosNO) const; + BSDL_INLINE_METHOD Imath::V3f scale_slopes(const Imath::V3f& m, + const float s) const; + BSDL_INLINE_METHOD void attenuation(Imath::V3f wo, Imath::V3f m, + Power* refl, Power* refr) const; + + Dist d; + Power sigma_t; + ThinFresnel f; + float thickness; + float roughness; + float prob_clamp; +}; + +struct Thinlayer : public ThinMicrofacet { + explicit BSDL_INLINE_METHOD Thinlayer(float, float roughness_index, + float fresnel_index); + BSDL_INLINE_METHOD Thinlayer(float roughness, float aniso, float eta, + float thickness, float prob_clamp, + Power sigma_t); + struct Energy { + float data[Nf * Nr * Nc]; + }; + static BSDL_INLINE_METHOD Energy& get_energy(); + + static const char* lut_header() { return "bsdf_thinlayer_luts.h"; } + static const char* struct_name() { return "Thinlayer"; } +}; + +template struct ThinLayerLobe : public Lobe { + using Base = Lobe; + struct Data { + Imath::V3f N; + Imath::V3f T; + float IOR; + float roughness; + float anisotropy; + float thickness; + float prob_clamp; // Not exposed + Imath::C3f refl_tint; // overall tint on reflected rays + Imath::C3f refr_tint; // overall tint on refracted rays + Imath::C3f sigma_t; + using lobe_type = ThinLayerLobe; + }; + template static typename LobeRegistry::Entry entry() + { + static_assert( + std::is_base_of::value); // Make no other assumptions + using R = LobeRegistry; + return { name(), + { R::param(&D::N), R::param(&D::T), R::param(&D::IOR), + R::param(&D::roughness), R::param(&D::anisotropy), + R::param(&D::thickness), R::param(&D::refl_tint), + R::param(&D::refr_tint), R::param(&D::sigma_t), + R::close() } }; + } + + template + BSDL_INLINE_METHOD ThinLayerLobe(T*, const BsdfGlobals& globals, + const Data& data); + + static const char* name() { return "thinlayer"; } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi, bool doreflect, + bool dorefract) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& _rnd, + bool doreflect, bool dorefract) const; + +protected: + BSDL_INLINE_METHOD std::pair get_diff_trans() const; + BSDL_INLINE_METHOD Power get_tint(float cosNI) const; + BSDL_INLINE_METHOD void eval_ec_lobe(Sample* s, Imath::V3f wi_l, + const Power diff_tint, + const Power trans_tint, + float Tprob) const; + BSDL_INLINE_METHOD Imath::V3f sample_lobe(float randu, float randv, + bool back) const; + + Thinlayer spec; + Power refl_tint; + Power refr_tint; + // energy compensation data (R and T lobes) + float Eo; +}; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_thinlayer_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_thinlayer_impl.h new file mode 100644 index 000000000..e8338e2fc --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_thinlayer_impl.h @@ -0,0 +1,487 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#ifndef BAKE_BSDL_TABLES +# include +#endif +#include +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +BSDL_INLINE_METHOD +ThinFresnel::ThinFresnel(float eta) : eta(CLAMP(eta, IOR_MIN, IOR_MAX)) {} + +BSDL_INLINE_METHOD float +ThinFresnel::eval(const float c) const +{ + assert(c >= 0); // slightly above 1.0 is ok + assert(eta > 1); // avoid singularity at eta==1 + // optimized for c in [0,1] and eta in (1,inf) + const float g = sqrtf(eta * eta - 1 + c * c); + const float A = (g - c) / (g + c); + const float B = (c * (g + c) - 1) / (c * (g - c) + 1); + return 0.5f * A * A * (1 + B * B); +} + +BSDL_INLINE_METHOD float +ThinFresnel::eval_inv(const float c) const +{ + return fresnel_dielectric(c, 1 / eta); +} + +BSDL_INLINE_METHOD float +ThinFresnel::avgf() const +{ + // see Avg Fresnel -- but we know that eta >= 1 here + return (eta - 1) / (4.08567f + 1.00071f * eta); +} + +BSDL_INLINE_METHOD Power +ThinFresnel::avg() const +{ + return Power(avgf(), 1); +} + +BSDL_INLINE_METHOD float +ThinFresnel::avg_invf() const +{ + return avg_fresnel_dielectric(1 / eta); +} + +BSDL_INLINE_METHOD ThinFresnel +ThinFresnel::from_table_index(float tx) +{ + const float eta = LERP(SQR(tx), IOR_MIN, IOR_MAX); + return ThinFresnel(eta); +} + +// Note index of eta equals index of 1 / eta, so this function works for +// either side (both tables) +BSDL_INLINE_METHOD float +ThinFresnel::table_index() const +{ + // turn the IOR value into something suitable for integrating + // this is the reverse of the method above + const float seta = CLAMP(eta < 1 ? 1 / eta : eta, IOR_MIN, IOR_MAX); + const float x = (seta - IOR_MIN) * (1 / (IOR_MAX - IOR_MIN)); + assert(x >= 0); + assert(x <= 1); + return sqrtf(x); +} + +template +BSDL_INLINE_METHOD float +ThinMicrofacet::sum_refl_series(float Rout, float Tin, float Rin, float A) +{ + // The amount of reflected energy is + // + // Rout + Tin (1 - Rin) Rin A^2 + Tin Tout Rin^3 A^4 ... + // Tin (1 - Rin) Rin^(2n-1) A^(2n) = + // Rout + Tin (1 - Rin) Rin A^2 / (1 - Rin^2 A^2) + // + // which without absorption adds up to 1 with the refracted component in + // the next function. + const float b = SQR(Rin * A); // Basis of the geometric series + return Rout + + (1 - b < EPSILON ? (A < 1 ? 0 : Tin * 0.5f) + : Tin * (1 - Rin) * SQR(A) * Rin / (1 - b)); +} + +template +BSDL_INLINE_METHOD float +ThinMicrofacet::sum_refr_series(float Rout, float Tin, float Rin, float A) +{ + // The amount of energy exiting the thin layer on the other side is + // + // Tin A (1 - Rin) (1 + Rin^2 A^2 + Rin^4 A^4 + ... Rin^(2n) A^(2n)) = + // Tin A (1 - Rin) / (1 - Rin^2 A^2) + // + // which we evaluate for each RGB channel guarding the singularity, when + // (1 - Rin^2 A^2) approaches 0 the limit is Tin * 0.5 if A is 1.0 or + // 0.0 if A < 1.0. Note A and Rin are always < 1.0. + const float b = SQR(Rin * A); // Basis of the geometric series + return 1 - b < EPSILON ? (A < 1 ? 0 : Tin * 0.5f) + : Tin * (1 - Rin) * A / (1 - b); +} +template +BSDL_INLINE_METHOD +ThinMicrofacet::ThinMicrofacet(float, float roughness_index, + float fresnel_index) + : d(roughness_index, 0) + , sigma_t(0.0f, 1) + , f(ThinFresnel::from_table_index(fresnel_index)) + , thickness(0) + , roughness(roughness_index) + , prob_clamp(0) +{ +} + +template +BSDL_INLINE_METHOD +ThinMicrofacet::ThinMicrofacet(float roughness, float aniso, float eta, + float thickness, float prob_clamp, + Power sigma_t) + : d(roughness, aniso) + , sigma_t(sigma_t) + , f(eta) + , thickness(thickness) + , roughness(roughness) + , prob_clamp(prob_clamp) +{ +} + +template +BSDL_INLINE_METHOD Sample +ThinMicrofacet::eval(const Imath::V3f& wo, const Imath::V3f& wi, + bool doreflect, bool dorefract) const +{ + const bool both = doreflect && dorefract; + const bool isrefl = wi.z > 0; + const Imath::V3f wif = { wi.x, wi.y, + fabsf(wi.z) }; // Flipped reflection trick; + // The micronormal we actually use for scattering, which may or may not + // have its slopes scaled + const Imath::V3f mt = (wo + wif).normalized(); + const float refr_slope_scale = refraction_slope_scale(wo.z); + // The micronormal that we pretend to use, but a lie with refraction + const Imath::V3f m = isrefl ? mt : scale_slopes(mt, 1 / refr_slope_scale); + if (wi.z == 0 || wo.z == 0 || m.dot(wo) <= 0 || mt.dot(wo) <= 0) + return {}; + Power refl_atten, refr_atten; + attenuation(wo, m, &refl_atten, &refr_atten); + // Call the common eval + return eval(wo, m, wi, both, refr_slope_scale, refl_atten, refr_atten); +} + +template +BSDL_INLINE_METHOD Sample +ThinMicrofacet::sample(Imath::V3f wo, float randu, float randv, + float randw, bool doreflect, bool dorefract) const +{ + const bool both = doreflect && dorefract; + const Imath::V3f m = d.sample(wo, randu, randv); + if (wo.dot(m) <= 0) + return {}; + Power refl_atten, refr_atten; + attenuation(wo, m, &refl_atten, &refr_atten); + // We compute a pseudo-fresnel factor from the attenuations, it will serve + // as a probability for choosing the lobe + const float R = refl_atten.max(), T = refr_atten.max(); + const float F = R / std::max(R + T, std::numeric_limits::min()); + const float P = both ? fresnel_prob(F) : (dorefract ? 0 : 1); + bool isrefl = randw < P; + const float refr_slope_scale = refraction_slope_scale(wo.z); + // If we are doing refraction fake a micronormal by scaling the slopes + // to account for the reduced blurring in refraction + const Imath::V3f mt = isrefl ? m : scale_slopes(m, refr_slope_scale); + if (wo.dot(mt) <= 0) + return {}; + const Imath::V3f wif = reflect(wo, mt); + // Flipped reflection trick for refraction + const Imath::V3f wi = isrefl ? wif : Imath::V3f(wif.x, wif.y, -wif.z); + if ((isrefl && wi.z <= 0) || (!isrefl && wi.z >= 0)) + return {}; + // Call the common eval + return eval(wo, m, wi, both, refr_slope_scale, refl_atten, refr_atten); +} + +// Borrowed from dielectric +template +BSDL_INLINE_METHOD float +ThinMicrofacet::fresnel_prob(float f) const +{ + const float safe_prob = 0.2f; + return LERP(prob_clamp, f, CLAMP(f, safe_prob, 1 - safe_prob)); +} + +template +BSDL_INLINE_METHOD Sample +ThinMicrofacet::eval(const Imath::V3f& wo, const Imath::V3f& m, + const Imath::V3f& wi, const bool both, + const float refr_slope_scale, Power refl_atten, + Power refr_atten) const +{ + const bool isrefl = wi.z > 0; + const float R = refl_atten.max(), T = refr_atten.max(); + const float F = R / std::max(R + T, std::numeric_limits::min()); + const float P = both ? fresnel_prob(isrefl ? F : 1 - F) : 1; + if (P < PDF_MIN) + return {}; + // Flipped reflection trick in case of refraction + const Imath::V3f wif = { wi.x, wi.y, fabsf(wi.z) }; + const float cosNO = wo.z; + const float cosNM = m.z; + const float sinNM = sqrtf(1 - std::min(SQR(cosNM), 1.0f)); + assert(cosNO >= 0); + // If we did the slope scaling there is a jacobian to account for + // cos^3 to go to slope space, the scale^2 and then 1 / cos^3 of the new + // angle. It boils down to this: + const float tmp = sqrtf(SQR(refr_slope_scale * sinNM) + SQR(cosNM)); + const float J = isrefl ? 1 : tmp * tmp * tmp / SQR(refr_slope_scale); + const float D = d.D(m); + const float G1 = d.G1(wo); + const float out = d.G2_G1(wif, wo) / P; + const float pdf = (G1 * D * J * P) / (4.0f * cosNO); + const Power w = (isrefl ? refl_atten : refr_atten) * out; + // P is computed so the weights never go over one, but due to rounding + // errors and mostly fresnel_prob(), weight can go over one. + assert(w.max() < 2.5f); + return { wi, w, pdf, 0 }; +} + +// This function computes the slope scale needed for a micronormal if we +// are going to fake the refraction with a flipped reflection +template +BSDL_INLINE_METHOD float +ThinMicrofacet::refraction_slope_scale(float cosNO) const +{ + cosNO = std::min(cosNO, 1.0f); + assert(cosNO >= 0); + const float inveta = 1 / eta(); + const float sinNI = inveta * sqrtf(1 - SQR(cosNO)); + if (sinNI > 1.0f) + return 1; + const float cosNI = -sqrtf(1 - SQR(sinNI)); + // From "Efficient Rendering of Layered Materials using an + // Atomic Decomposition with Statistical Operators" (Belcour) + // equation 10. This is the jacobian from half vector slope to + // refracted slope. + const float refr_jacobian_entry = (1 + inveta * (cosNO / cosNI)); + const float refr_jacobian_exit = (1 + eta() * (cosNI / cosNO)); + // And the trivial reflection one + const float refl_jacobian = 2; + // Without loss of generality, we assume roughness is 1.0 here. + // Take into account there is entry and exit events, so we have a + // convolution of two GGX. We know its pseudo variance is 2 alpha^2 + // but in this case using just alpha^2 works better. Add the two variances: + const float refr_variance = SQR(refr_jacobian_entry) + + SQR(refr_jacobian_exit); + // which we will divide by the reflection variance, the one actually used + const float refl_variance = SQR(refl_jacobian); + // Never scale the slope so it equates to a roughness higher than one + const float max_scale = 1 / roughness; + // And finally map from variance to slope the ratio of the two. There + // is a consistent visual effect that scales up the effective variance + // by the inverse of cosNO. I attribute it to the stretching of + // the projected surface but I still ignore the full explanation. + return std::min(sqrtf((refr_variance / refl_variance) / cosNO), max_scale); +} + +template +BSDL_INLINE_METHOD Imath::V3f +ThinMicrofacet::scale_slopes(const Imath::V3f& m, const float s) const +{ + return Imath::V3f(m.x * s, m.y * s, m.z).normalized(); +} + +template +BSDL_INLINE_METHOD void +ThinMicrofacet::attenuation(Imath::V3f wo, Imath::V3f m, Power* refl, + Power* refr) const +{ + const Imath::V3f wr = refract(wo, m, eta()); + const float cosNO = std::min(wo.dot(m), 1.0f); + const float cosNR = CLAMP(-wr.z, 0.0f, 1.0f); + assert(cosNO >= 0); + // Traveled distance inside the thin layer depends on the + // refracted angle. As roughness grows, the inverse cosine + // tends to the avg + const float d = thickness + * LERP(roughness, 1 / std::max(cosNR, 1e-6f), AVG_INV_COS); + // Fresnel coeficients + const float Rout = f.eval(cosNO); + const float Tin = 1.0f - Rout; + // And as roughness grows, the internal bounces tend to the avg too + const float Rin = LERP(roughness, f.eval_inv(cosNR), f.avg_invf()); + // Attenuation for one segment or bounce inside the layer + Power A = Power::UNIT(); + + constexpr auto fast_exp = BSDLConfig::Fast::expf; + if (d > 0) { + A = Power( + [&](int i) { + return sigma_t[i] > 0 ? fast_exp(-d * sigma_t[i]) : 1; + }, + 1); + } + + *refl = Power([&](int i) { return sum_refl_series(Rout, Tin, Rin, A[i]); }, + 1); + *refr = Power([&](int i) { return sum_refr_series(Rout, Tin, Rin, A[i]); }, + 1); + assert((*refl + *refr).max() < 1.0001f); +} + +BSDL_INLINE_METHOD +Thinlayer::Thinlayer(float, float roughness_index, float fresnel_index) + : ThinMicrofacet(0, roughness_index, fresnel_index) +{ +} + +BSDL_INLINE_METHOD +Thinlayer::Thinlayer(float roughness, float aniso, float eta, float thickness, + float prob_clamp, Power sigma_t) + : ThinMicrofacet(roughness, aniso, eta, thickness, prob_clamp, + sigma_t) +{ +} + +template +template +BSDL_INLINE_METHOD +ThinLayerLobe::ThinLayerLobe(T* lobe, const BsdfGlobals& globals, + const Data& data) + : + + Base(lobe, globals.visible_normal(data.N), data.T, + globals.regularize_roughness(CLAMP(data.roughness, 0.0f, 1.0f)), + globals.lambda_0, true) + , spec(Base::roughness(), data.anisotropy, data.IOR, data.thickness, + data.prob_clamp, globals.wave(data.sigma_t)) + , + // We also scale refl_tint to avoid secondary rays bouncing inside, which is + // bad when we have transparent shadows and produces energy explosion + refl_tint(globals.wave(data.refl_tint).clamped(0, 1)) + , refr_tint(globals.wave(data.refr_tint).clamped(0, 1)) +{ + TabulatedEnergyCurve diff_curve(Base::roughness(), + spec.fresnel().table_index()); + + float cosNO = CLAMP(globals.wo.dot(Base::frame.Z), 0.0f, 1.0f); + Eo = diff_curve.Emiss_eval(cosNO); +} + +template +BSDL_INLINE_METHOD Sample +ThinLayerLobe::eval_impl(const Imath::V3f& wo, const Imath::V3f& wi, + bool doreflect, bool dorefract) const +{ + const bool both = doreflect && dorefract; + const float cosNI = wi.z; + const auto diff_trans = get_diff_trans(); + const float R = diff_trans.first.max(), T = diff_trans.second.max(); + const float Tprob = T / std::max(R + T, std::numeric_limits::min()); + + assert(wo.z >= 0); + if ((cosNI > 0 && !doreflect) || (cosNI < 0 && !dorefract) || cosNI == 0) + return {}; + Sample s = { wi }; + const float PE = Eo * (both ? 1 : (dorefract ? Tprob : 1 - Tprob)); + Sample ss = spec.eval(wo, wi, doreflect, dorefract); + s.update(ss.weight, ss.pdf, 1 - PE); + eval_ec_lobe(&s, wi, diff_trans.first, diff_trans.second, Tprob); + s.weight *= get_tint(cosNI); + s.roughness = sum_max(Base::roughness(), cosNI < 0 ? Base::roughness() : 0, + 1.0f); + return s; +} + +template +BSDL_INLINE_METHOD Sample +ThinLayerLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& _rnd, bool doreflect, + bool dorefract) const +{ + const bool both = doreflect && dorefract; + const auto diff_trans = get_diff_trans(); + const float R = diff_trans.first.max(), T = diff_trans.second.max(); + const float Tprob = T / std::max(R + T, std::numeric_limits::min()); + const float PE = Eo * (both ? 1 : (dorefract ? Tprob : 1 - Tprob)); + Sample s = {}; + + Imath::V3f rnd = _rnd; + if (rnd.x < 1 - PE) { + // sample specular lobe + rnd.x = Sample::stretch(rnd.x, 0.0f, 1 - PE); + auto ss = spec.sample(wo, rnd.x, rnd.y, rnd.z, doreflect, dorefract); + if (MAX_ABS_XYZ(ss.wi) == 0) + return {}; + s.wi = ss.wi; + s.update(ss.weight, ss.pdf, 1 - PE); + eval_ec_lobe(&s, s.wi, diff_trans.first, diff_trans.second, Tprob); + } else { + // sample diffuse lobe + rnd.x = Sample::stretch(rnd.x, 1 - PE, PE); + const bool back = !(!dorefract || (both && rnd.z >= Tprob)); + s.wi = sample_lobe(rnd.x, rnd.y, back); + eval_ec_lobe(&s, s.wi, diff_trans.first, diff_trans.second, Tprob); + const auto ss = spec.eval(wo, s.wi, doreflect, dorefract); + s.update(ss.weight, ss.pdf, 1 - PE); + } + const float cosNI = s.wi.z; + s.weight *= get_tint(cosNI); + s.roughness = sum_max(Base::roughness(), cosNI < 0 ? Base::roughness() : 0, + 1.0f); + return s; +} + +template +BSDL_INLINE_METHOD std::pair +ThinLayerLobe::get_diff_trans() const +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + // Start with average fresnel + const float Tf = 1 - spec.fresnel().avgf(), + Tb = 1 - spec.fresnel().avg_invf(); + // And then correct to satisfy the refraction reciprocity + const float x = Tb * SQR(spec.eta()) / (Tf + Tb * SQR(spec.eta())); + const float Tout = Tb * (1 - x), Tin = Tf * x, + // And therefore reflection is ... + Rout = 1 - Tin, Rin = 1 - Tout; + + // Diffuse and Translucent lobes for energy compensation + const float avgd = spec.thickness * Thinlayer::AVG_INV_COS; + + Power A([&](int i) { return fast_exp(-avgd * spec.sigma_t[i]); }, 1); + // Sum up series for the tints + Power diff_tint( + [&](int i) { return Thinlayer::sum_refl_series(Rout, Tin, Rin, A[i]); }, + 1); + Power trans_tint( + [&](int i) { return Thinlayer::sum_refr_series(Rout, Tin, Rin, A[i]); }, + 1); + return { diff_tint, trans_tint }; +} + +template +BSDL_INLINE_METHOD Power +ThinLayerLobe::get_tint(float cosNI) const +{ + return cosNI > 0 ? refl_tint : refr_tint; +} + +template +BSDL_INLINE_METHOD void +ThinLayerLobe::eval_ec_lobe(Sample* s, Imath::V3f wi_l, + const Power diff_tint, + const Power trans_tint, + float Tprob) const +{ + const bool back = wi_l.z <= 0; + const float side_prob = back ? Tprob : 1 - Tprob; + if (side_prob == 0) + return; + const float dpdf = Eo * fabsf(wi_l.z) * ONEOVERPI; + const Power w = back ? trans_tint : diff_tint; + s->update(w, dpdf, side_prob); +} + +template +BSDL_INLINE_METHOD Imath::V3f +ThinLayerLobe::sample_lobe(float randu, float randv, bool back) const +{ + Imath::V3f wi = sample_cos_hemisphere(randu, randv); + return back ? Imath::V3f(wi.x, wi.y, -wi.z) : wi; +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_volume_decl.h b/src/libbsdl/include/BSDL/SPI/bsdf_volume_decl.h new file mode 100644 index 000000000..4ae397596 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_volume_decl.h @@ -0,0 +1,59 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +template struct VolumeLobe : public Lobe { + using Base = Lobe; + struct Data { + float g1; + float g2; + float blend; + using lobe_type = VolumeLobe; + }; + template + BSDL_INLINE_METHOD VolumeLobe(T* lobe, Imath::V3f wo, float g1, float g2, + float l0, float blend) + : Base(lobe, -wo, 1.0f, l0, true) + , m_g1(CLAMP(g1, -0.99f, 0.99f)) + , m_g2(CLAMP(g2, -0.99f, 0.99f)) + , m_blend(blend) + { + } + template + BSDL_INLINE_METHOD VolumeLobe(T* lobe, const BsdfGlobals& globals, + const Data& data) + : VolumeLobe(lobe, globals.wo, data.g1, data.g2, globals.lambda_0, + data.blend) + { + } + + const char* name() const { return "volume"; } + + BSDL_INLINE_METHOD Sample eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const; + BSDL_INLINE_METHOD Sample sample_impl(const Imath::V3f& wo, + const Imath::V3f& sample) const; + + // cos_theta is the angle between view and light vectors (both pointing away from shading point) + static BSDL_INLINE_METHOD float phase_func(float costheta, float g); + static BSDL_INLINE_METHOD float phase_func(float costheta, float g1, + float g2, float blend); + static BSDL_INLINE_METHOD Imath::V3f + sample_phase(float g1, float g2, float blend, const Imath::V2f& sample); + +private: + float m_g1, m_g2, m_blend; +}; + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/SPI/bsdf_volume_impl.h b/src/libbsdl/include/BSDL/SPI/bsdf_volume_impl.h new file mode 100644 index 000000000..00ca296e7 --- /dev/null +++ b/src/libbsdl/include/BSDL/SPI/bsdf_volume_impl.h @@ -0,0 +1,95 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +namespace spi { + +template +BSDL_INLINE_METHOD Sample +VolumeLobe::eval_impl(const Imath::V3f& wo, + const Imath::V3f& wi) const +{ + // TODO: are we missing a minus sign here? + float OdotI = CLAMP(-wi.z, -1.0f, 1.0f); + float pdf = phase_func(OdotI, m_g1, m_g2, m_blend); + return { wi, Power::UNIT(), pdf, 1.0f }; +} + +template +BSDL_INLINE_METHOD Sample +VolumeLobe::sample_impl(const Imath::V3f& wo, + const Imath::V3f& sample) const +{ + Imath::V3f wi = sample_phase(m_g1, m_g2, m_blend, { sample.x, sample.y }); + return eval_impl(wo, wi); +} + +// cos_theta is the angle between view and light vectors (both pointing away from shading point) +template +BSDL_INLINE_METHOD float +VolumeLobe::phase_func(float costheta, float g) +{ + // NOTE: HG phase function has the nice property of having an exact importance + // importance sampling, so it is equal to its pdf + if (g == 0) + return 0.25f * ONEOVERPI; + else { + assert(fabsf(g) < 1.0f); + const float num = 0.25f * ONEOVERPI * (1 - g * g); + const float den = 1 + g * g + 2.0f * g * costheta; + assert(den > 0); + const float r = num / sqrtf(den * den * den); // ^1.5 + assert(r >= 0); + return r; + } +} + +template +BSDL_INLINE_METHOD float +VolumeLobe::phase_func(float costheta, float g1, float g2, + float blend) +{ + const float p1 = phase_func(costheta, g1); + const float p2 = phase_func(costheta, g2); + return LERP(blend, p1, p2); +} + +template +BSDL_INLINE_METHOD Imath::V3f +VolumeLobe::sample_phase(float g1, float g2, float blend, + const Imath::V2f& sample) +{ + float g, x; + if (sample.x < blend) { + g = g2; + x = sample.x / blend; + } else { + g = g1; + x = (sample.x - blend) / (1 - blend); + } + + float cosTheta; + if (fabsf(g) < 1e-3f) { + // avoid the singularity at g=0 and just use uniform sampling + cosTheta = 1 - 2 * x; + } else { + float k = (1 - g * g) / (1 - g + 2 * g * x); + cosTheta = (1 + g * g - k * k) / (2 * g); + } + float sinTheta = sqrtf(MAX(0.0f, 1.0f - cosTheta * cosTheta)); + float phi = 2 * sample.y; + float cosPhi = BSDLConfig::Fast::cospif(phi); + float sinPhi = BSDLConfig::Fast::sinpif(phi); + return { sinTheta * cosPhi, sinTheta * sinPhi, cosTheta }; +} + +} // namespace spi + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/bsdf_decl.h b/src/libbsdl/include/BSDL/bsdf_decl.h new file mode 100644 index 000000000..4ec16c985 --- /dev/null +++ b/src/libbsdl/include/BSDL/bsdf_decl.h @@ -0,0 +1,110 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include +#include +#include +#include + +#include +#include + +BSDL_ENTER_NAMESPACE + +struct Sample { + Imath::V3f wi = Imath::V3f(0); + Power weight = Power::ZERO(); + float pdf = 0; + float roughness = 0; + + BSDL_INLINE_METHOD bool null() const { return pdf == 0; } + BSDL_INLINE_METHOD void update(Power ow, float opdf, float cpdf); + static BSDL_INLINE_METHOD float stretch(float x, float min, float length); +}; + +struct LayeredData { + const void* closure; +}; + +struct BsdfGlobals { + BSDL_INLINE_METHOD BsdfGlobals(const Imath::V3f& wo, const Imath::V3f& Nf, + const Imath::V3f& Ngf, bool backfacing, + float path_roughness, float outer_ior, + float lambda_0) + : wo(wo) + , Nf(Nf) + , Ngf(Ngf) + , backfacing(backfacing) + , path_roughness(path_roughness) + , outer_ior(outer_ior) + , lambda_0(lambda_0) + { + } + struct Filter { + template + BSDL_INLINE_METHOD Power eval(const T& lobe, const Imath::V3f& wo, + const Imath::V3f& Nf, + const Imath::V3f& wi) const; + template + BSDL_INLINE_METHOD Power eval(const T& lobe, const Imath::V3f& wo, + const Imath::V3f& Nf, + const Imath::V3f& Ngf, + const Imath::V3f& wi) const; + + float bump_alpha2 = 0; + Power sigma_t = Power::ZERO(); + ThinFilm thinfilm = {}; + float lambda_0 = 0; + }; + + BSDL_INLINE_METHOD Filter get_sample_filter(const Imath::V3f& N, + bool bump_shadow) const; + static BSDL_INLINE_METHOD Imath::V3f visible_normal(const Imath::V3f& wo, + const Imath::V3f& Ngf, + const Imath::V3f& N); + BSDL_INLINE_METHOD Imath::V3f visible_normal(const Imath::V3f& N) const; + BSDL_INLINE_METHOD float regularize_roughness(float roughness) const; + BSDL_INLINE_METHOD float relative_eta(float IOR) const + { + return IOR / outer_ior; + } + BSDL_INLINE_METHOD Power wave(const Imath::C3f& c) const; + + Imath::V3f wo; + Imath::V3f Nf; + Imath::V3f Ngf; + bool backfacing; + float path_roughness; + float outer_ior; + float lambda_0; +}; + +template struct Lobe : public BSDF_ROOT { + using Sample = bsdl::Sample; // Prevent leaking from BSDF_ROOT + + template + BSDL_INLINE_METHOD Lobe(T* child, const Imath::V3f& Z, float r, float l0, + bool tr); + template + BSDL_INLINE_METHOD Lobe(T* child, const Imath::V3f& Z, const Imath::V3f& X, + float r, float l0, bool tr); + + BSDL_INLINE_METHOD void set_absorption(const Power a) + { + sample_filter.sigma_t = a; + } + BSDL_INLINE_METHOD void set_thinfilm(const ThinFilm& f) + { + sample_filter.thinfilm = f; + } + + Frame frame; + typename BsdfGlobals::Filter sample_filter; +}; + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/bsdf_impl.h b/src/libbsdl/include/BSDL/bsdf_impl.h new file mode 100644 index 000000000..32e64d657 --- /dev/null +++ b/src/libbsdl/include/BSDL/bsdf_impl.h @@ -0,0 +1,188 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include +#include +#include + +BSDL_ENTER_NAMESPACE + +// Update the sum in w (eval / pdf) so it includes ow and opdf from a different +// evaluation. cpdf is the probability of the new contribution (choice pdf). +BSDL_INLINE_METHOD void +Sample::update(Power ow, float opdf, float cpdf) +{ + assert(pdf >= 0); + assert(opdf >= 0); + assert(cpdf >= 0); + assert(cpdf <= 1); + + if (cpdf > PDF_MIN) { + opdf *= cpdf; + ow *= 1 / cpdf; + if (opdf == pdf) + weight = LERP(0.5f, weight, ow); + else if (opdf < pdf) + weight = LERP(1 / (1 + opdf / pdf), ow, weight); + else + weight = LERP(1 / (1 + pdf / opdf), weight, ow); + pdf += opdf; + } + + assert(pdf >= 0); +} + +BSDL_INLINE_METHOD float +Sample::stretch(float x, float min, float length) +{ + assert(x >= min); + assert(length > 0.0f); + return std::min((x - min) / length, ALMOSTONE); +} + +// Fix the shading normal for the viewing direction Rd. It returns a normal as +// close as possible to N without pointing away from the viewer. +BSDL_INLINE_METHOD Imath::V3f +BsdfGlobals::visible_normal(const Imath::V3f& wo, const Imath::V3f& Ngf, + const Imath::V3f& N) +{ + // assert(wo.dot(Ngf) >= 0.0f); + // Normal visible to the viewer? + if (wo.dot(N) > 0.0f) + return N; // Early exit to avoid wasting cycles + + // Normal of plane containing wo and N + Imath::V3f V = wo.cross(N); + if (MAX_ABS_XYZ(V) < 1e-4f) { + // Degenerate case, we fail to fix the normal, use the original one + V = wo.cross(Ngf); + if (MAX_ABS_XYZ(V) < 1e-4f) { + // Ngf must be too close to wo, pick some V orthogonal to wo, + // this is borrowed from the frame function + const float s = copysignf(1.0f, wo.z); + const float a = -1.0f / (s + wo.z); + V = { wo.x * wo.y * a, s + SQR(wo.y) * a, -wo.y }; + } else + V.normalize(); + } else + V.normalize(); + + // We just want a normal with a positive dot product, we take the one in + // the limit and turn it a bit towards the viewer. + return (V.cross(wo) + 1e-4f * wo).normalized(); +} + +BSDL_INLINE_METHOD Imath::V3f +BsdfGlobals::visible_normal(const Imath::V3f& N) const +{ + return BsdfGlobals::visible_normal(wo, Ngf, N); +} + +template +BSDL_INLINE_METHOD Power +BsdfGlobals::Filter::eval(const T& lobe, const Imath::V3f& wo, + const Imath::V3f& Nf, const Imath::V3f& wi) const +{ + constexpr auto fast_exp = BSDLConfig::Fast::expf; + + Power filter = Power(1, lambda_0); + if (bump_alpha2 > 0.0f) { + // This shadowing function is based in the GGX microfacet model + // I'm commenting out the outgoing shadow part intentionally so we + // don't change the look too much. That makes it non-symmetrical. + float light_cos = wi.dot(Nf); + float t = copysignf(SQR(light_cos), light_cos); + if (t > 0.0f /* && s > 0.0f */) { + float G1 = 2.0f + / (1.0f + sqrtf(1.0f + bump_alpha2 * (1.0f - t) / t)); + //float G2 = 2.0f / (1.0f + sqrtf(1.0f + bump_alpha2 * (1.0f - s)/s)); + filter *= G1 /* * G2 */; + } else + return Power::ZERO(); + } + if (sigma_t.max_abs() > 0) { + // Hacky way of receiving ignore_clearcoat_fix flag, since we don't + // have access to options here. + const bool legacy_absorption = sigma_t.min(1) < 0.0f; + // Only account for the incoming absorption, the one for wo is already + // applied via filter_o(). Unless ignore_clearcoat_fix is enabled. + const float dist + = 1 / fabsf(lobe.frame.Z.dot(wi)) + + (legacy_absorption ? 1 / fabsf(lobe.frame.Z.dot(wo)) : 0); + filter + *= Power([&](int i) { return fast_exp(-fabsf(sigma_t[i]) * dist); }, + lambda_0); + } + if (lambda_0 == 0) { + // TODO: how does this work when spectral? + Imath::C3f f = thinfilm.get(wo, wi, lobe.roughness()); + filter[0] *= f.x; + filter[1] *= f.y; + filter[2] *= f.z; + } + return filter; +} + +template +BSDL_INLINE_METHOD Power +BsdfGlobals::Filter::eval(const T& lobe, const Imath::V3f& wo, + const Imath::V3f& Nf, const Imath::V3f& Ngf, + const Imath::V3f& wi) const +{ + if (!lobe.transmissive() && Ngf.dot(wi) <= 0) + return Power::ZERO(); + return eval(lobe, wo, Nf, wi); +} + +BSDL_INLINE_METHOD float +BsdfGlobals::regularize_roughness(float roughness) const +{ + const float roughness_product = 1.0f - path_roughness; + return 1.0f - (1.0f - roughness) * roughness_product; +} + +BSDL_INLINE_METHOD Power +BsdfGlobals::wave(const Imath::C3f& c) const +{ + return Power(c, lambda_0); +} + +BSDL_INLINE_METHOD BsdfGlobals::Filter +BsdfGlobals::get_sample_filter(const Imath::V3f& N, bool bump_shadow) const +{ + const float cosNNs = N.dot(Nf); + float bump_alpha2 = 0; + if (bump_shadow && cosNNs < (1.0f - 1e-4f)) { + // If the shading normal differs from Nf, compute a plausible + // roughness for a normal distribution assuming the tangent is at 2 + // standard deviations. Knowing thar GGX tangent variance is about + // 2 alpha^2 we get this mappinga: + bump_alpha2 = CLAMP(0.125f * (1 - SQR(cosNNs)) / SQR(cosNNs), 0.0f, + 1.0f); + } + return { bump_alpha2, Power::ZERO(), {}, lambda_0 }; +} + +template +template +BSDL_INLINE_METHOD +Lobe::Lobe(T* child, const Imath::V3f& Z, float r, float l0, bool tr) + : BSDF_ROOT(child, r, l0, tr), frame(Z) +{ +} + +template +template +BSDL_INLINE_METHOD +Lobe::Lobe(T* child, const Imath::V3f& Z, const Imath::V3f& X, + float r, float l0, bool tr) + : BSDF_ROOT(child, r, l0, tr), frame(Z, X) +{ +} + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/cdf_decl.h b/src/libbsdl/include/BSDL/cdf_decl.h new file mode 100644 index 000000000..967f63a3f --- /dev/null +++ b/src/libbsdl/include/BSDL/cdf_decl.h @@ -0,0 +1,113 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +template +BSDL_INLINE F +sample_cdf(const F* data, unsigned int n, F x, unsigned int* idx, F* pdf) +{ + assert(x >= 0); + assert(x < 1); + *idx = static_cast(asl::upper_bound(data, data + n, x) + - data); + assert(*idx < n); + assert(x < data[*idx]); + F scaled_sample; + if (*idx == 0) { + *pdf = data[0]; + scaled_sample = Sample::stretch(x, static_cast(0), data[0]); + } else { + assert(x >= data[*idx - 1]); + *pdf = data[*idx] - data[*idx - 1]; + scaled_sample = Sample::stretch(x, data[*idx - 1], *pdf); + } + return scaled_sample; +} + +// For small fixed size CDFs that we hope can fit in registers and where we +// avoid any random access. +template struct StaticCdf { + // To avoid a dynamic search with a for loop that can't be unrolled, we + // implement the binary search with a recursive template. + struct result { + int idx; + float lo, hi; + }; + // Recursive rule + template struct searcher { + // Search by a random number r + BSDL_INLINE_METHOD result operator()(const float* cdf, float r) const + { + constexpr int H = M >> 1; + return r < cdf[S + H - 1] ? searcher()(cdf, r) + : searcher()(cdf, r); + } + // Search by index, equivalent to [i] but trading random access for + // small branches + BSDL_INLINE_METHOD result operator()(const float* cdf, int i) const + { + constexpr int H = M >> 1; + return i < S + H ? searcher()(cdf, i) + : searcher()(cdf, i); + } + }; + // Basic cases + template struct searcher { + BSDL_INLINE_METHOD result operator()(const float* cdf, float r) const + { + return { S, S ? cdf[S - 1] : 0.0f, cdf[S] }; + } + BSDL_INLINE_METHOD result operator()(const float* cdf, int i) const + { + return { S, S ? cdf[S - 1] : 0.0f, cdf[S] }; + } + }; + + BSDL_INLINE_METHOD float build() + { + // These loops are easily unrolled + for (int i = 1; i < N; ++i) + cdf[i] += cdf[i - 1]; + const float total = cdf[N - 1]; + if (total > 0) { + for (int i = 0; i < N; ++i) + cdf[i] /= total; + // Watch out for fast math crushing denormals and not + // dividing correctly. + const float top = cdf[N - 1]; + for (int i = N - 1; i >= 0 && cdf[i] == top; --i) + cdf[i] = 1; + } + return total; + } + BSDL_INLINE_METHOD float sample(float x, int* idx, float* pdf) + { + // We have to do it this way, get idx, lo and hi from the search because + // if we get only idx and fetch lo and hi from it, that's random access + // and CUDA sends the whole CDF to local memory. + auto res = searcher<0, N>()(cdf, x); + *idx = res.idx; + *pdf = res.hi - res.lo; + return Sample::stretch(x, res.lo, *pdf); + } + BSDL_INLINE_METHOD float pdf(int i) const + { + auto res = searcher<0, N>()(cdf, i); + return res.hi - res.lo; + } + // These can potentially produce random access if not called with constants + // or unrollable loop variables. + BSDL_INLINE_METHOD float& operator[](int i) { return cdf[i]; } + BSDL_INLINE_METHOD const float& operator[](int i) const { return cdf[i]; } + + float cdf[N]; +}; + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/config.h b/src/libbsdl/include/BSDL/config.h new file mode 100644 index 000000000..07839f5e3 --- /dev/null +++ b/src/libbsdl/include/BSDL/config.h @@ -0,0 +1,123 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#ifndef BSDL_NS +# define BSDL_NS bsdl +#endif + +#define BSDL_ENTER_NAMESPACE namespace BSDL_NS { +#define BSDL_LEAVE_NAMESPACE } + +#ifndef BSDL_INLINE_METHOD +# define BSDL_INLINE_METHOD inline +#endif +#ifndef BSDL_INLINE +# define BSDL_INLINE inline +#endif +#ifndef BSDL_DECL +# define BSDL_DECL +#endif +#ifndef BSDL_UNROLL +# define BSDL_UNROLL() _Pragma("unroll") +#endif + +#include +#include + +#ifndef M_PI +# define M_PI 3.1415926535897932 +#endif + +BSDL_ENTER_NAMESPACE + +BSDL_DECL constexpr float EPSILON = 1e-4f; +BSDL_DECL constexpr float PI = float(M_PI); +BSDL_DECL constexpr float ONEOVERPI = 1 / PI; +BSDL_DECL constexpr float ALMOSTONE + = 0.999999940395355224609375f; // Max float < 1.0f +BSDL_DECL constexpr float FLOAT_MIN + = 1.17549435e-38f; // Minimum float normal value +BSDL_DECL constexpr float SQRT2 = 1.4142135623730951f; +BSDL_DECL constexpr float BIG = 1e12f; +BSDL_DECL constexpr float PDF_MIN = 1e-6f; + +struct BSDLDefaultConfig { + struct Fast { + static BSDL_INLINE_METHOD float cosf(float x) { return std::cos(x); } + static BSDL_INLINE_METHOD float sinf(float x) { return std::sin(x); } + static BSDL_INLINE_METHOD void sincosf(float x, float* s, float* c) + { + *s = std::sin(x); + *c = std::cos(x); + } + static BSDL_INLINE_METHOD float sinpif(float x) + { + return std::sin(x * float(M_PI)); + } + static BSDL_INLINE_METHOD float cospif(float x) + { + return std::cos(x * float(M_PI)); + } + static BSDL_INLINE_METHOD float asinf(float x) { return std::asin(x); } + static BSDL_INLINE_METHOD float acosf(float x) { return std::acos(x); } + static BSDL_INLINE_METHOD float atan2f(float x, float y) + { + return std::atan2(x, y); + } + static BSDL_INLINE_METHOD float expf(float x) { return std::exp(x); } + static BSDL_INLINE_METHOD float exp2f(float x) { return std::exp2(x); } + static BSDL_INLINE_METHOD float logf(float x) { return std::log(x); } + static BSDL_INLINE_METHOD float log2f(float x) { return std::log2(x); } + static BSDL_INLINE_METHOD float log1pf(float x) + { + return std::log1p(x); + } + static BSDL_INLINE_METHOD float powf(float x, float y) + { + return x < FLOAT_MIN ? 0 : std::pow(x, y); + } + static BSDL_INLINE_METHOD float erff(float x) { return std::erf(x); } + // No default implementation + // static BSDL_INLINE_METHOD float ierff(float x) { return std::erfinv(x); } + }; + + static constexpr int HERO_WAVELENGTH_CHANNELS = 4; + + enum class ColorSpaceTag { sRGB, ACEScg }; + + static BSDL_INLINE_METHOD ColorSpaceTag current_color_space() + { + return ColorSpaceTag::ACEScg; + } + + struct JakobHanikaLut { + struct Coeff { + static constexpr int N = 3; + static constexpr int NPAD = 4; // waste 1 to get SSE + float c[NPAD]; + }; + static constexpr int RGB_RES = 64; + + float scale[RGB_RES]; + Coeff coeff[3][RGB_RES][RGB_RES][RGB_RES]; + }; + + static BSDL_INLINE_METHOD const JakobHanikaLut* + get_jakobhanika_lut(ColorSpaceTag cs) + { + switch (cs) { + case ColorSpaceTag::ACEScg: return &JH_ACEScg_lut; + case ColorSpaceTag::sRGB: + return nullptr; // not handled by Jakob-Hanika + default: return nullptr; + } + } + + static const JakobHanikaLut JH_ACEScg_lut; +}; + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/jakobhanika_decl.h b/src/libbsdl/include/BSDL/jakobhanika_decl.h new file mode 100644 index 000000000..35bf394c0 --- /dev/null +++ b/src/libbsdl/include/BSDL/jakobhanika_decl.h @@ -0,0 +1,39 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once +#include + +BSDL_ENTER_NAMESPACE + +struct JakobHanikaUpsampler { + struct SigmoidPolynomial { + BSDL_INLINE_METHOD SigmoidPolynomial(float a, float b, float c) + : a(a), b(b), c(c) + { + } + static BSDL_INLINE_METHOD float sigmoid(float x) + { + return !std::isfinite(x) ? (x > 0 ? 1 : 0) + : 0.5f + x / (2 * std::sqrt(1 + x * x)); + } + BSDL_INLINE_METHOD float operator()(float x) const + { + return sigmoid((a * x + b) * x + c); + } + + float a, b, c; + }; + + BSDL_INLINE_METHOD + JakobHanikaUpsampler(const BSDLConfig::JakobHanikaLut* lut) : lut(lut) {} + + BSDL_INLINE_METHOD SigmoidPolynomial lookup(float c_r, float c_g, + float c_b) const; + + const BSDLConfig::JakobHanikaLut* lut; +}; + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/jakobhanika_impl.h b/src/libbsdl/include/BSDL/jakobhanika_impl.h new file mode 100644 index 000000000..17d03a6b7 --- /dev/null +++ b/src/libbsdl/include/BSDL/jakobhanika_impl.h @@ -0,0 +1,94 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once +#include +#include +#include + +BSDL_ENTER_NAMESPACE + +template +BSDL_INLINE int +find_interval(int sz, const Predicate& pred) +{ + int size = sz - 2, first = 1; + while (size > 0) { + // Evaluate predicate at midpoint and update _first_ and _size_ + int half = size >> 1, middle = first + half; + bool predResult = pred(middle); + first = predResult ? middle + 1 : first; + size = predResult ? size - (half + 1) : half; + } + return CLAMP(first - 1, 0, sz - 2); +} + +// Operators so we can LERP them +BSDL_INLINE BSDLConfig::JakobHanikaLut::Coeff +operator*(const BSDLConfig::JakobHanikaLut::Coeff c, float f) +{ + BSDLConfig::JakobHanikaLut::Coeff res; + for (int i = 0; i != BSDLConfig::JakobHanikaLut::Coeff::NPAD; ++i) + res.c[i] = c.c[i] * f; + return res; +} +BSDL_INLINE BSDLConfig::JakobHanikaLut::Coeff +operator*(float f, const BSDLConfig::JakobHanikaLut::Coeff c) +{ + return c * f; +} +BSDL_INLINE BSDLConfig::JakobHanikaLut::Coeff +operator+(const BSDLConfig::JakobHanikaLut::Coeff a, + const BSDLConfig::JakobHanikaLut::Coeff b) +{ + BSDLConfig::JakobHanikaLut::Coeff res; + for (int i = 0; i != BSDLConfig::JakobHanikaLut::Coeff::NPAD; ++i) + res.c[i] = a.c[i] + b.c[i]; + return res; +} + +BSDL_INLINE_METHOD JakobHanikaUpsampler::SigmoidPolynomial +JakobHanikaUpsampler::lookup(float c_r, float c_g, float c_b) const +{ + constexpr int RGB_RES = BSDLConfig::JakobHanikaLut::RGB_RES; + + assert(0 <= c_r && c_r <= 1.0f && 0 <= c_g && c_g <= 1.0f && 0 <= c_b + && c_b <= 1.0f); + + // Find maximum component and compute remapped component values + const int maxc = (c_r > c_g) ? ((c_r > c_b) ? 0 : 2) + : ((c_g > c_b) ? 1 : 2); + + const float z = maxc == 0 ? c_r : (maxc == 1 ? c_g : c_b); + const float x = (maxc == 0 ? c_g : (maxc == 1 ? c_b : c_r)) * (RGB_RES - 1) + / z; + const float y = (maxc == 0 ? c_b : (maxc == 1 ? c_r : c_g)) * (RGB_RES - 1) + / z; + + // Compute integer indices and offsets for coefficient interpolation + const int xi = std::min((int)x, RGB_RES - 2), + yi = std::min((int)y, RGB_RES - 2), + zi = find_interval(RGB_RES, + [&](int i) { return lut->scale[i] < z; }); + const float dx = x - xi, dy = y - yi, + dz = (z - lut->scale[zi]) + / (lut->scale[zi + 1] - lut->scale[zi]); + + // Trilinearly interpolate sigmoid polynomial coefficients + auto co = [&](int dx, int dy, int dz) { + return lut->coeff[maxc][zi + dz][yi + dy][xi + dx]; + }; + + const BSDLConfig::JakobHanikaLut::Coeff c + = LERP(dz, + LERP(dy, LERP(dx, co(0, 0, 0), co(1, 0, 0)), + LERP(dx, co(0, 1, 0), co(1, 1, 0))), + LERP(dy, LERP(dx, co(0, 0, 1), co(1, 0, 1)), + LERP(dx, co(0, 1, 1), co(1, 1, 1)))); + + return SigmoidPolynomial(c.c[0], c.c[1], c.c[2]); +} + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/microfacet_tools_decl.h b/src/libbsdl/include/BSDL/microfacet_tools_decl.h new file mode 100644 index 000000000..6e461dc6f --- /dev/null +++ b/src/libbsdl/include/BSDL/microfacet_tools_decl.h @@ -0,0 +1,130 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include +#include + +BSDL_ENTER_NAMESPACE + +struct GGXDist { + BSDL_INLINE_METHOD GGXDist() : ax(0), ay(0) {} + + BSDL_INLINE_METHOD GGXDist(float rough, float aniso) + : ax(SQR(rough)), ay(ax) + { + assert(rough >= 0 && rough <= 1); + assert(aniso >= 0 && aniso <= 1); + constexpr float ALPHA_MIN = 1e-5f; + ax = std::max(ax * (1 + aniso), ALPHA_MIN); + ay = std::max(ay * (1 - aniso), ALPHA_MIN); + } + + BSDL_INLINE_METHOD float D(const Imath::V3f& Hr) const; + BSDL_INLINE_METHOD float G1(Imath::V3f w) const; + BSDL_INLINE_METHOD float G2_G1(Imath::V3f wi, Imath::V3f wo) const; + BSDL_INLINE_METHOD Imath::V3f sample(const Imath::V3f& wo, float randu, + float randv) const; + + BSDL_INLINE_METHOD float roughness() const { return std::max(ax, ay); } + +private: + float ax, ay; +}; + +template struct TabulatedEnergyCurve { + BSDL_INLINE_METHOD TabulatedEnergyCurve(const float roughness, + const float fresnel_index) + : roughness(roughness), fresnel_index(fresnel_index) + { + } + + BSDL_INLINE_METHOD float interpolate_emiss(int i) const; + BSDL_INLINE_METHOD float get_Emiss_avg() const; + BSDL_INLINE_METHOD float Emiss_eval(float c) const; + +private: + float roughness, fresnel_index; +}; + +// Not a full BxDF, just enough implemented to allow baking tables +template struct MiniMicrofacet { + // describe how tabulation should be done + static constexpr int Nc = 16; + static constexpr int Nr = 16; + static constexpr int Nf = 1; + + static constexpr float get_cosine(int i) + { + // we don't use a uniform spacing of cosines because we want a bit more resolution near 0 + // where the energy compensation tables tend to vary more quickly + return std::max(SQR(float(i) * (1.0f / (Nc - 1))), 1e-6f); + } + + explicit MiniMicrofacet(float rough, float) : d(rough, 0.0f) {} + + BSDL_INLINE_METHOD Sample sample(Imath::V3f wo, float randu, float randv, + float randw) const; + +private: + Dist d; +}; + +namespace spi { + +struct MiniMicrofacetGGX : public MiniMicrofacet { + explicit MiniMicrofacetGGX(float, float rough, float) + : MiniMicrofacet(rough, 0.0f) + { + } + struct Energy { + float data[Nf * Nr * Nc]; + }; + static BSDL_INLINE_METHOD Energy& get_energy(); + + static const char* lut_header() { return "microfacet_tools_luts.h"; } + static const char* struct_name() { return "MiniMicrofacetGGX"; } +}; + +} // namespace spi + +template struct MicrofacetMS { + // describe how tabulation should be done + static constexpr int Nc = 16; + static constexpr int Nr = 16; + static constexpr int Nf = 32; + + static constexpr float get_cosine(int i) + { + // we don't use a uniform spacing of cosines because we want a bit more resolution near 0 + // where the energy compensation tables tend to vary more quickly + return std::max(SQR(float(i) * (1.0f / (Nc - 1))), 1e-6f); + } + static constexpr const char* name() { return "MicrofacetMS"; } + + BSDL_INLINE_METHOD MicrofacetMS() {} + + explicit BSDL_INLINE_METHOD MicrofacetMS(float cosNO, float roughness_index, + float fresnel_index); + BSDL_INLINE_METHOD MicrofacetMS(const GGXDist& dist, const Fresnel& fresnel, + float cosNO, float roughness); + BSDL_INLINE_METHOD Sample eval(Imath::V3f wo, Imath::V3f wi) const; + BSDL_INLINE_METHOD Sample sample(Imath::V3f wo, float randu, float randv, + float randw) const; + + BSDL_INLINE_METHOD const Fresnel& getFresnel() const { return f; } + +private: + BSDL_INLINE_METHOD Power computeFmiss() const; + + GGXDist d; + Fresnel f; + float Eo; + float Eo_avg; +}; + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/microfacet_tools_impl.h b/src/libbsdl/include/BSDL/microfacet_tools_impl.h new file mode 100644 index 000000000..ee91543c7 --- /dev/null +++ b/src/libbsdl/include/BSDL/microfacet_tools_impl.h @@ -0,0 +1,301 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include +#include + +#ifndef BAKE_BSDL_TABLES +# include +#endif + +#include + +BSDL_ENTER_NAMESPACE + +BSDL_INLINE_METHOD float +GGXDist::D(const Imath::V3f& Hr) const +{ + // Have these two multiplied by sinThetaM2 for convenience + const float cosPhi2st2 = SQR(Hr.x / ax); + const float sinPhi2st2 = SQR(Hr.y / ay); + const float cosThetaM2 = SQR(Hr.z); + const float sinThetaM2 = cosPhi2st2 + sinPhi2st2; + return 1.0f / (float(M_PI) * ax * ay * SQR(cosThetaM2 + sinThetaM2)); +} + +BSDL_INLINE_METHOD float +GGXDist::G1(Imath::V3f w) const +{ + assert(w.z > 0); + w = { w.x * ax, w.y * ay, w.z }; + return 2.0f * w.z / (w.z + w.length()); +} + +BSDL_INLINE_METHOD float +GGXDist::G2_G1(Imath::V3f wi, Imath::V3f wo) const +{ + assert(wi.z > 0); + assert(wo.z > 0); + wi = { wi.x * ax, wi.y * ay, wi.z }; + wo = { wo.x * ax, wo.y * ay, wo.z }; + const float nl = wi.length(); + const float nv = wo.length(); + return wi.z * (wo.z + nv) / (wo.z * nl + wi.z * nv); +} + +BSDL_INLINE_METHOD Imath::V3f +GGXDist::sample(const Imath::V3f& wo, float randu, float randv) const +{ + // Much simpler technique from Bruce Walter's tech report on Ellipsoidal NDF's (trac#4776) + const Imath::V3f V = Imath::V3f(ax * wo.x, ay * wo.y, wo.z).normalized(); + // NOTE: the orientation can "flip" as we approach normal incidence, but there doesn't seem to be a good way to solve this + const Imath::V3f T1 = V.z < 0.9999f ? Imath::V3f(V.y, -V.x, 0).normalized() + : Imath::V3f(1, 0, 0); + const Imath::V3f T2 = T1.cross(V); + + // Sample point in circle (concentric mapping) + Imath::V2f p = square_to_unit_disc({ randu, randv }); + // Offset + const float s = 0.5f * (1 + V.z); + const float p2o = s * p.y + (1 - s) * sqrtf(1 - p.x * p.x); + // Calculate third component (unit hemisphere) + const float p3 = sqrtf(std::max(1.0f - SQR(p.x) - SQR(p2o), 0.0f)); + + const Imath::V3f N = p.x * T1 + p2o * T2 + p3 * V; + return Imath::V3f(ax * N.x, ay * N.y, std::max(N.z, 0.0f)).normalized(); +} + +template +BSDL_INLINE_METHOD float +TabulatedEnergyCurve::interpolate_emiss(int i) const +{ + const float* storedE = BSDF::get_energy().data; + // interpolate a custom energy compensation curve for the chosen roughness + float rf = roughness * (BSDF::Nr - 1); + int ra = static_cast(rf); + int rb = std::min(ra + 1, BSDF::Nr - 1); + rf -= ra; + assert(ra >= 0 && ra < BSDF::Nr); + assert(rb >= 0 && rb < BSDF::Nr); + assert(rf >= 0 && rf <= 1); + + if (BSDF::Nf == 1) { + return LERP(rf, storedE[ra * BSDF::Nc + i], storedE[rb * BSDF::Nc + i]); + } else { + // bilinear interpolation for the chosen roughness and fresnel + assert(fresnel_index >= 0); + assert(fresnel_index <= 1); + float ff = fresnel_index * (BSDF::Nf - 1); + int fa = static_cast(ff); + int fb = std::min(fa + 1, BSDF::Nf - 1); + ff -= fa; + + assert(fa >= 0 && fa < BSDF::Nf); + assert(fb >= 0 && fb < BSDF::Nf); + assert(ff >= 0 && ff <= 1); + + return LERP(ff, + LERP(rf, storedE[(fa * BSDF::Nr + ra) * BSDF::Nc + i], + storedE[(fa * BSDF::Nr + rb) * BSDF::Nc + i]), + LERP(rf, storedE[(fb * BSDF::Nr + ra) * BSDF::Nc + i], + storedE[(fb * BSDF::Nr + rb) * BSDF::Nc + i])); + } +} + +template +BSDL_INLINE_METHOD float +TabulatedEnergyCurve::get_Emiss_avg() const +{ + // integrate 2*c*Emiss(c) + // note that the table is not uniformly spaced + // the first entry is a triangle, not a trapezoid, account for it seperately + float cos0 = BSDF::get_cosine(0); + float F0 = cos0 * interpolate_emiss(0); // skip factor of 2 here + float Emiss_avg + = F0 * cos0; // beacuse it cancels out with 0.5 of trapeze area formula + + for (int i = 1; i < BSDF::Nc; i++) { + const float Emiss = interpolate_emiss(i); + float cos1 = BSDF::get_cosine(i); + float F1 = cos1 * Emiss; + Emiss_avg += (F0 + F1) * (cos1 - cos0); + cos0 = cos1; + F0 = F1; + assert(Emiss >= 0); + assert(Emiss <= 1); + } + + assert(Emiss_avg >= 0); + assert(Emiss_avg <= 1); + return Emiss_avg; +} + +template +BSDL_INLINE_METHOD float +TabulatedEnergyCurve::Emiss_eval(float c) const +{ + assert(c >= 0); + + // The get_cosine call may not return uniformly spaced cosines, + // so we need to account for this in our evaluation + + float cos0 = BSDF::get_cosine(0); + if (c <= cos0) { + // lerp to 0 for first bin + float E = interpolate_emiss(0); + assert(E >= 0); + assert(E <= 1); + return E; + } + for (int i = 1; i < BSDF::Nc; i++) { + const float cos1 = BSDF::get_cosine(i); + if (c < cos1) { + float q = (c - cos0) / (cos1 - cos0); + assert(q >= 0); + assert(q <= 1); + float E = LERP(q, interpolate_emiss(i - 1), interpolate_emiss(i)); + assert(E >= 0); + assert(E <= 1); + return E; + } + cos0 = cos1; + } + // just a smidge over 1, just clamp + return interpolate_emiss(BSDF::Nc - 1); +} + +template +BSDL_INLINE_METHOD Sample +MiniMicrofacet::sample(Imath::V3f wo, float randu, float randv, + float randw) const +{ + // compute just enough to get the weight + const Imath::V3f m = d.sample(wo, randu, randv); + if (m.dot(wo) > 0) { + const Imath::V3f wi = reflect(wo, m); + if (wi.z > 0) { + const float weight = d.G2_G1(wi, wo); + // NOTE: we just care about the weight in this context, don't bother computing the PDF + return { wi, Power(weight, 1), 0, d.roughness() }; + } + } + return {}; +} + +template +BSDL_INLINE_METHOD +MicrofacetMS::MicrofacetMS(float cosNO, float roughness_index, + float fresnel_index) + : d(roughness_index, 0), f(Fresnel::from_table_index(fresnel_index)) +{ + TabulatedEnergyCurve curve( + roughness_index, fresnel_index); // Energy compensation helper + Eo = curve.Emiss_eval(cosNO); + Eo_avg = curve.get_Emiss_avg(); +} + +template +BSDL_INLINE_METHOD +MicrofacetMS::MicrofacetMS(const GGXDist& dist, const Fresnel& fresnel, + float cosNO, float roughness) + : d(dist), f(fresnel) +{ + TabulatedEnergyCurve curve( + roughness, + 0.0f); // Energy compensation helper + Eo = curve.Emiss_eval(cosNO); + Eo_avg = curve.get_Emiss_avg(); +} + +template +BSDL_INLINE_METHOD Sample +MicrofacetMS::eval(Imath::V3f wo, Imath::V3f wi) const +{ + const float cosNO = wo.z; + const float cosNI = wi.z; + if (cosNI <= 0 || cosNO <= 0) + return {}; + + // evaluate multiple scattering lobe: + Sample s = { wi, computeFmiss(), Eo * cosNI * ONEOVERPI }; + + // get half vector + Imath::V3f m = (wo + wi).normalized(); + float cosMO = m.dot(wo); + if (cosMO > 0) { + // eq. 20: (F*G*D)/(4*in*on) + // eq. 33: first we calculate D(m) with m=Hr: + const float D = d.D(m); + // eq. 34: now calculate G + const float G1 = d.G1(wo); + // eq. 24 (over the PDF below) + const float out = d.G2_G1(wi, wo); + // convert into pdf of the sampled direction + // eq. 38 - from the visible micronormal distribution in "Importance + // Sampling Microfacet-Based BSDFs using the Distribution of Visible + // Normals", Heitz and d'Eon (equation 2) + float s_pdf = (G1 * D) / (4.0f * cosNO); + // fresnel term between outgoing direction and microfacet + const Power F = f.eval(cosMO); + + // merge specular into + s.update(F * out, s_pdf, 1 - Eo); + } + return s; +} + +template +BSDL_INLINE_METHOD Sample +MicrofacetMS::sample(Imath::V3f wo, float randu, float randv, + float randw) const +{ + const float cosNO = wo.z; + if (cosNO <= 0) + return {}; + + // probability of choosing the energy compensation lobe + const float ec_prob = Eo; + Imath::V3f wi; + if (randu < ec_prob) { + // sample diffuse energy compensation lobe + randu = Sample::stretch(randu, 0.0f, ec_prob); + wi = sample_cos_hemisphere(randu, randv); + } else { + // sample microfacet (half vector) + // generate outgoing direction + wi = reflect(wo, + d.sample(wo, Sample::stretch(randu, ec_prob, 1 - ec_prob), + randv)); + } + // evaluate brdf on outgoing direction + return eval(wo, wi); +} + +template +BSDL_INLINE_METHOD Power +MicrofacetMS::computeFmiss() const +{ + // The following expression was derived after discussions with Stephen Hill. This is the biggest difference + // compared to our earlier implementation. + // The idea is to model the extra bounces using the average fresnel and average energy of a single bounce, and + // being careful to only include the energy _beyond_ the first bounce (ie: not double-counting the single-scattering) + const float Emiss_avg = Eo_avg; + const Power Favg = f.avg(); + assert(Favg.min(1) >= 0); + assert(Favg.max() <= 1); + Power Fmiss( + [&](int i) { + return SQR(Favg[i]) * (1 - Emiss_avg) / (1 - Favg[i] * Emiss_avg); + }, + 1); + assert(Fmiss.min(1) >= 0); + assert(Fmiss.max() <= 1); + return Fmiss; +} + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/params.h b/src/libbsdl/include/BSDL/params.h new file mode 100644 index 000000000..25348b323 --- /dev/null +++ b/src/libbsdl/include/BSDL/params.h @@ -0,0 +1,89 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +#include +#include + +BSDL_ENTER_NAMESPACE + +enum class ParamType : uint8_t { + NONE = 0, + VECTOR, + INT, + FLOAT, + COLOR, + STRING, + CLOSURE +}; + +// This can easily be converted to OSL::ClosureParam +struct LobeParam { + ParamType type; + int offset; + const char* key; + int type_size; // redundant? +}; + +template struct ParamTypeOf { + static BSDL_INLINE_METHOD constexpr ParamType get(); +}; + +// clang-format off +template <> BSDL_INLINE_METHOD constexpr ParamType ParamTypeOf::get() { return ParamType::VECTOR; } +template <> BSDL_INLINE_METHOD constexpr ParamType ParamTypeOf::get() { return ParamType::INT; } +template <> BSDL_INLINE_METHOD constexpr ParamType ParamTypeOf::get() { return ParamType::FLOAT; } +template <> BSDL_INLINE_METHOD constexpr ParamType ParamTypeOf::get() { return ParamType::COLOR; } +template <> BSDL_INLINE_METHOD constexpr ParamType ParamTypeOf::get() { return ParamType::STRING; } +template <> BSDL_INLINE_METHOD constexpr ParamType ParamTypeOf::get() { return ParamType::CLOSURE; } +// clang-format on + +// Borrowed from https://gist.github.com/graphitemaster/494f21190bb2c63c5516 a +// handy way of grabbing the offset of a member in a legal way. +// Note the orignal fix doesn't work with multiple inheritance since &derived::member +// returns a pointer like base::*member for inherited members. +template struct offset_in { + template + static BSDL_INLINE_METHOD constexpr size_t of(T1 T2::*member) + { + // When a caller passes &type::foo as member, if foo is in a parent class it + // will resolve as Parent::* (thanks C++) and T2 is NOT the intended struct we + // want. This breaks the offset when using multiple inheritance. + // To prevent the epic failure we cast the member pointer to be in T provided + // explicitly. + //constexpr T object{}; + auto&& object = T(); // Hoping to get a constexpr + return size_t(&(object.*member)) - size_t(&object); + } +}; + +template struct LobeRegistry { + using Data = D; + + struct Entry { + static const unsigned MAX_PARAMS = 64; + + const char* name; + LobeParam params[MAX_PARAMS]; + }; + template + static constexpr LobeParam param(T1 T2::*field, const char* key = nullptr) + { + return { ParamTypeOf::get(), (int)offset_in::of(field), key, + sizeof(T1) }; + } + static LobeParam close() + { + return { ParamType::NONE, sizeof(Data), nullptr, alignof(Data) }; + } +}; + +// This is how to get an entry +// ClosureEntry()(); + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/spectrum_decl.h b/src/libbsdl/include/BSDL/spectrum_decl.h new file mode 100644 index 000000000..39ac18799 --- /dev/null +++ b/src/libbsdl/include/BSDL/spectrum_decl.h @@ -0,0 +1,398 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include +#include +#include + +BSDL_ENTER_NAMESPACE + +struct Power; +struct sRGBColorSpace; +struct ACEScgColorSpace; +struct BypassColorSpace; + +using AbstractColorSpace + = StaticVirtual; + +struct ColorSpace : public AbstractColorSpace { + template + BSDL_INLINE_METHOD ColorSpace(const CS* cs) : AbstractColorSpace(cs) + { + } + + BSDL_INLINE_METHOD Power upsample(const Imath::C3f rgb, + float lambda_0) const; + BSDL_INLINE_METHOD Imath::C3f downsample(const Power wave, + float lambda_0) const; +}; + +struct sRGBColorSpace : public ColorSpace { + BSDL_INLINE_METHOD sRGBColorSpace() : ColorSpace(this) {} + BSDL_INLINE_METHOD Power upsample_impl(const Imath::C3f rgb, + float lambda_0) const; + BSDL_INLINE_METHOD Imath::C3f downsample_impl(const Power wave, + float lambda_0) const; + + static constexpr int BASIS_RES = 81; + +private: + struct Data { + // Basis for RGB -> spectrum conversion. It is a color table because + // they are three curves. Conversion is the linear combination of: + // + // spectrum = R * curve1 + G * curve2 + B * curve3 + // + // The sRGB basis roundtrips very well with its D65 illuminant. From + // Spectral Primary Decomposition for Rendering with sRGB Reflectance + // Agatha Mallett, Cem Yuksel + // https://graphics.geometrian.com/research/spectral-primaries.html + Imath::C3f rgb_basis_sRGB[BASIS_RES]; + }; + + static BSDL_INLINE_METHOD const Data& get_luts(); +}; + +struct ACEScgColorSpace : public ColorSpace { + BSDL_INLINE_METHOD ACEScgColorSpace() : ColorSpace(this) {} + BSDL_INLINE_METHOD Power upsample_impl(const Imath::C3f rgb, + float lambda_0) const; + BSDL_INLINE_METHOD Imath::C3f downsample_impl(const Power wave, + float lambda_0) const; +}; + +struct BypassColorSpace : public ColorSpace { + BSDL_INLINE_METHOD BypassColorSpace() : ColorSpace(this) {} + BSDL_INLINE_METHOD Power upsample_impl(const Imath::C3f rgb, + float lambda_0) const; + BSDL_INLINE_METHOD Imath::C3f downsample_impl(const Power wave, + float lambda_0) const; +}; + +// This struct is a proxy for lookup tables and spectral rendering constants +struct Spectrum { + // Wavelength range for our sampling and tables, in nanometers. + static constexpr int LAMBDA_MIN = 380; + static constexpr int LAMBDA_MAX = 780; + static constexpr int LAMBDA_RANGE = LAMBDA_MAX - LAMBDA_MIN; + // Tables will have entries spaced at this step size, in nanometers. + static constexpr int LAMBDA_STEP = 5; + // And therefore, thips is the table size, with an additional end point. + static constexpr int LAMBDA_RES = LAMBDA_RANGE / LAMBDA_STEP + 1; + + struct Data { + // CIE 1931 observer curves for going from spectrum to XYZ + Imath::C3f xyz_response[LAMBDA_RES]; + // White point illuminants + float D65_illuminant[LAMBDA_RES]; + float D60_illuminant[LAMBDA_RES]; + }; + + static BSDL_INLINE_METHOD float wrap(float lambda) + { + return fmodf(lambda - LAMBDA_MIN, LAMBDA_RANGE) + LAMBDA_MIN; + } + + static BSDL_INLINE_METHOD constexpr Data get_luts_ctxr(); + static BSDL_INLINE_METHOD const Data& get_luts(); + + BSDL_INLINE_METHOD static constexpr float + integrate_illuminant(const float* I, const Imath::C3f* xyz) + { + float s = 0; + for (auto i = 0; i != LAMBDA_RES - 1; ++i) { + const float a = I[i] * xyz[i].y; + const float b = I[i + 1] * xyz[i + 1].y; + s += (a + b) * 0.5f; + } + return s * LAMBDA_RANGE / (LAMBDA_RES - 1); + } + + template + static BSDL_INLINE_METHOD Imath::C3f spec_to_xyz(Power wave, + float lambda_0); + + static BSDL_INLINE_METHOD ColorSpace get_color_space(float lambda_0) + { + if (lambda_0 == 0) + return BypassColorSpace(); + else { + switch (BSDLConfig::current_color_space()) { + case BSDLConfig::ColorSpaceTag::sRGB: return sRGBColorSpace(); + case BSDLConfig::ColorSpaceTag::ACEScg: return ACEScgColorSpace(); + default: return sRGBColorSpace(); + } + } + } + + template + static BSDL_INLINE_METHOD T lookup(float lambda, const T array[LAMBDA_RES]); +}; + +static_assert(sRGBColorSpace::BASIS_RES == Spectrum::LAMBDA_RES); + +// Hero wavelength spectral representation. For every camera ray, a hero wavelength +// is chosen randomly. To reduce color noise, additional wavelengths, equaly spaced +// along the spectrum, are tracked. We use hero + 3, so 4 channels. And Power replaces +// the typical 3 channel RGB color representation. Otherwise is the same operations, +// + - * / that look the same as with old school RGB colors. +// +// Note this type also handles RGB by setting lambda_0 to 0.0, we just zero out +// the extra channels. This way the render can work in both RGB or spectral mode. +struct Power { + // We track 4 floats that fit in a single simd register for CPUs. Always pass + // by value for performance, even GPU. + static constexpr unsigned N = BSDLConfig::HERO_WAVELENGTH_CHANNELS; + // Wavelength spacing of the channels. + static constexpr float HERO_STEP = float(Spectrum::LAMBDA_RANGE) / N; + + // Hero wave length lambda_0 is considered external, tracked by the integrator. + // We only care about channel intensities. If a function needs lambda_0 it is + // passed as an argument. + float data[N]; + + // Basic initialization takes either a float or a lambda function, so the typical + // + // color.r = exp(-t * sigma.r); + // color.g = exp(-t * sigma.g); + // color.b = exp(-t * sigma.b); + // + // becomes + // + // wave = Power([&] (int i) { return exp(-t * sigma[i]); }, lambda_0); + // + // or just wave = Power(0.17f, lambda_0); Where lambda_0 is only used to handle + // the RGB mode. + template + BSDL_INLINE_METHOD constexpr Power(const F& f, float lambda_0) + { + if constexpr (std::is_invocable_r::value) { + BSDL_UNROLL() + for (int i = 0; i != N; ++i) { + data[i] = i < 3 || lambda_0 != 0 ? f(i) : 0; + } + } else { + BSDL_UNROLL() + for (int i = 0; i != N; ++i) + data[i] = f; + if (lambda_0 == 0) + for (int i = 3; i != N; ++i) + data[i] = 0; + } + } + + Power() = default; + Power(const Power& o) = default; + + // RGB to spectrum upsampling, lambda_0 is the hero wavelength (0 means RGB). + BSDL_INLINE_METHOD Power(const Imath::C3f rgb, float lambda_0); + template + BSDL_INLINE_METHOD void update(const F& f, float lambda_0) + { + BSDL_UNROLL() + for (int i = 0; i != N; ++i) + data[i] = i < 3 || lambda_0 != 0 ? f(i, data[i]) : 0; + } + + static constexpr Power ZERO() + { + return Power(0, 1); // Same for RGB or spectral + } + static constexpr Power UNIT() + { + return Power(1, 1); // Watch out RGB use of this + } + + // Convert back to RGB + BSDL_INLINE_METHOD Imath::C3f toRGB(float lambda_0) const; + // From wavelength from to to, including 0.0 for RGB + BSDL_INLINE_METHOD Power resample(float from, float to) const; + + BSDL_INLINE_METHOD float& operator[](int i) { return data[i]; } + BSDL_INLINE_METHOD float operator[](int i) const { return data[i]; } + + BSDL_INLINE_METHOD Power operator*=(const Power o); + BSDL_INLINE_METHOD Power operator*=(float f); + BSDL_INLINE_METHOD Power operator+=(const Power o); + + BSDL_INLINE_METHOD float max() const + { + float m = data[0]; + BSDL_UNROLL() + for (int i = 1; i != N; ++i) + m = std::max(m, data[i]); + return m; + } + BSDL_INLINE_METHOD float max_abs() const + { + float m = fabsf(data[0]); + BSDL_UNROLL() + for (int i = 1; i != N; ++i) + m = std::max(m, fabsf(data[i])); + return m; + } + BSDL_INLINE_METHOD float min(float lambda_0) const + { + float m = data[0]; + BSDL_UNROLL() + for (int i = 1; i != N; ++i) + m = std::min(m, i != 3 || lambda_0 != 0 ? data[i] : m); + return m; + } + BSDL_INLINE_METHOD float sum() const + { + float m = 0; + BSDL_UNROLL() + for (int i = 0; i != N; ++i) + m += data[i]; + return m; + } + BSDL_INLINE_METHOD float avg(float lambda_0) const + { + return sum() / (lambda_0 > 0 ? N : 3); + } + BSDL_INLINE_METHOD float luminance(float lambda_0) const + { + return lambda_0 > 0 + ? avg(lambda_0) + : data[0] * 0.3086f + data[1] * 0.6094f + data[2] * 0.0824f; + } + BSDL_INLINE_METHOD Power clamped(float a, float b) const + { + Power r; + BSDL_UNROLL() + for (int i = 0; i != N; ++i) + r[i] = std::max(a, std::min(b, data[i])); + return r; + } + BSDL_INLINE_METHOD Power scale_clamped(float maxv) const + { + const float scale = 1 / std::max(maxv, max()); + return Power([&](int i) { return data[i] * scale; }, 1); + } + BSDL_INLINE_METHOD bool is_zero(float eps = 0) const + { + for (int i = 0; i != N; ++i) + if (fabsf(data[i]) > eps) + return false; + return true; + } + BSDL_INLINE_METHOD bool is_corrupted() const + { + BSDL_UNROLL() + for (int i = 0; i != N; ++i) + if (!std::isfinite(data[i])) + return true; + return false; + } + BSDL_INLINE_METHOD bool is_illegal() const + { + BSDL_UNROLL() + for (int i = 0; i != N; ++i) + if (!std::isfinite(data[i]) || data[i] < 0) + return true; + return false; + } + BSDL_INLINE_METHOD Power cliped_rgb(float lambda_0) const + { + Power m = *this; + for (int i = lambda_0 > 0 ? N : 3; i != N; ++i) + m.data[i] = 0; + return m; + } +}; + +BSDL_INLINE Power +operator-(Power o) +{ + return Power([&](int i) { return -o[i]; }, 1); +} + +BSDL_INLINE_METHOD Power +operator*(const Power a, const Power o) +{ + Power n; + BSDL_UNROLL() + for (int i = 0; i != Power::N; ++i) + n.data[i] = a.data[i] * o.data[i]; + return n; +} + +BSDL_INLINE_METHOD Power +operator/(const Power a, const Power o) +{ + Power n; + BSDL_UNROLL() + for (int i = 0; i != Power::N; ++i) + n.data[i] = a.data[i] / o.data[i]; + return n; +} + +BSDL_INLINE_METHOD Power +operator*(const Power a, float f) +{ + Power n; + BSDL_UNROLL() + for (int i = 0; i != Power::N; ++i) + n.data[i] = a.data[i] * f; + return n; +} + +BSDL_INLINE_METHOD Power +operator+(const Power a, const Power o) +{ + Power n; + BSDL_UNROLL() + for (int i = 0; i != Power::N; ++i) + n.data[i] = a.data[i] + o.data[i]; + return n; +} + +BSDL_INLINE_METHOD Power +operator-(const Power a, const Power o) +{ + Power n; + BSDL_UNROLL() + for (int i = 0; i != Power::N; ++i) + n.data[i] = a.data[i] - o.data[i]; + return n; +} + +BSDL_INLINE_METHOD Power +Power::operator*=(const Power o) +{ + BSDL_UNROLL() + for (int i = 0; i != N; ++i) + data[i] *= o.data[i]; + return *this; +} + +BSDL_INLINE_METHOD Power +Power::operator*=(float f) +{ + for (int i = 0; i != N; ++i) + data[i] *= f; + return *this; +} + +BSDL_INLINE_METHOD Power +Power::operator+=(const Power o) +{ + BSDL_UNROLL() + for (int i = 0; i != N; ++i) + data[i] += o.data[i]; + return *this; +} + +BSDL_INLINE Power +operator*(float f, const Power o) +{ + return o * f; +} + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/spectrum_impl.h b/src/libbsdl/include/BSDL/spectrum_impl.h new file mode 100644 index 000000000..5882b4699 --- /dev/null +++ b/src/libbsdl/include/BSDL/spectrum_impl.h @@ -0,0 +1,186 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once +#include +#include +#include + +BSDL_ENTER_NAMESPACE + +template +BSDL_INLINE_METHOD T +Spectrum::lookup(float lambda, const T array[LAMBDA_RES]) +{ + const float lambda_wrap = fmodf(std::max(0.0f, lambda - LAMBDA_MIN), + LAMBDA_RANGE); + const int i = roundf(lambda_wrap / LAMBDA_STEP); + return array[i]; + const float lambda_fidx = fmodf(std::max(0.0f, lambda - LAMBDA_MIN), + LAMBDA_RANGE) + / LAMBDA_STEP; + const int lo = std::min(int(lambda_fidx), LAMBDA_RES - 2); + const int hi = lo + 1; + const float mix = lambda_fidx - lo; + return LERP(mix, array[lo], array[hi]); +} + +template +BSDL_INLINE_METHOD Imath::C3f +Spectrum::spec_to_xyz(Power wave, float lambda_0) +{ + constexpr float inv_norm + = 1 + / integrate_illuminant(I == 60 ? get_luts_ctxr().D60_illuminant + : get_luts_ctxr().D65_illuminant, + get_luts_ctxr().xyz_response); + const Data& data = get_luts(); + const float* illuminant = I == 60 ? data.D60_illuminant + : data.D65_illuminant; + + Imath::C3f total(0); + BSDL_UNROLL() + for (int i = 0; i != Power::N; ++i) { + const float lambda = lambda_0 + i * Power::HERO_STEP; + const Imath::C3f power = lookup(lambda, data.xyz_response) + * wave.data[i]; + total += power * (LAMBDA_RANGE * inv_norm / Power::N) + * lookup(lambda, illuminant); + } + return total; +} + +BSDL_INLINE_METHOD +Power::Power(const Imath::C3f rgb, float lambda_0) +{ + ColorSpace cs = Spectrum::get_color_space(lambda_0); + *this = cs.upsample(rgb, lambda_0); +} + +BSDL_INLINE_METHOD Imath::C3f +Power::toRGB(float lambda_0) const +{ + ColorSpace cs = Spectrum::get_color_space(lambda_0); + return cs.downsample(*this, lambda_0); +} + +BSDL_INLINE_METHOD Power +Power::resample(float from, float to) const +{ + if (from == to) + return *this; + Imath::C3f rgb = toRGB(from); + return Power(rgb, to); +} + +BSDL_INLINE_METHOD Power +sRGBColorSpace::upsample_impl(const Imath::C3f rgb, float lambda_0) const +{ + assert(lambda_0 != 0); + const auto& basis = get_luts().rgb_basis_sRGB; + Power w; + BSDL_UNROLL() + for (int i = 0; i != Power::N; ++i) { + const float lambda = lambda_0 + i * Power::HERO_STEP; + const Imath::C3f power = Spectrum::lookup(lambda, basis); + w.data[i] = power.x * rgb.x + power.y * rgb.y + power.z * rgb.z; + } + return w; +} + +BSDL_INLINE_METHOD Imath::C3f +sRGBColorSpace::downsample_impl(const Power wave, float lambda_0) const +{ + assert(lambda_0 != 0); + Imath::C3f total = Spectrum::spec_to_xyz<65>(wave, lambda_0); + Imath::V3f cv = { total.x, total.y, total.z }; + // This is BT709 aka sRGB + Imath::V3f XYZ_to_RGB[3] = { { 3.2405f, -1.5371f, -0.4985f }, + { -0.9693f, 1.8760f, 0.0416f }, + { 0.0556f, -0.2040f, 1.0572f } }; + + return { std::max(0.0f, XYZ_to_RGB[0].dot(cv)), + std::max(0.0f, XYZ_to_RGB[1].dot(cv)), + std::max(0.0f, XYZ_to_RGB[2].dot(cv)) }; +} + +BSDL_INLINE_METHOD Power +ACEScgColorSpace::upsample_impl(const Imath::C3f _rgb, float lambda_0) const +{ + assert(lambda_0 != 0); + const float maxrgb = std::max(_rgb.x, std::max(_rgb.y, _rgb.z)); + const float minrgb = std::min(_rgb.x, std::min(_rgb.y, _rgb.z)); + assert(minrgb >= 0); + if (maxrgb - minrgb < EPSILON) + return Power(maxrgb, lambda_0); + // Over this intensity, very saturated colors start losing saturation + // with the table for ACEScg. We scale down and boost the spectrum. + constexpr float safe = 0.7f; + const float scale = std::max(maxrgb, safe); + Imath::C3f rgb = _rgb * (safe / scale); + auto curve = JakobHanikaUpsampler(BSDLConfig::get_jakobhanika_lut( + BSDLConfig::ColorSpaceTag::ACEScg)) + .lookup(rgb.x, rgb.y, rgb.z); + Power w; + BSDL_UNROLL() + for (int i = 0; i != Power::N; ++i) { + const float lambda = Spectrum::wrap(lambda_0 + i * Power::HERO_STEP); + w.data[i] = curve(lambda) * scale * (1 / safe); + } + return w; +} + +BSDL_INLINE_METHOD Imath::C3f +ACEScgColorSpace::downsample_impl(const Power wave, float lambda_0) const +{ + assert(lambda_0 != 0); + constexpr float JH_range_correction = 1; //400.0f / 470.0f; + Imath::C3f total = Spectrum::spec_to_xyz<60>(wave, lambda_0) + * JH_range_correction; + Imath::V3f cv = { total.x, total.y, total.z }; + // This is ACEScg + Imath::V3f XYZ_to_RGB[3] = { { 1.641023f, -0.324803f, -0.236425f }, + { -0.663663f, 1.615332f, 0.016756f }, + { 0.011722f, -0.008284f, 0.988395f } }; + return { std::max(0.0f, XYZ_to_RGB[0].dot(cv)), + std::max(0.0f, XYZ_to_RGB[1].dot(cv)), + std::max(0.0f, XYZ_to_RGB[2].dot(cv)) }; +} + +BSDL_INLINE_METHOD Power +BypassColorSpace::upsample_impl(const Imath::C3f rgb, float lambda_0) const +{ + assert(lambda_0 == 0); + Power w; + w.data[0] = rgb.x; + w.data[1] = rgb.y; + w.data[2] = rgb.z; + BSDL_UNROLL() + for (int i = 3; i != Power::N; ++i) + w.data[i] = 0; + return w; +} + +BSDL_INLINE_METHOD Imath::C3f +BypassColorSpace::downsample_impl(const Power wave, float lambda_0) const +{ + assert(lambda_0 == 0); + return { wave.data[0], wave.data[1], wave.data[2] }; +} + +BSDL_INLINE_METHOD Power +ColorSpace::upsample(const Imath::C3f rgb, float lambda_0) const +{ + return dispatch([&](auto& cs) { return cs.upsample_impl(rgb, lambda_0); }); +} + +BSDL_INLINE_METHOD Imath::C3f +ColorSpace::downsample(const Power wave, float lambda_0) const +{ + return dispatch( + [&](auto& cs) { return cs.downsample_impl(wave, lambda_0); }); +} + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/spectrum_luts.h b/src/libbsdl/include/BSDL/spectrum_luts.h new file mode 100644 index 000000000..92943f681 --- /dev/null +++ b/src/libbsdl/include/BSDL/spectrum_luts.h @@ -0,0 +1,228 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once +#include + +BSDL_ENTER_NAMESPACE + +BSDL_INLINE_METHOD constexpr Spectrum::Data +Spectrum::get_luts_ctxr() +{ + return { + // XYZ response + { { 0.001368f, 0.000039f, 0.006450f }, + { 0.002236f, 0.000064f, 0.010550f }, + { 0.004243f, 0.000120f, 0.020050f }, + { 0.007650f, 0.000217f, 0.036210f }, + { 0.014310f, 0.000396f, 0.067850f }, + { 0.023190f, 0.000640f, 0.110200f }, + { 0.043510f, 0.001210f, 0.207400f }, + { 0.077630f, 0.002180f, 0.371300f }, + { 0.134380f, 0.004000f, 0.645600f }, + { 0.214770f, 0.007300f, 1.039050f }, + { 0.283900f, 0.011600f, 1.385600f }, + { 0.328500f, 0.016840f, 1.622960f }, + { 0.348280f, 0.023000f, 1.747060f }, + { 0.348060f, 0.029800f, 1.782600f }, + { 0.336200f, 0.038000f, 1.772110f }, + { 0.318700f, 0.048000f, 1.744100f }, + { 0.290800f, 0.060000f, 1.669200f }, + { 0.251100f, 0.073900f, 1.528100f }, + { 0.195360f, 0.090980f, 1.287640f }, + { 0.142100f, 0.112600f, 1.041900f }, + { 0.095640f, 0.139020f, 0.812950f }, + { 0.057950f, 0.169300f, 0.616200f }, + { 0.032010f, 0.208020f, 0.465180f }, + { 0.014700f, 0.258600f, 0.353300f }, + { 0.004900f, 0.323000f, 0.272000f }, + { 0.002400f, 0.407300f, 0.212300f }, + { 0.009300f, 0.503000f, 0.158200f }, + { 0.029100f, 0.608200f, 0.111700f }, + { 0.063270f, 0.710000f, 0.078250f }, + { 0.109600f, 0.793200f, 0.057250f }, + { 0.165500f, 0.862000f, 0.042160f }, + { 0.225750f, 0.914850f, 0.029840f }, + { 0.290400f, 0.954000f, 0.020300f }, + { 0.359700f, 0.980300f, 0.013400f }, + { 0.433450f, 0.994950f, 0.008750f }, + { 0.512050f, 1.000000f, 0.005750f }, + { 0.594500f, 0.995000f, 0.003900f }, + { 0.678400f, 0.978600f, 0.002750f }, + { 0.762100f, 0.952000f, 0.002100f }, + { 0.842500f, 0.915400f, 0.001800f }, + { 0.916300f, 0.870000f, 0.001650f }, + { 0.978600f, 0.816300f, 0.001400f }, + { 1.026300f, 0.757000f, 0.001100f }, + { 1.056700f, 0.694900f, 0.001000f }, + { 1.062200f, 0.631000f, 0.000800f }, + { 1.045600f, 0.566800f, 0.000600f }, + { 1.002600f, 0.503000f, 0.000340f }, + { 0.938400f, 0.441200f, 0.000240f }, + { 0.854450f, 0.381000f, 0.000190f }, + { 0.751400f, 0.321000f, 0.000100f }, + { 0.642400f, 0.265000f, 0.000050f }, + { 0.541900f, 0.217000f, 0.000030f }, + { 0.447900f, 0.175000f, 0.000020f }, + { 0.360800f, 0.138200f, 0.000010f }, + { 0.283500f, 0.107000f, 0.000000f }, + { 0.218700f, 0.081600f, 0.000000f }, + { 0.164900f, 0.061000f, 0.000000f }, + { 0.121200f, 0.044580f, 0.000000f }, + { 0.087400f, 0.032000f, 0.000000f }, + { 0.063600f, 0.023200f, 0.000000f }, + { 0.046770f, 0.017000f, 0.000000f }, + { 0.032900f, 0.011920f, 0.000000f }, + { 0.022700f, 0.008210f, 0.000000f }, + { 0.015840f, 0.005723f, 0.000000f }, + { 0.011359f, 0.004102f, 0.000000f }, + { 0.008111f, 0.002929f, 0.000000f }, + { 0.005790f, 0.002091f, 0.000000f }, + { 0.004109f, 0.001484f, 0.000000f }, + { 0.002899f, 0.001047f, 0.000000f }, + { 0.002049f, 0.000740f, 0.000000f }, + { 0.001440f, 0.000520f, 0.000000f }, + { 0.001000f, 0.000361f, 0.000000f }, + { 0.000690f, 0.000249f, 0.000000f }, + { 0.000476f, 0.000172f, 0.000000f }, + { 0.000332f, 0.000120f, 0.000000f }, + { 0.000235f, 0.000085f, 0.000000f }, + { 0.000166f, 0.000060f, 0.000000f }, + { 0.000117f, 0.000042f, 0.000000f }, + { 0.000083f, 0.000030f, 0.000000f }, + { 0.000059f, 0.000021f, 0.000000f }, + { 0.000042f, 0.000015f, 0.000000f } }, + // D65 illuminant + { 49.9755f, 52.3118f, 54.6482f, 68.7015f, 82.7549f, 87.1204f, 91.486f, + 92.4589f, 93.4318f, 90.057f, 86.6823f, 95.7736f, 104.865f, 110.936f, + 117.008f, 117.41f, 117.812f, 116.336f, 114.861f, 115.392f, 115.923f, + 112.367f, 108.811f, 109.082f, 109.354f, 108.578f, 107.802f, 106.296f, + 104.79f, 106.239f, 107.689f, 106.047f, 104.405f, 104.225f, 104.046f, + 102.023f, 100.0f, 98.1671f, 96.3342f, 96.0611f, 95.788f, 92.2368f, + 88.6856f, 89.3459f, 90.0062f, 89.8026f, 89.5991f, 88.6489f, 87.6987f, + 85.4936f, 83.2886f, 83.4939f, 83.6992f, 81.863f, 80.0268f, 80.1207f, + 80.2146f, 81.2462f, 82.2778f, 80.281f, 78.2842f, 74.0027f, 69.7213f, + 70.6652f, 71.6091f, 72.979f, 74.349f, 67.9765f, 61.604f, 65.7448f, + 69.8856f, 72.4863f, 75.087f, 69.3398f, 63.5927f, 55.0054f, 46.4182f, + 56.6118f, 66.8054f, 65.0941f, 63.3828f }, + // D60 illuminant + { 41.471500f, 44.046250f, 46.621000f, 59.460050f, 72.299100f, + 76.380650f, 80.462200f, 81.698900f, 82.935600f, 80.314750f, + 77.693900f, 86.696600f, 95.699300f, 101.835950f, 107.972600f, + 108.774000f, 109.575400f, 108.673750f, 107.772100f, 108.727900f, + 109.683700f, 106.700800f, 103.717900f, 104.479100f, 105.240300f, + 104.837300f, 104.434300f, 103.480850f, 102.527400f, 104.291650f, + 106.055900f, 104.686600f, 103.317300f, 103.428450f, 103.539600f, + 101.769800f, 100.000000f, 98.375300f, 96.750600f, 96.730800f, + 96.711000f, 93.315000f, 89.919000f, 90.957400f, 91.995800f, + 92.044750f, 92.093700f, 91.366900f, 90.640100f, 88.580050f, + 86.520000f, 87.045700f, 87.571400f, 85.769800f, 83.968200f, + 84.341600f, 84.715000f, 86.099000f, 87.483000f, 85.477800f, + 83.472600f, 78.818050f, 74.163500f, 75.386900f, 76.610300f, + 77.826350f, 79.042400f, 72.253000f, 65.463600f, 69.780600f, + 74.097600f, 76.807900f, 79.518200f, 73.408950f, 67.299700f, + 58.283750f, 49.267800f, 60.076000f, 70.884200f, 69.020300f, + 67.156400f } + }; +} + +BSDL_INLINE_METHOD const sRGBColorSpace::Data& +sRGBColorSpace::get_luts() +{ + static const Data data = { + // sRGB basis + { { 0.327457413827055f, 0.331861713085874f, 0.340680791548052f }, + { 0.323750578270541f, 0.329688187759399f, 0.346561186624852f }, + { 0.313439461251577f, 0.327860021624697f, 0.358700493140351f }, + { 0.288879382755265f, 0.319173580231756f, 0.391947026588195f }, + { 0.239205681158886f, 0.294322583694842f, 0.466471730587333f }, + { 0.189702036890535f, 0.258697064768736f, 0.551600895598602f }, + { 0.121746067959218f, 0.188894319254765f, 0.689359610948928f }, + { 0.074578270669466f, 0.125388381991689f, 0.800033346878607f }, + { 0.0444331586340337f, 0.0786870603106217f, 0.876879780935314f }, + { 0.0289286321285029f, 0.0531432708659453f, 0.917928097443955f }, + { 0.0223166534847512f, 0.0422881460313421f, 0.935395200669632f }, + { 0.0169113072926318f, 0.0333183455029171f, 0.949770347115183f }, + { 0.0141811071179667f, 0.0297559481859724f, 0.95606294480524f }, + { 0.0130531426774873f, 0.0303312505369047f, 0.956615606890316f }, + { 0.011986163627845f, 0.0309885718973007f, 0.957025264931328f }, + { 0.0112887147124048f, 0.0316863551888381f, 0.957024930534713f }, + { 0.0109060664656517f, 0.0346699615029974f, 0.954423972737066f }, + { 0.0104007134810042f, 0.034551957443675f, 0.955047329020204f }, + { 0.0106373602541465f, 0.0406848061948297f, 0.948677833093334f }, + { 0.0109076625337741f, 0.0544600373694056f, 0.934632299842328f }, + { 0.0110327124480988f, 0.0809052874204737f, 0.908061999852269f }, + { 0.0113106565912268f, 0.146348302857044f, 0.842341039463727f }, + { 0.0111546420569403f, 0.379679643296617f, 0.609165715365647f }, + { 0.0101487704062122f, 0.766744268654033f, 0.223106960959533f }, + { 0.00891858211883843f, 0.87621474761337f, 0.114866670291336f }, + { 0.00768557633847106f, 0.918491655613843f, 0.0738227678957437f }, + { 0.00670570828469526f, 0.940655562534437f, 0.0526387287910555f }, + { 0.00599580598764424f, 0.95373188453302f, 0.0402723090168887f }, + { 0.00553725664234189f, 0.961643279840238f, 0.0328194626509591f }, + { 0.00519378424120663f, 0.967200019685078f, 0.0276061959270456f }, + { 0.00502536226522334f, 0.970989746390046f, 0.0239848911270394f }, + { 0.00513636276967508f, 0.972852303563554f, 0.0220113333527922f }, + { 0.00543320026053983f, 0.973116594076444f, 0.0214502052559966f }, + { 0.00581998590243535f, 0.973351069154143f, 0.0208289445095685f }, + { 0.00640057277462412f, 0.973351115544369f, 0.0202483113888087f }, + { 0.00744952868340878f, 0.972261079731725f, 0.0202893914512066f }, + { 0.00858363581937657f, 0.973351021746917f, 0.018065342335913f }, + { 0.0103957624651674f, 0.973148495185693f, 0.0164557422344685f }, + { 0.0135654335386492f, 0.971061306300914f, 0.0153732601340955f }, + { 0.0193845158399742f, 0.966371305955183f, 0.0142441784845517f }, + { 0.0320840712020024f, 0.954941967502548f, 0.0129739615543347f }, + { 0.0743560378459411f, 0.913578989551261f, 0.0120649741345218f }, + { 0.624393724178075f, 0.364348803907687f, 0.0112574781603901f }, + { 0.91831003276872f, 0.0715072425408851f, 0.0101827246716942f }, + { 0.949253030175051f, 0.0412304344713751f, 0.00951653538723741f }, + { 0.958187833329246f, 0.0324238741836685f, 0.00938829272866817f }, + { 0.958187751332698f, 0.0319246297982003f, 0.00988761909067028f }, + { 0.958187625087782f, 0.0312760331730969f, 0.0105363420064589f }, + { 0.955679060771746f, 0.0326303704290574f, 0.0116905688374448f }, + { 0.958006154893429f, 0.0295308721490739f, 0.0124629728871037f }, + { 0.954101573456564f, 0.0315617611702464f, 0.0143366651774203f }, + { 0.947607606237237f, 0.0356742182708204f, 0.0167181753275443f }, + { 0.938681328447549f, 0.0414030053955673f, 0.0199156660750025f }, + { 0.924466682751434f, 0.0506042604489561f, 0.024929056163281f }, + { 0.904606025333056f, 0.0634343003817003f, 0.0319596735860402f }, + { 0.880412198927933f, 0.0789182452939229f, 0.0406695540952484f }, + { 0.8477878731517f, 0.0995427426653747f, 0.0526693824219396f }, + { 0.805779126623019f, 0.125595760093287f, 0.0686251105141947f }, + { 0.752531853871421f, 0.15759091044168f, 0.0898772323000136f }, + { 0.686439396844578f, 0.19539823904421f, 0.118162358926434f }, + { 0.61869457086061f, 0.231474474772178f, 0.149830947442133f }, + { 0.540264443959111f, 0.268852136095262f, 0.190883409341834f }, + { 0.472964416293838f, 0.296029164217928f, 0.231006403025217f }, + { 0.432701596704049f, 0.309754994441945f, 0.257543385422202f }, + { 0.405358045528392f, 0.317815883383822f, 0.276826038721536f }, + { 0.385491834974902f, 0.322990347389898f, 0.291517772810795f }, + { 0.370983584551061f, 0.326353847938009f, 0.302662506083233f }, + { 0.357608701523081f, 0.32914390227898f, 0.313247301302886f }, + { 0.348712800108393f, 0.330808726803682f, 0.320478325124633f }, + { 0.344880119344691f, 0.331482689922243f, 0.323636994707961f }, + { 0.341917877323291f, 0.331984550352389f, 0.3260973088469f }, + { 0.339531092987129f, 0.332341172522545f, 0.328127369340184f }, + { 0.337169503774367f, 0.332912009415539f, 0.329917975958888f }, + { 0.336172018527717f, 0.332919279695214f, 0.330907901216649f }, + { 0.335167443433363f, 0.333027672578856f, 0.331803633095995f }, + { 0.334421625306463f, 0.33317970467326f, 0.332396627255361f }, + { 0.334008760376402f, 0.333247030974549f, 0.332740780726824f }, + { 0.333915792790082f, 0.333259349210601f, 0.332820857081489f }, + { 0.333818454946367f, 0.333275050279383f, 0.332901731283444f }, + { 0.333672774928456f, 0.333294328448732f, 0.333025967488632f }, + { 0.333569513405591f, 0.333309424957775f, 0.333111083081497f } } + }; + return data; +} + +BSDL_INLINE_METHOD const Spectrum::Data& +Spectrum::get_luts() +{ + static Data data = get_luts_ctxr(); + return data; +} + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/static_virtual.h b/src/libbsdl/include/BSDL/static_virtual.h new file mode 100644 index 000000000..125a8e537 --- /dev/null +++ b/src/libbsdl/include/BSDL/static_virtual.h @@ -0,0 +1,484 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include + +// This header defines the class StaticVirtual which is used for dynamic dispatch +// of subclass methods using a switch/case statement instead of virtual methods. +// It is inspired on PBRT4 and the tagged pointers, except we don't use tagged +// pointers, instead the subclass ID is stored by StaticVirtual as a member. When +// defineing a base class the list of possible subclasses is explicitly stated like +// +// struct Base : public StaticVirtual { ... } +// +// Then methods can be dispatched from Base using the dispatch() method. See an +// example at the end of this file. StaticVirtual has a templated constructor, this +// way at construction time we feed it the specific subclass just passing the this +// pointer (see example). + +BSDL_ENTER_NAMESPACE + +// First tool is to get the index of a type within a type list. We use std::tuple +// as a type list, and with this recursive template we can say +// +// Index::value == 1 +// +// to map a type to an index +// +template struct Index; + +template +struct Index> { + static constexpr std::size_t value = 0; +}; + +template +struct Index> { + static constexpr std::size_t value + = 1 + Index>::value; +}; + +// Then we define the Dispatcher struct, which takes an object of type F with a +// templated call() method and calls this method with the class corresponding to +// the requested index. + +template struct Dispatcher; + +// Trivial case, just one subclass A0, disptch is a no brainer +template struct Dispatcher> { + template BSDL_INLINE_METHOD static auto call(size_t index, F f) + { + return f.template call(); + } +}; + +// These macros help us emitting the switch/case statement to save some typing + +#define CASE1(offset) \ + case offset: \ + return f \ + .template call::type>(); +#define CASE2(offset) CASE1(offset) CASE1(offset + 1) +#define CASE4(offset) CASE2(offset) CASE2(offset + 2) +#define CASE8(offset) CASE4(offset) CASE4(offset + 4) +#define CASE16(offset) CASE8(offset) CASE8(offset + 8) +#define CASEDEF(offset) \ + default: \ + return f \ + .template call::type>(); + +// Now we define ARGSXX(D) macros to emit argument lists with a decorator D to +// optionally prefix the arg name. Arguments are called A0, A1, ... AN. This would be +// shorter if we had recursive macros. + +#define ARGS2(D) D(A0), D(A1) +#define ARGS3(D) ARGS2(D), D(A2) +#define ARGS4(D) ARGS3(D), D(A3) +#define ARGS5(D) ARGS4(D), D(A4) +#define ARGS6(D) ARGS5(D), D(A5) +#define ARGS7(D) ARGS6(D), D(A6) +#define ARGS8(D) ARGS7(D), D(A7) +#define ARGS9(D) ARGS8(D), D(A8) +#define ARGS10(D) ARGS9(D), D(A9) +#define ARGS11(D) ARGS10(D), D(A10) +#define ARGS12(D) ARGS11(D), D(A11) +#define ARGS13(D) ARGS12(D), D(A12) +#define ARGS14(D) ARGS13(D), D(A13) +#define ARGS15(D) ARGS14(D), D(A14) +#define ARGS16(D) ARGS15(D), D(A15) +#define ARGS17(D) ARGS16(D), D(A16) +#define ARGS18(D) ARGS17(D), D(A17) +#define ARGS19(D) ARGS18(D), D(A18) +#define ARGS20(D) ARGS19(D), D(A19) +#define ARGS21(D) ARGS20(D), D(A20) +#define ARGS22(D) ARGS21(D), D(A21) +#define ARGS23(D) ARGS22(D), D(A22) +#define ARGS24(D) ARGS23(D), D(A23) +#define ARGS25(D) ARGS24(D), D(A24) +#define ARGS26(D) ARGS25(D), D(A25) +#define ARGS27(D) ARGS26(D), D(A26) +#define ARGS28(D) ARGS27(D), D(A27) +#define ARGS29(D) ARGS28(D), D(A28) +#define ARGS30(D) ARGS29(D), D(A29) +#define ARGS31(D) ARGS30(D), D(A30) +#define ARGS32(D) ARGS31(D), D(A31) + +// We also need helpers to emit the case statements. + +#define CASES2 CASE1(0) CASEDEF(1) +#define CASES3 CASE2(0) CASEDEF(2) +#define CASES4 CASE2(0) CASE1(2) CASEDEF(3) +#define CASES5 CASE4(0) CASEDEF(4) +#define CASES6 CASE4(0) CASE1(4) CASEDEF(5) +#define CASES7 CASE4(0) CASE2(4) CASEDEF(6) +#define CASES8 CASE4(0) CASE2(4) CASE1(6) CASEDEF(7) +#define CASES9 CASE8(0) CASEDEF(8) +#define CASES10 CASE8(0) CASE1(8) CASEDEF(9) +#define CASES11 CASE8(0) CASE2(8) CASEDEF(10) +#define CASES12 CASE8(0) CASE2(8) CASE1(10) CASEDEF(11) +#define CASES13 CASE8(0) CASE4(8) CASEDEF(12) +#define CASES14 CASE8(0) CASE4(8) CASE1(12) CASEDEF(13) +#define CASES15 CASE8(0) CASE4(8) CASE2(12) CASEDEF(14) +#define CASES16 CASE8(0) CASE4(8) CASE2(12) CASE1(14) CASEDEF(15) +#define CASES17 CASE16(0) CASEDEF(16) +#define CASES18 CASE16(0) CASE1(16) CASEDEF(17) +#define CASES19 CASE16(0) CASE2(16) CASEDEF(18) +#define CASES20 CASE16(0) CASE2(16) CASE1(18) CASEDEF(19) +#define CASES21 CASE16(0) CASE4(16) CASEDEF(20) +#define CASES22 CASE16(0) CASE4(16) CASE1(20) CASEDEF(21) +#define CASES23 CASE16(0) CASE4(16) CASE2(20) CASEDEF(22) +#define CASES24 CASE16(0) CASE4(16) CASE2(20) CASE1(22) CASEDEF(23) +#define CASES25 CASE16(0) CASE8(16) CASEDEF(24) +#define CASES26 CASE16(0) CASE8(16) CASE1(24) CASEDEF(25) +#define CASES27 CASE16(0) CASE8(16) CASE2(24) CASEDEF(26) +#define CASES28 CASE16(0) CASE8(16) CASE2(24) CASE1(26) CASEDEF(27) +#define CASES29 CASE16(0) CASE8(16) CASE4(24) CASEDEF(28) +#define CASES30 CASE16(0) CASE8(16) CASE4(24) CASE1(28) CASEDEF(29) +#define CASES31 CASE16(0) CASE8(16) CASE4(24) CASE2(28) CASEDEF(30) +#define CASES32 CASE16(0) CASE8(16) CASE4(24) CASE2(28) CASE1(30) CASEDEF(31) + +// And we are ready to create dispatchers up to 32 entries. We use two decorators: +// one that adds the typename keyword and another one that does nothing. + +#define TYPENAME(X) typename X +#define ARG(X) X + +#define DECL_DISPATCH(_ARGS, _CASES) \ + template \ + struct Dispatcher> { \ + using pack = std::tuple<_ARGS(ARG)>; \ + template \ + static BSDL_INLINE_METHOD auto call(size_t index, F f) \ + { \ + switch (index - BASE) { \ + _CASES \ + } \ + } \ + } + +DECL_DISPATCH(ARGS2, CASES2); +DECL_DISPATCH(ARGS3, CASES3); +DECL_DISPATCH(ARGS4, CASES4); +DECL_DISPATCH(ARGS5, CASES5); +DECL_DISPATCH(ARGS6, CASES6); +DECL_DISPATCH(ARGS7, CASES7); +DECL_DISPATCH(ARGS8, CASES8); +DECL_DISPATCH(ARGS9, CASES9); +DECL_DISPATCH(ARGS10, CASES10); +DECL_DISPATCH(ARGS11, CASES11); +DECL_DISPATCH(ARGS12, CASES12); +DECL_DISPATCH(ARGS13, CASES13); +DECL_DISPATCH(ARGS14, CASES14); +DECL_DISPATCH(ARGS15, CASES15); +DECL_DISPATCH(ARGS16, CASES16); +DECL_DISPATCH(ARGS17, CASES17); +DECL_DISPATCH(ARGS18, CASES18); +DECL_DISPATCH(ARGS19, CASES19); +DECL_DISPATCH(ARGS20, CASES20); +DECL_DISPATCH(ARGS21, CASES21); +DECL_DISPATCH(ARGS22, CASES22); +DECL_DISPATCH(ARGS23, CASES23); +DECL_DISPATCH(ARGS24, CASES24); +DECL_DISPATCH(ARGS25, CASES25); +DECL_DISPATCH(ARGS26, CASES26); +DECL_DISPATCH(ARGS27, CASES27); +DECL_DISPATCH(ARGS28, CASES28); +DECL_DISPATCH(ARGS29, CASES29); +DECL_DISPATCH(ARGS30, CASES30); +DECL_DISPATCH(ARGS31, CASES31); +DECL_DISPATCH(ARGS32, CASES32); + +#define MAX_SWITCH 32 + +// And then if we have more than 32 types we divide them in smaller switches with +// if statements +template +struct Dispatcher> { + template static BSDL_INLINE_METHOD auto call(size_t index, F f) + { + if (index < BASE + MAX_SWITCH) + return Dispatcher>::template call( + index, f); + else + return Dispatcher>::template call< + BASE + MAX_SWITCH>(index, f); + } +}; + +template struct Includes; +template struct Includes { + static constexpr bool value = false; +}; +template +struct Includes { + static constexpr bool value = std::is_same::value + || Includes::value; +}; + +// Finally, yes, we are ready to define our StaticVirtual class +template struct StaticVirtual { + // The subclasses type list + using types = std::tuple; + // A templated constructor to store the type index in idx, we pass a pointer + // to infer the type because the compiler has problems with templated constructors. + template + BSDL_INLINE_METHOD StaticVirtual(const T*) : idx(GET_ID()) + { + } + + // Simple handler for the Dispatch helper that takes a callable F, possible + // lambda function that receives obj cast to the particular type. + template struct Handler { + template BSDL_INLINE_METHOD auto call() + { + return f(*static_cast(obj)); + } + F f; + StaticVirtual* obj; + }; + // const version + template struct ConstHandler { + template BSDL_INLINE_METHOD auto call() + { + return f(*static_cast(obj)); + } + F f; + const StaticVirtual* obj; + }; + + // Actual dispatch function that you can feed a lambda + template BSDL_INLINE_METHOD auto dispatch(F f) + { + Handler h = { f, this }; + return Dispatcher, types>::template call<0>(idx, h); + } + // Const version + template BSDL_INLINE_METHOD auto dispatch(F f) const + { + ConstHandler h = { f, this }; + return Dispatcher, types>::template call<0>(idx, h); + } + // For inspecting a type alone (no object), f should only use its arg type + template + static BSDL_INLINE_METHOD auto dispatch(unsigned idx, F f) + { + StaticVirtual tmp(idx); + return tmp.dispatch(f); + } + + // Static mapping from type to index + template static BSDL_INLINE_METHOD constexpr unsigned GET_ID() + { + constexpr bool included = Includes::value; + static_assert(included, + "Constructed type is not in StaticVirtual declaration"); + if constexpr (included) + return Index::value; + else + return 0; + } + // Dynamic version + unsigned BSDL_INLINE_METHOD get_id() const { return idx; } + +private: + // For static dispatch + BSDL_INLINE_METHOD StaticVirtual(unsigned idx) : idx(idx) {} + + uint16_t idx; +}; + +// Tuples as type packs tools, this one gives you the maximum size +// and align for a collection of types should you put them in a union +template struct SizeAlign; + +template<> struct SizeAlign> { + static constexpr std::size_t size = 0; + static constexpr std::size_t align = 0; +}; + +template +struct SizeAlign> { + using Other = SizeAlign>; + static constexpr std::size_t size = std::max(sizeof(T), Other::size); + static constexpr std::size_t align = std::max(alignof(T), Other::align); +}; + +// And this is a very useful tool to map an std::tuple of types to another with a +// template Filter that maps Filter::ToSomeOtherType. The Filter +// template also needs to define a constexpr bool "keep", which is used to remove +// types from the tuple if set to false. + +template typename Filter, + typename Orig, // Original tuple + typename Dest = std::tuple<>> // Placeholder for the result +struct MapTuple; +// Trivial case, empty tuple +template typename Filter, typename... Ds> +struct MapTuple, std::tuple> { + using type = std::tuple; // We are done, result is whatever is in Ds +}; +// Recursion: there is a list of original types and a list of already +// convrted types +template typename Filter, typename O, typename... Os, + typename... Ds> +struct MapTuple, std::tuple> { + using D = typename Filter::type; // Convert the head of the list + using Grown = + typename std:: // If "keep" append D to Ds, otherwise leave Ds alone + conditional::keep, std::tuple, + std::tuple>::type; + // Recursive "call" to itself with a shorter list of Os... (without the head O) + using type = typename MapTuple, Grown>::type; +}; + +// Just another tool to represent type lists that provides a static method +// ::apply(someobject) to run all the types T through someobject.visit() +template struct TypeList; +template<> struct TypeList<> { + template static void apply(F f) {} +}; +template struct TypeList { + template static void apply(F f) + { + f.template visit(); + TypeList::apply(f); + } +}; + + +BSDL_LEAVE_NAMESPACE + +#if 0 +// Example usage +# include "static_virtual.h" +# include + +struct One; +struct Two; +struct Three; + +struct Base : public StaticVirtual { + template Base(const T* o): StaticVirtual(o) {} + int mymethod(float v)const; +}; +struct One : public Base { + One(): Base(this) {} + int mymethod(float v) const + { + printf("I'm one\n"); + return 1; + } +}; +struct Two : public Base { + Two(): Base(this) {} + int mymethod(float v)const + { + printf("I'm two\n"); + return 2; + } +}; +struct Three : public Base { + Three(): Base(this) {} + int mymethod(float v)const + { + printf("I'm three\n"); + return 3; + } +}; +// Dispatch definition has to go after subclasses declarations +int Base::mymethod(float v)const +{ + return dispatch([&](auto& obj) { return obj.mymethod(v); }); +} + +int main() +{ + + One one; + Two two; + Base* obj = &one; + printf("got %d\n", obj->mymethod(1.0f)); + obj = &two; + printf("got %d\n", obj->mymethod(1.0f)); + return 0; +} +#endif + +// Cleanup macro mess + +#undef CASE1 +#undef CASE2 +#undef CASE4 +#undef CASE8 +#undef CASE16 +#undef CASEDEF +#undef ARGS2 +#undef ARGS3 +#undef ARGS4 +#undef ARGS5 +#undef ARGS6 +#undef ARGS7 +#undef ARGS8 +#undef ARGS9 +#undef ARGS10 +#undef ARGS11 +#undef ARGS12 +#undef ARGS13 +#undef ARGS14 +#undef ARGS15 +#undef ARGS16 +#undef ARGS17 +#undef ARGS18 +#undef ARGS19 +#undef ARGS20 +#undef ARGS21 +#undef ARGS22 +#undef ARGS23 +#undef ARGS24 +#undef ARGS25 +#undef ARGS26 +#undef ARGS27 +#undef ARGS28 +#undef ARGS29 +#undef ARGS30 +#undef ARGS31 +#undef ARGS32 +#undef CASES2 +#undef CASES3 +#undef CASES4 +#undef CASES5 +#undef CASES6 +#undef CASES7 +#undef CASES8 +#undef CASES9 +#undef CASES10 +#undef CASES11 +#undef CASES12 +#undef CASES13 +#undef CASES14 +#undef CASES15 +#undef CASES16 +#undef CASES17 +#undef CASES18 +#undef CASES19 +#undef CASES20 +#undef CASES21 +#undef CASES22 +#undef CASES23 +#undef CASES24 +#undef CASES25 +#undef CASES26 +#undef CASES27 +#undef CASES28 +#undef CASES29 +#undef CASES30 +#undef CASES31 +#undef CASES32 +#undef TYPENAME +#undef ARG +#undef MAX_SWITCH diff --git a/src/libbsdl/include/BSDL/thinfilm_decl.h b/src/libbsdl/include/BSDL/thinfilm_decl.h new file mode 100644 index 000000000..e1bdb33aa --- /dev/null +++ b/src/libbsdl/include/BSDL/thinfilm_decl.h @@ -0,0 +1,27 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +BSDL_ENTER_NAMESPACE + +struct ThinFilm { + float saturation = 0; + float min_thickness; + float max_thickness; + float view_dependence; + float thickness; + int enhanced; + + static BSDL_INLINE_METHOD float interferenceEnergy(float r, float s); + static BSDL_INLINE_METHOD float phase(float n, float d, float sinTheta); + static BSDL_INLINE_METHOD float schlick(float cosTheta, float r); + BSDL_INLINE_METHOD Imath::C3f thinFilmSpectrum(float cosTheta) const; + + BSDL_INLINE_METHOD Imath::C3f + get(const Imath::V3f& wo, const Imath::V3f& wi, float roughness) const; +}; + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/thinfilm_impl.h b/src/libbsdl/include/BSDL/thinfilm_impl.h new file mode 100644 index 000000000..55896bd53 --- /dev/null +++ b/src/libbsdl/include/BSDL/thinfilm_impl.h @@ -0,0 +1,167 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include + +BSDL_ENTER_NAMESPACE + +// We're computing the energy of interference pattern between the directly reflected wave +// and the phase-shifted refracted-reflected wave: +// +// w/pi\int_0^{2*pi/w}((r*sin(wi)+(1-r)*sin(w+s))^2) +// +// where +// w = frequency +// s = phase-shift +// r = amount of light reflected from the upper interface +// +// We're currently making a some assumptions - all light refracted through the upper interface +// of the thin film is reflected by the lower interface. This is wrong, but visually it +// just amounts to a saturation control. +BSDL_INLINE_METHOD float +ThinFilm::interferenceEnergy(float r, float s) +{ + float c = BSDLConfig::Fast::cosf(s); + return 1 + 2 * r * (r + c - r * c - 1); +} + +// compute the phase shift between reflected and refracted-reflected wave +// for an arbitrary viewing angle. +// +BSDL_INLINE_METHOD float +ThinFilm::phase(float n, float d, float sinTheta) +{ + return d * std::sqrt((n - sinTheta) * (n + sinTheta)); +} + +// We need this to compute the reflectance off the outer thin-film interface +BSDL_INLINE_METHOD float +ThinFilm::schlick(float cosTheta, float r) +{ + float c = 1 - cosTheta; + return r + (1 - r) * SQR(SQR(c)) * c; +} + +BSDL_INLINE_METHOD Imath::C3f +ThinFilm::thinFilmSpectrum(float cosTheta) const +{ + cosTheta = CLAMP(cosTheta, 0.0f, 1.0f); + // Compute the amount of light reflected from the top interface, depending + // on viewing angle. We're setting the normal incidence reflectivity to + // 0.5 - it is arbitrary, but suitable, as we need something between + // 0 and 1 to get an interference pattern. + float refl = schlick(cosTheta, 0.5); + + // Make sure max thickness is at least as large as min thickness + const float max_thickness = std::max(this->max_thickness, min_thickness); + // We take the absolute value here since we support negative view_dependence (for + // flipping the rainbow ramp) + const float view_dependence_mix = std::fabs(view_dependence); + + // The thin film range is specified by min and max thickness, assuming an ior = 1 (for convenience). + // If view dependent, we compute the corresponding ior and thickness needed for a + // similar spectrum range for a varying view dependence + const float ratio = CLAMP(min_thickness / max_thickness, 0.f, 1 - EPSILON); + const float n = 1 / std::sqrt(1 - ratio * ratio); // 1 here is the ior + + const float d_view = max_thickness / n; + const float d_normal = LERP(thickness, min_thickness, max_thickness); + + // We support flipping the direction of the ramp when view-dependent, if view + // dependence is negative. + if (view_dependence < 0) + cosTheta = std::sqrt(1 - cosTheta * cosTheta); + + // we're feeding in cosTheta, and not sinTheta as the phase function suggests - it is just + // to make the direction of the view dependent ramp go from normal to grazing angle from left to right + const float sigma_view = phase(n, d_view, cosTheta); + const float sigma_norm = d_normal; + const float sigma = 2 * LERP(view_dependence_mix, sigma_norm, sigma_view); + + Imath::C3f RGBout = { 0, 0, 0 }; + Imath::C3f XYZout = { 0, 0, 0 }; + + auto XYZ_to_RGB = [](const Imath::C3f& xyzCol) -> Imath::C3f { + Imath::V3f xyzVec = { xyzCol.x, xyzCol.y, xyzCol.z }; + + // E - equal energy illuminant + constexpr Imath::V3f redVec = { 2.3706743f, -0.9000405f, -0.4706338f }; + constexpr Imath::V3f grnVec = { -0.5138850f, 1.4253036f, 0.0885814f }; + constexpr Imath::V3f bluVec = { 0.0052982f, -0.0146949f, 1.0093968f }; + + return { std::max(0.f, redVec.dot(xyzVec)), + std::max(0.f, grnVec.dot(xyzVec)), + std::max(0.f, bluVec.dot(xyzVec)) }; + }; + + if (enhanced == 1) { + // Normalization by Sandip Shukla. + auto XYZ_normalize = [](const Imath::C3f& xyzCol) { + return xyzCol + * (1 + / std::max(1e-4f, + sqrtf(xyzCol.x * xyzCol.x + xyzCol.y * xyzCol.y + + xyzCol.z * xyzCol.z))); + }; + // This is incorrect, but usually produces brighter colors and looks better. + // First suggested by Sandip Shukla. + for (int i = 0; i < Spectrum::LAMBDA_RES; ++i) { + float wavelength = Spectrum::LAMBDA_MIN + i * Spectrum::LAMBDA_STEP; + float spectrum = interferenceEnergy(refl, sigma / wavelength); + XYZout += spectrum * Spectrum::get_luts().xyz_response[i]; + } + RGBout = XYZ_to_RGB(XYZ_normalize(XYZout)); + } else if (enhanced == 2) { + // Normalization by Sandip Shukla. + Imath::C3f XYZtotal = { EPSILON, EPSILON, EPSILON }; + for (int i = 0; i < Spectrum::LAMBDA_RES; ++i) { + float wavelength = Spectrum::LAMBDA_MIN + i * Spectrum::LAMBDA_STEP; + float spectrum = interferenceEnergy(refl, sigma / wavelength); + Imath::C3f CIEcolor = Spectrum::get_luts().xyz_response[i]; + XYZout += spectrum * CIEcolor; + XYZtotal += CIEcolor; + } + // normalize spectrum colors + XYZout.x /= XYZtotal.z; + XYZout.y /= XYZtotal.y; + XYZout.z /= XYZtotal.z; + RGBout = XYZ_to_RGB(XYZout); + } else { + auto old_XYZ_normalize = [](const Imath::C3f& xyzCol) { + return xyzCol + * (1 / std::max(1e-4f, xyzCol.x + xyzCol.y + xyzCol.z)); + }; + for (int i = 0; i < Spectrum::LAMBDA_RES; ++i) { + float wavelength = Spectrum::LAMBDA_MIN + i * Spectrum::LAMBDA_STEP; + float spectrum = interferenceEnergy(refl, sigma / wavelength); + XYZout += spectrum * Spectrum::get_luts().xyz_response[i]; + } + RGBout = XYZ_to_RGB(old_XYZ_normalize(XYZout)); + } + + return RGBout; +} + +BSDL_INLINE_METHOD Imath::C3f +ThinFilm::get(const Imath::V3f& wo, const Imath::V3f& wi, float roughness) const +{ + if (saturation == 0.0f) + return { 1, 1, 1 }; + const float GLOSSY_HI = 0.3f; + const float DIFFUSE_LO = 0.6f; + // Apply only to glossy exclusively. + const float saturation = CLAMP(this->saturation, 0.0f, 1.0f); + const float actual_saturation + = saturation * (1 - SMOOTHSTEP(GLOSSY_HI, DIFFUSE_LO, roughness)); + if (actual_saturation == 0.0f) + return { 1, 1, 1 }; + Imath::V3f m = (wi + wo).normalized(); + Imath::C3f c = thinFilmSpectrum(wo.dot(m)); + return LERP(saturation, Imath::C3f(1, 1, 1), c); +} + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/include/BSDL/tools.h b/src/libbsdl/include/BSDL/tools.h new file mode 100644 index 000000000..bbb049f0f --- /dev/null +++ b/src/libbsdl/include/BSDL/tools.h @@ -0,0 +1,528 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +#pragma once + +#include +#include + +#include + +BSDL_ENTER_NAMESPACE + +BSDL_INLINE float +MAX_ABS_XYZ(const Imath::V3f& v) +{ + return std::max(fabsf(v.x), std::max(fabsf(v.y), fabsf(v.z))); +} + +BSDL_INLINE float +MAX_RGB(const Imath::C3f& c) +{ + return std::max(c.x, std::max(c.y, c.z)); +} + +BSDL_INLINE float +MAX_ABS_RGB(const Imath::C3f& c) +{ + return std::max(fabsf(c.x), std::max(fabsf(c.y), fabsf(c.z))); +} + +BSDL_INLINE float +MIN_RGB(const Imath::C3f& c) +{ + return std::min(c.x, std::min(c.y, c.z)); +} + +BSDL_INLINE float +AVG_RGB(const Imath::C3f& c) +{ + return (c.x + c.y + c.z) * (1.0f / 3); +} + +template +BSDL_INLINE constexpr T +SQR(T x) +{ + return x * x; +} + +BSDL_INLINE float +CLAMP(float x, float a, float b) +{ + return std::min(std::max(x, a), b); +} + +BSDL_INLINE Imath::C3f +CLAMP(const Imath::C3f& c, float a, float b) +{ + return { CLAMP(c.x, a, b), CLAMP(c.y, a, b), CLAMP(c.z, a, b) }; +} + +template +BSDL_INLINE T +LERP(float f, T a, T b) +{ + f = CLAMP(f, 0, 1); + return (1 - f) * a + f * b; +} + +// Hermite interpolation between 0 and 1 using 't' (0<=t<=1) +template +BSDL_INLINE constexpr T +HERP01(T t) +{ + return t * t * (3 - 2 * t); +} + +template +constexpr T +LINEARSTEP(T lo, T hi, T t) +{ + return CLAMP((t - lo) / (hi - lo), T(0), T(1)); +} + +// RenderMan's smoothstep() function +// return 0 if (t < e0) or 1 if (t > e1) or +// a hermitian interpolation for (e0 < t < e1) +template +BSDL_INLINE constexpr T +SMOOTHSTEP(T e0, T e1, T t) +{ + return (t <= e0) + ? T(0) + : ((t >= e1) ? T(1) + : CLAMP(HERP01((t - e0) / (e1 - e0)), T(0), T(1))); +} + +// Return the sum of a and b but without exceeding smax, given that +// the two operands are in range. This is a smooth alternative to clamp +// and has the following properties: +// +// sum_max(a, b, smax) == sum_max(b, a, smax) +// sum_max(a, b, smax) >= a +// sum_max(a, b, smax) >= b +// sum_max(a, 0, smax) == a +// sum_max(a, b, smax) <= smax +// +// When called like sum_max(x, x, 1.0) is equivalent to 2x - x^2 +BSDL_INLINE float +sum_max(float a, float b, float smax) +{ + const float maxab = std::max(a, b), minab = std::min(a, b); + return maxab + (smax - maxab) * (minab / smax); +} + +// This parametric curve (k) is a tool for adjusting responses from a 0-1 input +// where the parameter k adjusts the shape. +// +// Flat-zero exp()-ish Identity Reverse exp() Flat one +// _______ +// | | / _,--- | +// | | / / | +// _______| ____/ / | | +// +// k = 0 k = 0.1 k = 0.5 k = 0.9 k = 1 +// +// And it transitions smoothly from one extreme to the other with k in [0, 1] +// where k = 0.5 gives you the identity. Also gamma^-1(x, k) == gamma(x, 1 -k) +// +BSDL_INLINE float +bias_curve01(float x, float k) +{ + // From Christophe Schlick. “Fast Alternatives to Perlin’s Bias and Gain Functions”. + // In Graphics Gems IV, Morgan Kaufmann, 1994, pages 401–403. + return x / std::max((1 - x) * (1 / k - 2) + 1, FLOAT_MIN); +} + +// Using the above bias curve, this is a simple sigmoid in [0, 1] +BSDL_INLINE float +gain_curve01(float x, float k) +{ + return x < 0.5f ? 0.5f * bias_curve01(2 * x, k) + : 0.5f * bias_curve01(2 * x - 1, 1 - k) + 0.5f; +} + +// Function approximations below are from +// "Fast Equal-Area Mapping of the (Hemi)Sphere using SIMD" by Petrik Clarberg. +// +// http://fileadmin.cs.lth.se/graphics/research/papers/2008/simdmapping/clarberg_simdmapping08_preprint.pdf +// +// They are handy for the low distortion mapping to and from the unit disc/hemisphere/sphere +BSDL_INLINE float +fast_cos_quadrant(float x) +{ + assert(x >= -2); + assert(x <= 2); + // Coefficients for minimax approximation of cos(x*pi/4), x=[-2,2]. + constexpr float c1 = 0.99998736f; + constexpr float c2 = -0.30837047f; + constexpr float c3 = 0.01578646f; + constexpr float c4 = -0.00029826362f; + + float x2 = x * x; + float cp = c3 + c4 * x2; + cp = c2 + cp * x2; + cp = c1 + cp * x2; + return cp; +} + +BSDL_INLINE float +fast_sin_quadrant(float x) +{ + assert(x >= -2); + assert(x <= 2); + // Coefficients for minimax approximation of sin(x*pi/4), x=[0,2]. + const float s1 = 0.7853975892066955566406250000000000f; + const float s2 = -0.0807407423853874206542968750000000f; + const float s3 = 0.0024843954015523195266723632812500f; + const float s4 = -0.0000341485538228880614042282104492f; + + float x2 = x * x; + float sp = s3 + s4 * x2; + sp = s2 + sp * x2; + sp = s1 + sp * x2; + return sp * x; +} + +BSDL_INLINE float +fast_atan_quadrant(float x) +{ + assert(x >= -1); + assert(x <= 1); + // Coefficients for 6th degree minimax approximation of atan(x)*2/pi, x=[0,1]. + const float t1 = 0.406758566246788489601959989e-5f; + const float t2 = 0.636226545274016134946890922156f; + const float t3 = 0.61572017898280213493197203466e-2f; + const float t4 = -0.247333733281268944196501420480f; + const float t5 = 0.881770664775316294736387951347e-1f; + const float t6 = 0.419038818029165735901852432784e-1f; + const float t7 = -0.251390972343483509333252996350e-1f; + + // Polynomial approximation of atan(x)*2/pi + float phi = t6 + t7 * x; + phi = t5 + phi * x; + phi = t4 + phi * x; + phi = t3 + phi * x; + phi = t2 + phi * x; + phi = t1 + phi * x; + return phi; +} + +BSDL_INLINE Imath::V3f +sample_cos_hemisphere(float randu, float randv) +{ + // stretch unit square + get quadrant + const float a = 2 * randu - 1, qa = fabsf(a); // (a,b) is now on [-1,1]^2 + const float b = 2 * randv - 1, qb = fabsf(b); + // map to radius/angle + const float rad = qa > qb ? qa : qb; + const float phi = qa > qb ? qb / qa : ((qa == qb) ? 1.0f : 2 - qa / qb); + // map to disk + flip back into right quadrant + const float x = copysignf(rad * fast_cos_quadrant(phi), a); + const float y = copysignf(rad * fast_sin_quadrant(phi), b); + assert(rad <= 1); + assert(fabsf(x) <= 1); + assert(fabsf(y) <= 1); + // map to cosine weighted hemisphere + return { x, y, sqrtf(1 - rad * rad) }; +} + +BSDL_INLINE Imath::V3f +sample_uniform_hemisphere(float randu, float randv) +{ + // stretch unit square + get quadrant + const float a = 2 * randu - 1, qa = fabsf(a); // (a,b) is now on [-1,1]^2 + const float b = 2 * randv - 1, qb = fabsf(b); + // map to radius/angle + const float rad = qa > qb ? qa : qb; + const float phi = qa > qb ? qb / qa : ((qa == qb) ? 1.0f : 2 - qa / qb); + // map to disk + flip back into right quadrant + const float x = copysignf(rad * fast_cos_quadrant(phi), a); + const float y = copysignf(rad * fast_sin_quadrant(phi), b); + assert(rad <= 1); + assert(fabsf(x) <= 1); + assert(fabsf(y) <= 1); + // map to uniform hemisphere + const float cos_theta = 1 - rad * rad; + const float sin_theta = sqrtf(2 - rad * rad); + return { sin_theta * x, sin_theta * y, cos_theta }; +} + +BSDL_INLINE Imath::V3f +reflect(const Imath::V3f& E, const Imath::V3f& N) +{ + return N * (2 * N.dot(E)) - E; +} + +BSDL_INLINE Imath::V3f +refract(const Imath::V3f& E, const Imath::V3f& N, float eta) +{ + Imath::V3f R(0.0f); + if (eta == 0) + return R; + + Imath::V3f Nn; + float cosi = E.dot(N), neta; + // check which side of the surface we are on + if (cosi > 0) { + // we are on the outside of the surface, going in + neta = 1 / eta; + Nn = N; + } else { + // we are inside the surface, + cosi = -cosi; + neta = eta; + Nn = -N; + } + + float arg = 1 - (neta * neta * (1 - (cosi * cosi))); + if (arg >= 0) { + float dnp = sqrtf(arg); + float nK = (neta * cosi) - dnp; + R = (E * (-neta) + Nn * nK).normalized(); + } + return R; +} + +BSDL_INLINE Imath::V3f +rotate(const Imath::V3f& v, const Imath::V3f& axis, float angle) +{ + float s = BSDLConfig::Fast::sinf(angle), c = BSDLConfig::Fast::cosf(angle); + return v * c + axis * v.dot(axis) * (1.f - c) + s * axis.cross(v); +} + +BSDL_INLINE float +fresnel_dielectric(float cosi, float eta) +{ + if (eta == 0.0f) + // Early exit for some reflectors that leave eta = 0 + // meaning no fresnel decay + return 1.0f; + // compute fresnel reflectance without explicitly computing + // the refracted direction + if (cosi < 0.0f) + eta = 1.0f / eta; + float c = fabsf(cosi); + float g = eta * eta - 1 + c * c; + if (g > 0) { + g = sqrtf(g); + float A = (g - c) / (g + c); + float B = (c * (g + c) - 1) / (c * (g - c) + 1); + return 0.5f * A * A * (1 + B * B); + } + return 1.0f; // TIR (no refracted component) +} + +BSDL_INLINE float +avg_fresnel_dielectric(float eta) +{ +#if 0 + // A quadrature is appliead to the interval [a, b] where a is the critical + // angle of fresnel (its cosine). And b is always 1.0. + const float a = eta < 1 ? sqrtf((1 - eta) * (1 + eta)) : 0; + // now compute a quadrature for the [a, 1] interval + // average fresnel (max error ~= 0.0009) for eta > 1, but about 0.04 under 1 + // This evaluates the integral F(eta)=2*integrate(fresnel(C, eta)*C,C,0,1) + // using a 4 point gauss-legendre quadrature + // http://www.efunda.com/math/num_integration/findgausslegendre.cfm + const float h = (1 + a) / 2; // center of quadrature + const float r = (1 - a) / 2; // radius + const float xi[2] = { 0.861136311594f, 0.339981043585f }; + const float wi[2] = { 0.347854845137f, 0.652145154863f }; + float q = fresnel_dielectric(r * -xi[0] + h, eta) * ((r * -xi[0] + h) * wi[0]) + + fresnel_dielectric(r * -xi[1] + h, eta) * ((r * -xi[1] + h) * wi[1]) + + fresnel_dielectric(r * xi[1] + h, eta) * ((r * xi[1] + h) * wi[1]) + + fresnel_dielectric(r * xi[0] + h, eta) * ((r * xi[0] + h) * wi[0]); + // The average is cosine weighted. The average of F*x in [0 a) is 1, and q + // is the avg in [a 1), now we need to compute the weighted average of the + // two. Since we weight with cosine, the first interval weights the integral + // of x from 0 to a (a^2/2) divided by the integral of x from 0 to 1 (1/2), + // and the second interval weights the complement. Therefore: + float avg = q * (1.0f - a * a) + a * a; + assert(0 <= avg && avg <= 1.0f); + return avg; +#elif 0 + // much simpler fit computed in mathematica: + // max error for 0<=eta<= 1 is 0.003 + // max error for 1<=eta<=400 is 0.010 + if (eta < 1) + return CLAMP((9.13734f - 0.00419542f * eta - 9.11295f * SQR(eta)) + / (9.16567f - 0.974132f * eta), + 0.0f, 1.0f); + else + return CLAMP((-2.78491f + 2.72524f * eta + 6.55885e-6f * SQR(eta)) + / (10.9957f + 2.7292f * eta), + 0.0f, 1.0f); +#else + // even simpler fit with lower error (computed in mathematica) + // max error for 0<=eta<= 1 is ~0.29% + // max error for 1<=eta<=400 is ~0.65% + if (eta < 1) + return 0.997118f + + eta * (0.1014f + eta * (-0.965241f - eta * 0.130607f)); + else + return (eta - 1) / (4.08567f + 1.00071f * eta); +#endif +} + +// Fast fresnel function for metals +// +// c is the angle cosine +// r is the reflectance +// g is the edge tint +BSDL_INLINE float +fresnel_metal(float c, float r, float g) +{ + // from: "Artist Friendly Metallic Fresnel", Ole Gulbrandsen + // http://jcgt.org/published/0003/04/03/ + const float n = LERP(g, (1 + sqrtf(r)) / (1 - sqrtf(r)), (1 - r) / (1 + r)); + const float k2 = (SQR(n + 1) * r - SQR(n - 1)) / (1 - r); + const float n2 = n * n; + const float c2 = c * c; + const float tnc = 2 * n * c; + + const float rs_num = (n2 + k2) - tnc + c2; + const float rs_den = (n2 + k2) + tnc + c2; + const float rp_num = (n2 + k2) * c2 - tnc + 1; + const float rp_den = (n2 + k2) * c2 + tnc + 1; + + return 0.5f * (rs_num / rs_den + rp_num / rp_den); +} + +BSDL_INLINE Power +fresnel_metal(float c, const Power r, const Power g, float lambda_0) +{ + return Power([&](int i) { return fresnel_metal(c, r[i], g[i]); }, lambda_0); +} + +BSDL_INLINE Power +fresnel_schlick(float c, const Power r, const Power g, float p) +{ + constexpr auto fast_exp2 = BSDLConfig::Fast::exp2f; + constexpr auto fast_log2 = BSDLConfig::Fast::log2f; + + c = std::min(c, 1 - 1e-4f); + p = std::max(p, 1e-4f); + return LERP(fast_exp2(fast_log2(1 - c) / p), r, g); +} + +struct Frame { + // Given a unit vector N, build two arbitrary orthogonal vectors U and V + // The output is guarenteed to form a right handed orthonormal basis. (U x V = N) + static BSDL_INLINE_METHOD std::tuple + ortho_build(const Imath::V3f& Z) + { + // http://jcgt.org/published/0006/01/01/ + // + // Building an Orthonormal Basis, Revisited + // Tom Duff, James Burgess, Per Christensen, Christophe Hery, Andrew Kensler, Max Liani, Ryusuke Villemin + const float s = copysignf(1.0f, Z.z); + const float a = -1.0f / (s + Z.z); + const float b = Z.x * Z.y * a; + Imath::V3f X = { 1.0f + s * Z.x * Z.x * a, s * b, -s * Z.x }; + Imath::V3f Y = { b, s + Z.y * Z.y * a, -Z.y }; + return { X, Y }; + } + BSDL_INLINE_METHOD Frame(const Imath::V3f& Z) : Z(Z) + { + auto XY = ortho_build(Z); + X = std::get<0>(XY); + Y = std::get<1>(XY); + } + // frame with z axis pointing along n and x axis pointing in the same direction as u (but orthogonal) + BSDL_INLINE_METHOD Frame(const Imath::V3f& Z, const Imath::V3f& _X) + : X(_X), Z(Z) + { + if (MAX_ABS_XYZ(X) < 1e-4f) { + // X not provided, pick arbitrary + auto XY = ortho_build(Z); + X = std::get<0>(XY); + Y = std::get<1>(XY); + } else { + Y = Z.cross(X).normalized(); + X = Y.cross(Z); + } + } + // take a world space vector and spin it around to be expressed in the + // coordinate system of this frame + BSDL_INLINE_METHOD Imath::V3f local(const Imath::V3f& a) const + { + return { a.dot(X), a.dot(Y), a.dot(Z) }; + } + BSDL_INLINE_METHOD Imath::V3f world(const Imath::V3f& a) const + { + return { X.x * a.x + Y.x * a.y + Z.x * a.z, + X.y * a.x + Y.y * a.y + Z.y * a.z, + X.z * a.x + Y.z * a.y + Z.z * a.z }; + } + + Imath::V3f X, Y, Z; +}; + +// This transforms points on [0,1]^2 to points on unit disc centered at +// origin. Each "pie-slice" quadrant of square is handled as a separate +// case. The bad floating point cases are all handled appropriately. +// The regions for (a,b) are: +// +// phi = pi/2 +// -----*----- +// |\ /| +// | \ 2 / | +// | \ / | +// phi=pi * 3 * 1 * phi = 0 +// | / \ | +// | / 4 \ | +// |/ \| +// -----*----- +// phi = 3pi/2 +// +// (rnd.x,rnd.y) is a point on [0,1]^2. (x,y) is point on radius 1 disc +// +BSDL_INLINE Imath::V2f +square_to_unit_disc(const Imath::V2f rnd) +{ + // assert(rnd.x >= 0); + // assert(rnd.x <= 1); + // assert(rnd.y >= 0); + // assert(rnd.y <= 1); + // stretch unit square + get quadrant + const float a = 2 * rnd.x - 1, qa = fabsf(a); // (a,b) is now on [-1,1]^2 + const float b = 2 * rnd.y - 1, qb = fabsf(b); + // map to radius/angle + const float rad = qa > qb ? qa : qb; + const float phi = qa > qb ? qb / qa : ((qa == qb) ? 1.0f : 2 - qa / qb); + // map to disk + flip back into right quadrant + const float x = copysignf(rad * fast_cos_quadrant(phi), a); + const float y = copysignf(rad * fast_sin_quadrant(phi), b); + // assert(x >= -1); + // assert(x <= 1); + // assert(y >= -1); + // assert(y <= 1); + return { x, y }; +} + +// Inverse function of the above disk mapping +BSDL_INLINE Imath::V2f +disc_to_unit_square(const Imath::V2f& disc) +{ + const float r = sqrtf(std::min(SQR(disc.x) + SQR(disc.y), 1.0f)); + // compute on quadrant + const float qa = fabsf(disc.x); + const float qb = fabsf(disc.y); + // figure out angle in [0,1] + const float t = qa > qb ? qb / qa : ((qa == qb) ? 1.0f : qa / qb); + const float phi = fast_atan_quadrant(t) * 2; + // Map back to unit square + const float x = copysignf(qa > qb ? r : r * phi, disc.x) * 0.5f + 0.5f; + const float y = copysignf(qa > qb ? r * phi : r, disc.y) * 0.5f + 0.5f; + assert(x >= 0); + assert(x <= 1); + assert(y >= 0); + assert(y <= 1); + return { x, y }; +} + +BSDL_LEAVE_NAMESPACE diff --git a/src/libbsdl/src/genluts.cpp b/src/libbsdl/src/genluts.cpp new file mode 100644 index 000000000..b5f0a6ac1 --- /dev/null +++ b/src/libbsdl/src/genluts.cpp @@ -0,0 +1,218 @@ +#define BAKE_BSDL_TABLES 1 + +#define BSDL_UNROLL() // Do nothing + +#include +using BSDLConfig = bsdl::BSDLDefaultConfig; + +#include +#include +#include +#include +#include +#include +#include + +#include "parallel.h" + +#include +#include +#include +#include + +#define BAKE_BSDF_LIST(E) \ + E(spi::MiniMicrofacetGGX) \ + E(spi::PlasticGGX) \ + E(spi::DielectricFront) \ + E(spi::DielectricBack) \ + E(spi::CharlieSheen) \ + E(spi::SheenLTC) \ + E(spi::Thinlayer) + +#define LUT_PLACEHOLDER(type) \ + BSDL_ENTER_NAMESPACE \ + BSDL_INLINE_METHOD type::Energy& type::get_energy() \ + { \ + static Energy energy = {}; \ + return energy; \ + } \ + BSDL_LEAVE_NAMESPACE + +BAKE_BSDF_LIST(LUT_PLACEHOLDER) + +using namespace bsdl; + +BSDL_INLINE uint32_t +ri_LP(uint32_t i) +{ + uint32_t r = 0; + for (uint32_t v = 1U << 31; i; i >>= 1, v |= v >> 1) + if (i & 1) + r ^= v; + return r; +} + +BSDL_INLINE uint32_t +ri_LP_inv(uint32_t i) +{ + uint32_t r = 0; + for (uint32_t v = 3U << 30; i; i >>= 1, v >>= 1) + if (i & 1) + r ^= v; + return r; +} + +BSDL_INLINE Imath::V3f +get_sample(int si, int AA, uint32_t scramble_x, uint32_t scramble_y, + uint32_t scramble_z) +{ + const uint32_t ex = si % AA; + const uint32_t ey = si / AA; + + const uint32_t upper = (ex ^ (scramble_x >> 16)) << 16; + const uint32_t lpUpper = ri_LP(upper) ^ scramble_y; + const uint32_t delta = (ey << 16) ^ (lpUpper & 0xFFFF0000u); + const uint32_t lower = ri_LP_inv(delta); + const uint32_t index = upper | lower; + const uint32_t x = index ^ scramble_x; + const uint32_t y = lpUpper ^ delta; + const float jx = (x & 65535) * (1 / 65536.0f); + const float jy = (y & 65535) * (1 / 65536.0f); + uint32_t rz = scramble_z, ii = index; + for (uint64_t v2 = uint64_t(3) << 62; ii; ii >>= 1, v2 ^= v2 >> 1) + if (ii & 1) + rz ^= uint32_t(v2 >> 31); + + Imath::V3f v = { (ex + jx) / AA, (ey + jy) / AA, rz * 2.3283063e-10f }; + assert(v.x >= 0); + assert(v.x < 1); + assert(v.y >= 0); + assert(v.y < 1); + assert(v.z >= 0); + assert(v.z < 1); + return v; +} + +template +BSDL_INLINE float +compute_E(float cos_theta, const BSDF& bsdf, uint32_t fresnel_index, + uint32_t roughness_index) +{ + auto fasthash64_mix = [](uint64_t h) -> uint64_t { + h ^= h >> 23; + h *= 0x2127599bf4325c37ULL; + h ^= h >> 47; + return h; + }; + auto fasthash64 = + [&](const std::initializer_list buf) -> uint64_t { + const uint64_t m = 0x880355f21e6d1965ULL; + uint64_t h = (buf.size() * sizeof(uint64_t)) * m; + for (const uint64_t v : buf) { + h ^= fasthash64_mix(v); + h *= m; + } + return fasthash64_mix(h); + }; + auto randhash3 = [&](uint32_t x, uint32_t y, uint32_t z) -> uint32_t { + return fasthash64({ (uint64_t(x) << 32) + y, uint64_t(z) }); + }; + constexpr int AA = 128; + constexpr int NUM_SAMPLES = AA * AA; + assert(cos_theta > 0); + const Imath::V3f wo = { sqrtf(1 - SQR(cos_theta)), 0, cos_theta }; + float E = 0; + uint32_t seedx = randhash3(fresnel_index, roughness_index, 0); + uint32_t seedy = randhash3(fresnel_index, roughness_index, 1); + uint32_t seedz = randhash3(fresnel_index, roughness_index, 2); + for (int i = 0; i < NUM_SAMPLES; i++) { + Imath::V3f rnd = get_sample(i, AA, seedx, seedy, seedz); + float out = bsdf.sample(wo, rnd.x, rnd.y, rnd.z).weight.max(); + + // accumulate result progressively to minimize error with large sample counts + E = LERP(1.0f / (1.0f + i), E, out); + } + assert(E >= 0); + assert(E <= 1); + return E; +} + +template +BSDL_INLINE void +bake_emiss_tables(const std::string& output_dir) +{ + float* storedE = BSDF::get_energy().data; + + printf("Generating LUTs for %s ...\n", BSDF::struct_name()); + + parallel_for(0, BSDF::Nf, [&](unsigned f) { + const float fresnel_index = float(f) + * (1.0f / std::max(1, BSDF::Nf - 1)); + for (int r = 0; r < BSDF::Nr; r++) { + const float roughness_index + = BSDF::Nr > 1 ? float(r) * (1.0f / (BSDF::Nr - 1)) : 0.0f; + for (int c = 0; c < BSDF::Nc; c++) { + int idx = f * BSDF::Nr * BSDF::Nc + r * BSDF::Nc + c; + const BSDF bsdf(BSDF::get_cosine(c), roughness_index, + fresnel_index); + storedE[idx] = 1 - compute_E(BSDF::get_cosine(c), bsdf, f, r); + } + } + }); + + std::string out_file = output_dir + "/" + BSDF::lut_header(); + FILE* outf = fopen(out_file.c_str(), "wb"); + if (!outf) { + printf("Failed to open %s for writing\n", out_file.c_str()); + exit(-1); + } + + fprintf(outf, "#pragma once\n\n"); + fprintf(outf, "BSDL_ENTER_NAMESPACE\n\n"); + fprintf(outf, "namespace spi {\n\n"); + fprintf(outf, "BSDL_INLINE_METHOD %s::Energy& %s::get_energy()\n", + BSDF::struct_name(), BSDF::struct_name()); + fprintf(outf, "{\n"); + fprintf(outf, " static Energy energy = {{\n"); + for (int f = 0, idx = 0; f < BSDF::Nf; f++) { + for (int r = 0; r < BSDF::Nr; r++) { + fprintf(outf, " "); + for (int c = 0; c < BSDF::Nc; c++, idx++) + if (storedE[idx] == int(storedE[idx])) + fprintf(outf, " %12d.0f,", int(storedE[idx])); + else + fprintf(outf, " %14.9gf,", storedE[idx]); + fprintf(outf, "\n"); + } + } + fprintf(outf, " }};\n"); + fprintf(outf, " return energy;\n"); + fprintf(outf, "}\n\n"); + fprintf(outf, "} // namespace spi \n\n"); + fprintf(outf, "BSDL_LEAVE_NAMESPACE\n"); + fclose(outf); + printf("Wrote LUTs to %s\n", out_file.c_str()); +} + +int +main(int argc, const char** argv) +{ + if (argc < 2) { + printf("Must provide output dir for headers\n"); + return -1; + } + +#define DECLARE_DUMMY(type) type(0, 0, 0), + + std::tuple bsdf_list { BAKE_BSDF_LIST(DECLARE_DUMMY) }; + + std::apply( + [&](auto... args) { + (bake_emiss_tables< + typename std::remove_reference::type>(argv[1]), + ...); + }, + bsdf_list); + + return 0; +} diff --git a/src/libbsdl/src/jakobhanika_luts.cpp b/src/libbsdl/src/jakobhanika_luts.cpp new file mode 100644 index 000000000..b70b4f5de --- /dev/null +++ b/src/libbsdl/src/jakobhanika_luts.cpp @@ -0,0 +1,799 @@ +// This code was contributed to mitsuba by the authors of "A Low-Dimensional +// Function Space for Efficient Spectral Upsampling" using TBB for parallel +// execution, then adapted to PBRT using its own thread pool. This version uses +// parallel std::for_each. +// +// pbrt is Copyright(c) 1998-2020 Matt Pharr, Wenzel Jakob, and Greg Humphreys. +// The pbrt source code is licensed under the Apache License, Version 2.0. +// SPDX: Apache-2.0 + +#include + +#include +#include +#include +#include + +#include "parallel.h" + +/** + * This file contains: + * + * 1. CIE 1931 curves at sampled at 5nm intervals + * + * 2. CIE D65 and D50 spectra sampled at 5nm intervals. + * Both are normalized to have unit luminance. + * + * 3. XYZ <-> sRGB conversion matrices + * XYZ <-> ProPhoto RGB conversion matrices + * + * 4. A convenience function "cie_interp" to access the discretized + * data at arbitrary wavelengths (with linear interpolation) +} + */ +#define CIE_LAMBDA_MIN 360.0 +#define CIE_LAMBDA_MAX 830.0 +#define CIE_SAMPLES 95 + +const double cie_x[CIE_SAMPLES] + = { 0.000129900000, 0.000232100000, 0.000414900000, 0.000741600000, + 0.001368000000, 0.002236000000, 0.004243000000, 0.007650000000, + 0.014310000000, 0.023190000000, 0.043510000000, 0.077630000000, + 0.134380000000, 0.214770000000, 0.283900000000, 0.328500000000, + 0.348280000000, 0.348060000000, 0.336200000000, 0.318700000000, + 0.290800000000, 0.251100000000, 0.195360000000, 0.142100000000, + 0.095640000000, 0.057950010000, 0.032010000000, 0.014700000000, + 0.004900000000, 0.002400000000, 0.009300000000, 0.029100000000, + 0.063270000000, 0.109600000000, 0.165500000000, 0.225749900000, + 0.290400000000, 0.359700000000, 0.433449900000, 0.512050100000, + 0.594500000000, 0.678400000000, 0.762100000000, 0.842500000000, + 0.916300000000, 0.978600000000, 1.026300000000, 1.056700000000, + 1.062200000000, 1.045600000000, 1.002600000000, 0.938400000000, + 0.854449900000, 0.751400000000, 0.642400000000, 0.541900000000, + 0.447900000000, 0.360800000000, 0.283500000000, 0.218700000000, + 0.164900000000, 0.121200000000, 0.087400000000, 0.063600000000, + 0.046770000000, 0.032900000000, 0.022700000000, 0.015840000000, + 0.011359160000, 0.008110916000, 0.005790346000, 0.004109457000, + 0.002899327000, 0.002049190000, 0.001439971000, 0.000999949300, + 0.000690078600, 0.000476021300, 0.000332301100, 0.000234826100, + 0.000166150500, 0.000117413000, 0.000083075270, 0.000058706520, + 0.000041509940, 0.000029353260, 0.000020673830, 0.000014559770, + 0.000010253980, 0.000007221456, 0.000005085868, 0.000003581652, + 0.000002522525, 0.000001776509, 0.000001251141 }; + +const double cie_y[CIE_SAMPLES] + = { 0.000003917000, 0.000006965000, 0.000012390000, 0.000022020000, + 0.000039000000, 0.000064000000, 0.000120000000, 0.000217000000, + 0.000396000000, 0.000640000000, 0.001210000000, 0.002180000000, + 0.004000000000, 0.007300000000, 0.011600000000, 0.016840000000, + 0.023000000000, 0.029800000000, 0.038000000000, 0.048000000000, + 0.060000000000, 0.073900000000, 0.090980000000, 0.112600000000, + 0.139020000000, 0.169300000000, 0.208020000000, 0.258600000000, + 0.323000000000, 0.407300000000, 0.503000000000, 0.608200000000, + 0.710000000000, 0.793200000000, 0.862000000000, 0.914850100000, + 0.954000000000, 0.980300000000, 0.994950100000, 1.000000000000, + 0.995000000000, 0.978600000000, 0.952000000000, 0.915400000000, + 0.870000000000, 0.816300000000, 0.757000000000, 0.694900000000, + 0.631000000000, 0.566800000000, 0.503000000000, 0.441200000000, + 0.381000000000, 0.321000000000, 0.265000000000, 0.217000000000, + 0.175000000000, 0.138200000000, 0.107000000000, 0.081600000000, + 0.061000000000, 0.044580000000, 0.032000000000, 0.023200000000, + 0.017000000000, 0.011920000000, 0.008210000000, 0.005723000000, + 0.004102000000, 0.002929000000, 0.002091000000, 0.001484000000, + 0.001047000000, 0.000740000000, 0.000520000000, 0.000361100000, + 0.000249200000, 0.000171900000, 0.000120000000, 0.000084800000, + 0.000060000000, 0.000042400000, 0.000030000000, 0.000021200000, + 0.000014990000, 0.000010600000, 0.000007465700, 0.000005257800, + 0.000003702900, 0.000002607800, 0.000001836600, 0.000001293400, + 0.000000910930, 0.000000641530, 0.000000451810 }; + +const double cie_z[CIE_SAMPLES] + = { 0.000606100000, 0.001086000000, 0.001946000000, 0.003486000000, + 0.006450001000, 0.010549990000, 0.020050010000, 0.036210000000, + 0.067850010000, 0.110200000000, 0.207400000000, 0.371300000000, + 0.645600000000, 1.039050100000, 1.385600000000, 1.622960000000, + 1.747060000000, 1.782600000000, 1.772110000000, 1.744100000000, + 1.669200000000, 1.528100000000, 1.287640000000, 1.041900000000, + 0.812950100000, 0.616200000000, 0.465180000000, 0.353300000000, + 0.272000000000, 0.212300000000, 0.158200000000, 0.111700000000, + 0.078249990000, 0.057250010000, 0.042160000000, 0.029840000000, + 0.020300000000, 0.013400000000, 0.008749999000, 0.005749999000, + 0.003900000000, 0.002749999000, 0.002100000000, 0.001800000000, + 0.001650001000, 0.001400000000, 0.001100000000, 0.001000000000, + 0.000800000000, 0.000600000000, 0.000340000000, 0.000240000000, + 0.000190000000, 0.000100000000, 0.000049999990, 0.000030000000, + 0.000020000000, 0.000010000000, 0.000000000000, 0.000000000000, + 0.000000000000, 0.000000000000, 0.000000000000, 0.000000000000, + 0.000000000000, 0.000000000000, 0.000000000000, 0.000000000000, + 0.000000000000, 0.000000000000, 0.000000000000, 0.000000000000, + 0.000000000000, 0.000000000000, 0.000000000000, 0.000000000000, + 0.000000000000, 0.000000000000, 0.000000000000, 0.000000000000, + 0.000000000000, 0.000000000000, 0.000000000000, 0.000000000000, + 0.000000000000, 0.000000000000, 0.000000000000, 0.000000000000, + 0.000000000000, 0.000000000000, 0.000000000000, 0.000000000000, + 0.000000000000, 0.000000000000, 0.000000000000 }; + +#define N(x) (x / 10566.864005283874576) + +const double cie_d65[CIE_SAMPLES] + = { N(46.6383), N(49.3637), N(52.0891), N(51.0323), N(49.9755), N(52.3118), + N(54.6482), N(68.7015), N(82.7549), N(87.1204), N(91.486), N(92.4589), + N(93.4318), N(90.057), N(86.6823), N(95.7736), N(104.865), N(110.936), + N(117.008), N(117.41), N(117.812), N(116.336), N(114.861), N(115.392), + N(115.923), N(112.367), N(108.811), N(109.082), N(109.354), N(108.578), + N(107.802), N(106.296), N(104.79), N(106.239), N(107.689), N(106.047), + N(104.405), N(104.225), N(104.046), N(102.023), N(100.0), N(98.1671), + N(96.3342), N(96.0611), N(95.788), N(92.2368), N(88.6856), N(89.3459), + N(90.0062), N(89.8026), N(89.5991), N(88.6489), N(87.6987), N(85.4936), + N(83.2886), N(83.4939), N(83.6992), N(81.863), N(80.0268), N(80.1207), + N(80.2146), N(81.2462), N(82.2778), N(80.281), N(78.2842), N(74.0027), + N(69.7213), N(70.6652), N(71.6091), N(72.979), N(74.349), N(67.9765), + N(61.604), N(65.7448), N(69.8856), N(72.4863), N(75.087), N(69.3398), + N(63.5927), N(55.0054), N(46.4182), N(56.6118), N(66.8054), N(65.0941), + N(63.3828), N(63.8434), N(64.304), N(61.8779), N(59.4519), N(55.7054), + N(51.959), N(54.6998), N(57.4406), N(58.8765), N(60.3125) }; + +#undef N + +#define N(x) (x / 106.8) +const double cie_e[CIE_SAMPLES] + = { N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), N(1.0), + N(1.0), N(1.0), N(1.0), N(1.0), N(1.0) }; +#undef N + +#define N(x) (x / 10503.2) + +const double cie_d50[CIE_SAMPLES] = { + N(23.942000), N(25.451000), N(26.961000), N(25.724000), N(24.488000), + N(27.179000), N(29.871000), N(39.589000), N(49.308000), N(52.910000), + N(56.513000), N(58.273000), N(60.034000), N(58.926000), N(57.818000), + N(66.321000), N(74.825000), N(81.036000), N(87.247000), N(88.930000), + N(90.612000), N(90.990000), N(91.368000), N(93.238000), N(95.109000), + N(93.536000), N(91.963000), N(93.843000), N(95.724000), N(96.169000), + N(96.613000), N(96.871000), N(97.129000), N(99.614000), N(102.099000), + N(101.427000), N(100.755000), N(101.536000), N(102.317000), N(101.159000), + N(100.000000), N(98.868000), N(97.735000), N(98.327000), N(98.918000), + N(96.208000), N(93.499000), N(95.593000), N(97.688000), N(98.478000), + N(99.269000), N(99.155000), N(99.042000), N(97.382000), N(95.722000), + N(97.290000), N(98.857000), N(97.262000), N(95.667000), N(96.929000), + N(98.190000), N(100.597000), N(103.003000), N(101.068000), N(99.133000), + N(93.257000), N(87.381000), N(89.492000), N(91.604000), N(92.246000), + N(92.889000), N(84.872000), N(76.854000), N(81.683000), N(86.511000), + N(89.546000), N(92.580000), N(85.405000), N(78.230000), N(67.961000), + N(57.692000), N(70.307000), N(82.923000), N(80.599000), N(78.274000), + N(0), N(0), N(0), N(0), N(0), + N(0), N(0), N(0), N(0) +}; + +#undef N + +#define N(x) (x / 10536.3) + +const double cie_d60[CIE_SAMPLES] = { + N(38.683115), N(41.014457), N(42.717548), N(42.264182), N(41.454941), + N(41.763698), N(46.605319), N(59.226938), N(72.278594), N(78.231500), + N(80.440600), N(82.739580), N(82.915027), N(79.009168), N(77.676264), + N(85.163609), N(95.681274), N(103.267764), N(107.954821), N(109.777964), + N(109.559187), N(108.418402), N(107.758141), N(109.071548), N(109.671404), + N(106.734741), N(103.707873), N(103.981942), N(105.232199), N(105.235867), + N(104.427667), N(103.052881), N(102.522934), N(104.371416), N(106.052671), + N(104.948900), N(103.315154), N(103.416286), N(103.538599), N(102.099304), + N(100.000000), N(97.992725), N(96.751421), N(97.102402), N(96.712823), + N(93.174457), N(89.921479), N(90.351933), N(91.999793), N(92.384009), + N(92.098710), N(91.722859), N(90.646003), N(88.327552), N(86.526483), + N(87.034239), N(87.579186), N(85.884584), N(83.976140), N(83.743140), + N(84.724074), N(86.450818), N(87.493491), N(86.546330), N(83.483070), + N(78.268785), N(74.172451), N(74.275184), N(76.620385), N(79.423856), + N(79.051849), N(71.763360), N(65.471371), N(67.984085), N(74.106079), + N(78.556612), N(79.527120), N(75.584935), N(67.307163), N(55.275106), + N(49.273538), N(59.008629), N(70.892412), N(70.950115), N(67.163996), + N(67.445480), N(68.171371), N(66.466636), N(62.989809), N(58.067786), + N(54.990892), N(56.915942), N(60.825601), N(62.987850) +}; + +#undef N + +const double xyz_to_srgb[3][3] = { { 3.240479, -1.537150, -0.498535 }, + { -0.969256, 1.875991, 0.041556 }, + { 0.055648, -0.204043, 1.057311 } }; + +const double srgb_to_xyz[3][3] = { { 0.412453, 0.357580, 0.180423 }, + { 0.212671, 0.715160, 0.072169 }, + { 0.019334, 0.119193, 0.950227 } }; + +const double xyz_to_xyz[3][3] = { + { 1.0, 0.0, 0.0 }, + { 0.0, 1.0, 0.0 }, + { 0.0, 0.0, 1.0 }, +}; + +const double xyz_to_ergb[3][3] = { + { 2.689989, -1.276020, -0.413844 }, + { -1.022095, 1.978261, 0.043821 }, + { 0.061203, -0.224411, 1.162859 }, +}; + +const double ergb_to_xyz[3][3] = { + { 0.496859, 0.339094, 0.164047 }, + { 0.256193, 0.678188, 0.065619 }, + { 0.023290, 0.113031, 0.863978 }, +}; + +const double xyz_to_prophoto_rgb[3][3] + = { { 1.3459433, -0.2556075, -0.0511118 }, + { -0.5445989, 1.5081673, 0.0205351 }, + { 0.0000000, 0.0000000, 1.2118128 } }; + +const double prophoto_rgb_to_xyz[3][3] = { { 0.7976749, 0.1351917, 0.0313534 }, + { 0.2880402, 0.7118741, 0.0000857 }, + { 0.0000000, 0.0000000, 0.8252100 } }; + +const double xyz_to_aces2065_1[3][3] + = { { 1.0498110175, 0.0000000000, -0.0000974845 }, + { -0.4959030231, 1.3733130458, 0.0982400361 }, + { 0.0000000000, 0.0000000000, 0.9912520182 } }; + +const double aces2065_1_to_xyz[3][3] + = { { 0.9525523959, 0.0000000000, 0.0000936786 }, + { 0.3439664498, 0.7281660966, -0.0721325464 }, + { 0.0000000000, 0.0000000000, 1.0088251844 } }; + +const double xyz_to_acescg[3][3] = { { 1.641023, -0.324803, -0.236425 }, + { -0.663663, 1.615332, 0.016756 }, + { 0.011722, -0.008284, 0.988395 } }; + +const double acescg_to_xyz[3][3] = { { 0.66245418, 0.13400421, 0.15618769 }, + { 0.27222872, 0.67408177, 0.05368952 }, + { -0.00557465, 0.00406073, 1.0103391 } }; + +const double xyz_to_rec2020[3][3] + = { { 1.7166511880, -0.3556707838, -0.2533662814 }, + { -0.6666843518, 1.6164812366, 0.0157685458 }, + { 0.0176398574, -0.0427706133, 0.9421031212 } }; + +const double rec2020_to_xyz[3][3] + = { { 0.6369580483, 0.1446169036, 0.1688809752 }, + { 0.2627002120, 0.6779980715, 0.0593017165 }, + { 0.0000000000, 0.0280726930, 1.0609850577 } }; + +const double xyz_to_dcip3[3][3] = { { 2.4931748, -0.93126315, -0.40265882 }, + { -0.82950425, 1.7626965, 0.023625137 }, + { 0.035853732, -0.07618918, 0.9570952 } }; +const double dcip3_to_xyz[3][3] = { { 0.48663378, 0.26566276, 0.19817366 }, + { 0.22900413, 0.69172573, 0.079269454 }, + { 0., 0.04511256, 1.0437145 } }; + +double +cie_interp(const double* data, double x) +{ + x -= CIE_LAMBDA_MIN; + x *= (CIE_SAMPLES - 1) / (CIE_LAMBDA_MAX - CIE_LAMBDA_MIN); + int offset = (int)x; + if (offset < 0) + offset = 0; + if (offset > CIE_SAMPLES - 2) + offset = CIE_SAMPLES - 2; + double weight = x - offset; + return (1.0 - weight) * data[offset] + weight * data[offset + 1]; +} + +// LU decomposition & triangular solving code lifted from Wikipedia + +/* INPUT: A - array of pointers to rows of a square matrix having dimension N + * Tol - small tolerance number to detect failure when the matrix is near + * degenerate OUTPUT: Matrix A is changed, it contains both matrices L-E and U + * as A=(L-E)+U such that P*A=L*U. The permutation matrix is not stored as a + * matrix, but in an integer vector P of size N+1 containing column indexes + * where the permutation matrix has "1". The last element P[N]=S+N, where S is + * the number of row exchanges needed for determinant computation, det(P)=(-1)^S + */ +int +LUPDecompose(double** A, int N, double Tol, int* P) +{ + int i, j, k, imax; + double maxA, *ptr, absA; + + for (i = 0; i <= N; i++) + P[i] = i; // Unit permutation matrix, P[N] initialized with N + + for (i = 0; i < N; i++) { + maxA = 0.0; + imax = i; + + for (k = i; k < N; k++) + if ((absA = fabs(A[k][i])) > maxA) { + maxA = absA; + imax = k; + } + + if (maxA < Tol) + return 0; // failure, matrix is degenerate + + if (imax != i) { + // pivoting P + j = P[i]; + P[i] = P[imax]; + P[imax] = j; + + // pivoting rows of A + ptr = A[i]; + A[i] = A[imax]; + A[imax] = ptr; + + // counting pivots starting from N (for determinant) + P[N]++; + } + + for (j = i + 1; j < N; j++) { + A[j][i] /= A[i][i]; + + for (k = i + 1; k < N; k++) + A[j][k] -= A[j][i] * A[i][k]; + } + } + + return 1; // decomposition done +} + +/* INPUT: A,P filled in LUPDecompose; b - rhs vector; N - dimension + * OUTPUT: x - solution vector of A*x=b + */ +void +LUPSolve(double** const A, const int* P, const double* b, int N, double* x) +{ + for (int i = 0; i < N; i++) { + x[i] = b[P[i]]; + + for (int k = 0; k < i; k++) + x[i] -= A[i][k] * x[k]; + } + + for (int i = N - 1; i >= 0; i--) { + for (int k = i + 1; k < N; k++) + x[i] -= A[i][k] * x[k]; + + x[i] = x[i] / A[i][i]; + } +} + +/// Discretization of quadrature scheme +#define CIE_FINE_SAMPLES ((CIE_SAMPLES - 1) * 3 + 1) +#define RGB2SPEC_EPSILON 1e-4 + +/// Precomputed tables for fast spectral -> RGB conversion +double lambda_tbl[CIE_FINE_SAMPLES], rgb_tbl[3][CIE_FINE_SAMPLES], + rgb_to_xyz[3][3], xyz_to_rgb[3][3], xyz_whitepoint[3]; + +/// Currently supported gamuts +enum Gamut { + SRGB, + ProPhotoRGB, + ACES2065_1, + ACEScg, + REC2020, + ERGB, + XYZ, + DCI_P3, + NO_GAMUT, +}; + +double +sigmoid(double x) +{ + return 0.5 * x / std::sqrt(1.0 + x * x) + 0.5; +} + +double +smoothstep(double x) +{ + return x * x * (3.0 - 2.0 * x); +} + +double +sqr(double x) +{ + return x * x; +} + +void +cie_lab(double* p) +{ + double X = 0.0, Y = 0.0, Z = 0.0, Xw = xyz_whitepoint[0], + Yw = xyz_whitepoint[1], Zw = xyz_whitepoint[2]; + + for (int j = 0; j < 3; ++j) { + X += p[j] * rgb_to_xyz[0][j]; + Y += p[j] * rgb_to_xyz[1][j]; + Z += p[j] * rgb_to_xyz[2][j]; + } + + auto f = [](double t) -> double { + double delta = 6.0 / 29.0; + if (t > delta * delta * delta) + return cbrt(t); + else + return t / (delta * delta * 3.0) + (4.0 / 29.0); + }; + + p[0] = 116.0 * f(Y / Yw) - 16.0; + p[1] = 500.0 * (f(X / Xw) - f(Y / Yw)); + p[2] = 200.0 * (f(Y / Yw) - f(Z / Zw)); +} + +/** + * This function precomputes tables used to convert arbitrary spectra + * to RGB (either sRGB or ProPhoto RGB) + * + * A composite quadrature rule integrates the CIE curves, reflectance, and + * illuminant spectrum over each 5nm segment in the 360..830nm range using + * Simpson's 3/8 rule (4th-order accurate), which evaluates the integrand at + * four positions per segment. While the CIE curves and illuminant spectrum are + * linear over the segment, the reflectance could have arbitrary behavior, + * hence the extra precations. + */ +void +init_tables(Gamut gamut) +{ + memset(rgb_tbl, 0, sizeof(rgb_tbl)); + memset(xyz_whitepoint, 0, sizeof(xyz_whitepoint)); + + double h = (CIE_LAMBDA_MAX - CIE_LAMBDA_MIN) / (CIE_FINE_SAMPLES - 1); + + const double* illuminant = nullptr; + + switch (gamut) { + case SRGB: + illuminant = cie_d65; + memcpy(xyz_to_rgb, xyz_to_srgb, sizeof(double) * 9); + memcpy(rgb_to_xyz, srgb_to_xyz, sizeof(double) * 9); + break; + + case ERGB: + illuminant = cie_e; + memcpy(xyz_to_rgb, xyz_to_ergb, sizeof(double) * 9); + memcpy(rgb_to_xyz, ergb_to_xyz, sizeof(double) * 9); + break; + + case XYZ: + illuminant = cie_e; + memcpy(xyz_to_rgb, xyz_to_xyz, sizeof(double) * 9); + memcpy(rgb_to_xyz, xyz_to_xyz, sizeof(double) * 9); + break; + + case ProPhotoRGB: + illuminant = cie_d50; + memcpy(xyz_to_rgb, xyz_to_prophoto_rgb, sizeof(double) * 9); + memcpy(rgb_to_xyz, prophoto_rgb_to_xyz, sizeof(double) * 9); + break; + + case ACES2065_1: + illuminant = cie_d60; + memcpy(xyz_to_rgb, xyz_to_aces2065_1, sizeof(double) * 9); + memcpy(rgb_to_xyz, aces2065_1_to_xyz, sizeof(double) * 9); + break; + + case ACEScg: + illuminant = cie_d60; + memcpy(xyz_to_rgb, xyz_to_acescg, sizeof(double) * 9); + memcpy(rgb_to_xyz, acescg_to_xyz, sizeof(double) * 9); + break; + + case REC2020: + illuminant = cie_d65; + memcpy(xyz_to_rgb, xyz_to_rec2020, sizeof(double) * 9); + memcpy(rgb_to_xyz, rec2020_to_xyz, sizeof(double) * 9); + break; + + case DCI_P3: + illuminant = cie_d65; + memcpy(xyz_to_rgb, xyz_to_dcip3, sizeof(double) * 9); + memcpy(rgb_to_xyz, dcip3_to_xyz, sizeof(double) * 9); + break; + + default: printf("init_gamut(): invalid/unsupported gamut.\n"); exit(1); + } + + for (int i = 0; i < CIE_FINE_SAMPLES; ++i) { + double lambda = CIE_LAMBDA_MIN + i * h; + + double xyz[3] = { cie_interp(cie_x, lambda), cie_interp(cie_y, lambda), + cie_interp(cie_z, lambda) }, + I = cie_interp(illuminant, lambda); + + double weight = 3.0 / 8.0 * h; + if (i == 0 || i == CIE_FINE_SAMPLES - 1) + ; + else if ((i - 1) % 3 == 2) + weight *= 2.f; + else + weight *= 3.f; + + lambda_tbl[i] = lambda; + for (int k = 0; k < 3; ++k) + for (int j = 0; j < 3; ++j) + rgb_tbl[k][i] += xyz_to_rgb[k][j] * xyz[j] * I * weight; + + for (int i = 0; i < 3; ++i) + xyz_whitepoint[i] += xyz[i] * I * weight; + } +} + +void +eval_residual(const double* coeffs, const double* rgb, double* residual) +{ + double out[3] = { 0.0, 0.0, 0.0 }; + + for (int i = 0; i < CIE_FINE_SAMPLES; ++i) { + /* Scale lambda to 0..1 range */ + double lambda = (lambda_tbl[i] - CIE_LAMBDA_MIN) + / (CIE_LAMBDA_MAX - CIE_LAMBDA_MIN); + + /* Polynomial */ + double x = 0.0; + for (int i = 0; i < 3; ++i) + x = x * lambda + coeffs[i]; + + /* Sigmoid */ + double s = sigmoid(x); + + /* Integrate against precomputed curves */ + for (int j = 0; j < 3; ++j) + out[j] += rgb_tbl[j][i] * s; + } + cie_lab(out); + memcpy(residual, rgb, sizeof(double) * 3); + cie_lab(residual); + + for (int j = 0; j < 3; ++j) + residual[j] -= out[j]; +} + +void +eval_jacobian(const double* coeffs, const double* rgb, double** jac) +{ + double r0[3], r1[3], tmp[3]; + + for (int i = 0; i < 3; ++i) { + memcpy(tmp, coeffs, sizeof(double) * 3); + tmp[i] -= RGB2SPEC_EPSILON; + eval_residual(tmp, rgb, r0); + + memcpy(tmp, coeffs, sizeof(double) * 3); + tmp[i] += RGB2SPEC_EPSILON; + eval_residual(tmp, rgb, r1); + + for (int j = 0; j < 3; ++j) + jac[j][i] = (r1[j] - r0[j]) * 1.0 / (2 * RGB2SPEC_EPSILON); + } +} + +double +gauss_newton(const double rgb[3], double coeffs[3], int it = 200) +{ + const double maxc = 2000; + double rate = 1.0; + double r = 0; + double best_r = std::numeric_limits::infinity(); + double best_c[3] = { coeffs[0], coeffs[1], coeffs[2] }; + for (int i = 0; i < it; ++i) { + double J0[3], J1[3], J2[3], *J[3] = { J0, J1, J2 }; + + double residual[3]; + + eval_residual(coeffs, rgb, residual); + + r = 0.0; + for (int j = 0; j < 3; ++j) + r += residual[j] * residual[j]; + if (r < best_r) { + best_r = r; + memcpy(best_c, coeffs, sizeof(double) * 3); + } else { + // go back, try smaller step + memcpy(coeffs, best_c, sizeof(double) * 3); + rate *= 0.5; + if (rate < 1e-2) + break; + else + continue; + } + + eval_jacobian(coeffs, rgb, J); + + int P[4]; + int rv = LUPDecompose(J, 3, 1e-15, P); + if (rv != 1) { + printf("RGB %f %f %f\n", rgb[0], rgb[1], rgb[2]); + printf("-> %f %f %f\n", coeffs[0], coeffs[1], coeffs[2]); + exit(-1); + } + + double x[3]; + LUPSolve(J, P, residual, 3, x); + + for (int j = 0; j < 3; ++j) + coeffs[j] -= x[j] * rate; + double max = std::max(std::max(fabs(coeffs[0]), fabs(coeffs[1])), + fabs(coeffs[2])); + + if (max > maxc) { + for (int j = 0; j < 3; ++j) + coeffs[j] *= maxc / max; + } + + if (r < 1e-6) + break; + } + memcpy(coeffs, best_c, sizeof(double) * 3); + return best_r * 0.0001; +} + +static Gamut +parse_gamut(const char* str) +{ + if (!strcasecmp(str, "sRGB")) + return SRGB; + if (!strcasecmp(str, "eRGB")) + return ERGB; + if (!strcasecmp(str, "XYZ")) + return XYZ; + if (!strcasecmp(str, "ProPhotoRGB")) + return ProPhotoRGB; + if (!strcasecmp(str, "ACES2065_1")) + return ACES2065_1; + if (!strcasecmp(str, "ACEScg")) + return ACEScg; + if (!strcasecmp(str, "REC2020")) + return REC2020; + if (!strcasecmp(str, "DCI_P3")) + return DCI_P3; + return NO_GAMUT; +} + +int +main(int argc, char** argv) +{ + if (argc < 3) { + printf("Syntax: rgb2spec_opt []\n" + "where is one of " + "sRGB,eRGB,XYZ,ProPhotoRGB,ACES2065_1,ACEScg,REC2020\n"); + exit(-1); + } + Gamut gamut = SRGB; + if (argc > 3) + gamut = parse_gamut(argv[3]); + if (gamut == NO_GAMUT) { + fprintf(stderr, "Could not parse gamut `%s'!\n", argv[3]); + exit(-1); + } + init_tables(gamut); + + const int res = atoi(argv[1]); + if (res == 0) { + printf("Invalid resolution!\n"); + exit(-1); + } + + printf("Optimizing %s spectra... ", argv[3]); + fflush(stdout); + + float* scale = new float[res]; + for (int k = 0; k < res; ++k) + scale[k] = (float)smoothstep(smoothstep(k / double(res - 1))); + + size_t bufsize = 3 * 3 * res * res * res; + float* out = new float[bufsize]; + + float MSE = 0; + for (int l = 0; l < 3; ++l) { + parallel_for(0, res, [&](size_t j) { + const double y = j / double(res - 1); + fflush(stdout); + for (int i = 0; i < res; ++i) { + const double x = i / double(res - 1); + double coeffs[3], rgb[3]; + memset(coeffs, 0, sizeof(double) * 3); + + // The convergence of this optimization is not always stable, so the + // technique from the paper is to start with an intensity (0.2) where + // it is stable and then go up and down using the previous result as + // the starting guess. + int start = res / 5; + // First go up from stable ... + for (int k = start; k < res; ++k) { + double b = (double)scale[k]; + + rgb[l] = b; + rgb[(l + 1) % 3] = x * b; + rgb[(l + 2) % 3] = y * b; + + MSE += gauss_newton(rgb, coeffs); + + double c0 = 360.0, c1 = 1.0 / (830.0 - 360.0); + double A = coeffs[0], B = coeffs[1], C = coeffs[2]; + + int idx = ((l * res + k) * res + j) * res + i; + + out[3 * idx + 0] = float(A * (sqr(c1))); + out[3 * idx + 1] = float(B * c1 - 2 * A * c0 * (sqr(c1))); + out[3 * idx + 2] = float(C - B * c0 * c1 + + A * (sqr(c0 * c1))); + // out[3*idx + 2] = resid; + } + // Then down ... + memset(coeffs, 0, sizeof(double) * 3); + for (int k = start; k >= 0; --k) { + double b = (double)scale[k]; + + rgb[l] = b; + rgb[(l + 1) % 3] = x * b; + rgb[(l + 2) % 3] = y * b; + + MSE += gauss_newton(rgb, coeffs); + + double c0 = 360.0, c1 = 1.0 / (830.0 - 360.0); + double A = coeffs[0], B = coeffs[1], C = coeffs[2]; + + int idx = ((l * res + k) * res + j) * res + i; + + out[3 * idx + 0] = float(A * (sqr(c1))); + out[3 * idx + 1] = float(B * c1 - 2 * A * c0 * (sqr(c1))); + out[3 * idx + 2] = float(C - B * c0 * c1 + + A * (sqr(c0 * c1))); + // out[3*idx + 2] = resid; + } + } + }); + } + + MSE /= 3 * 64 * 64 * 64 * 3; + printf("Done! (RMSE = %g)\n", sqrt(MSE)); + + FILE* f = fopen(argv[2], "w"); + if (f == nullptr) { + printf("Could not create file!\n"); + exit(1); + } + fprintf(f, "#include \n\n"); + fprintf(f, "namespace bsdl {\n"); + fprintf( + f, + " const BSDLDefaultConfig::JakobHanikaLut BSDLDefaultConfig::JH_%s_lut = {\n", + argv[3]); + fprintf(f, " {\n"); // Scale + for (int i = 0; i < res; ++i) + fprintf(f, "%.9g, ", scale[i]); + fprintf(f, " },\n {\n"); // actual table + const float* ptr = out; + for (int maxc = 0; maxc < 3; ++maxc) { + fprintf(f, "{ "); + for (int z = 0; z < res; ++z) { + fprintf(f, "{ "); + for (int y = 0; y < res; ++y) { + fprintf(f, "{ "); + for (int x = 0; x < res; ++x) { + fprintf(f, "{ "); + for (int c = 0; c < 3; ++c) + fprintf(f, "%.9g, ", *ptr++); + fprintf(f, "}, "); + } + fprintf(f, "},\n "); + } + fprintf(f, "}, "); + } + fprintf(f, "}, "); + } + fprintf(f, " }\n"); + fprintf(f, " };\n"); + fprintf(f, "} // namespace bsdl\n"); + fclose(f); +} diff --git a/src/libbsdl/src/parallel.h b/src/libbsdl/src/parallel.h new file mode 100644 index 000000000..b3f01cf8c --- /dev/null +++ b/src/libbsdl/src/parallel.h @@ -0,0 +1,38 @@ +#pragma once + +#include +#include +#include + +// Silly, simple and good enough parallel_for for the LUT +// generation tools +template +void +parallel_for(unsigned begin, unsigned end, F c) +{ + struct Job { + F callback; + std::atomic begin; + unsigned end; + + bool next() + { + unsigned i = begin++; + if (i < end) + callback(i); + return i < end; + } + } j = { c, begin, end }; + std::vector threads; + const int nt = std::max(1u, std::min(end - begin, + std::thread::hardware_concurrency())); + + for (int i = 0; i < nt; ++i) { + threads.emplace_back([&]() { + do { + } while (j.next()); + }); + } + for (int i = 0; i < nt; ++i) + threads[i].join(); +} \ No newline at end of file diff --git a/src/testrender/CMakeLists.txt b/src/testrender/CMakeLists.txt index 7643eba57..657572b01 100644 --- a/src/testrender/CMakeLists.txt +++ b/src/testrender/CMakeLists.txt @@ -39,7 +39,7 @@ if (OSL_USE_OPTIX) # Generate PTX for all of the CUDA files foreach (cudasrc ${testrender_cuda_srcs}) - NVCC_COMPILE ( ${cudasrc} "${testrender_cuda_headers}" ptx_generated "" ) + NVCC_COMPILE ( ${cudasrc} "${testrender_cuda_headers}" ptx_generated "" BSDL) list (APPEND ptx_list ${ptx_generated}) endforeach () @@ -79,7 +79,7 @@ add_executable (testrender ${testrender_srcs}) target_link_libraries (testrender PRIVATE - oslexec oslquery oslcomp + oslexec oslquery oslcomp BSDL pugixml::pugixml Threads::Threads) diff --git a/src/testrender/background.h b/src/testrender/background.h index 53e0a99d8..2bfee44c5 100644 --- a/src/testrender/background.h +++ b/src/testrender/background.h @@ -120,7 +120,8 @@ struct Background { int i = y * res + x; float row_pdf = rows[y] - (y > 0 ? rows[y - 1] : 0.0f); float col_pdf = cols[i] - (x > 0 ? cols[i - 1] : 0.0f); - pdf = row_pdf * col_pdf * invjacobian; + // FIXME: This sometimes comes out negative in Optix + pdf = std::max(0.0f, row_pdf * col_pdf * invjacobian); return values[i]; } @@ -132,7 +133,8 @@ struct Background { ry = sample_cdf(rows, res, ry, &y, &row_pdf); rx = sample_cdf(cols + y * res, res, rx, &x, &col_pdf); dir = map(x + rx, y + ry); - pdf = row_pdf * col_pdf * invjacobian; + // FIXME: This sometimes comes out negative in Optix + pdf = std::max(0.0f, row_pdf * col_pdf * invjacobian); return values[y * res + x]; } diff --git a/src/testrender/bsdl_config.h b/src/testrender/bsdl_config.h new file mode 100644 index 000000000..5e9f59d3b --- /dev/null +++ b/src/testrender/bsdl_config.h @@ -0,0 +1,84 @@ +#pragma once + +#define BSDL_INLINE static inline OSL_HOSTDEVICE +#define BSDL_INLINE_METHOD inline OSL_HOSTDEVICE +#define BSDL_DECL OSL_DEVICE +#define BSDL_UNROLL() // Do nothing + +#include + +#include + +struct BSDLConfig : public bsdl::BSDLDefaultConfig { + // testrender won't do spectral render, just 3 channels covers RGB + static constexpr int HERO_WAVELENGTH_CHANNELS = 3; + + struct Fast { + static BSDL_INLINE_METHOD float cosf(float x) + { + return OIIO::fast_cos(x); + } + static BSDL_INLINE_METHOD float sinf(float x) + { + return OIIO::fast_sin(x); + } + static BSDL_INLINE_METHOD float asinf(float x) + { + return OIIO::fast_asin(x); + } + static BSDL_INLINE_METHOD float acosf(float x) + { + return OIIO::fast_acos(x); + } + static BSDL_INLINE_METHOD float atan2f(float y, float x) + { + return OIIO::fast_atan2(y, x); + } + static BSDL_INLINE_METHOD void sincosf(float x, float* s, float* c) + { + return OIIO::fast_sincos(x, s, c); + } + static BSDL_INLINE_METHOD float sinpif(float x) + { + return OIIO::fast_sinpi(x); + } + static BSDL_INLINE_METHOD float cospif(float x) + { + return OIIO::fast_cospi(x); + } + static BSDL_INLINE_METHOD float expf(float x) + { + return OIIO::fast_exp(x); + } + static BSDL_INLINE_METHOD float exp2f(float x) + { + return OIIO::fast_exp2(x); + } + static BSDL_INLINE_METHOD float logf(float x) + { + return OIIO::fast_log(x); + } + static BSDL_INLINE_METHOD float log2f(float x) + { + return OIIO::fast_log2(x); + } + static BSDL_INLINE_METHOD float log1pf(float x) + { + return OIIO::fast_log1p(x); + } + static BSDL_INLINE_METHOD float powf(float x, float y) + { + return OIIO::fast_safe_pow(x, y); + } + }; + + static BSDL_INLINE_METHOD ColorSpaceTag current_color_space() + { + return ColorSpaceTag::sRGB; + } + static BSDL_INLINE_METHOD const JakobHanikaLut* + get_jakobhanika_lut(ColorSpaceTag cs) + { + return nullptr; + } +}; diff --git a/src/testrender/raytracer.h b/src/testrender/raytracer.h index e700dbcf3..4be865678 100644 --- a/src/testrender/raytracer.h +++ b/src/testrender/raytracer.h @@ -61,11 +61,12 @@ struct Ray { OSL_HOSTDEVICE Ray(const Vec3& o, const Vec3& d, float radius, float spread, - RayType raytype) + float roughness, RayType raytype) : origin(o) , direction(d) , radius(radius) , spread(spread) + , roughness(roughness) , raytype(static_cast(raytype)) { } @@ -97,7 +98,7 @@ struct Ray { } Vec3 origin, direction; - float radius, spread; + float radius, spread, roughness; int raytype; }; @@ -157,7 +158,7 @@ struct Camera { const float cos_a = dir.dot(v); const float spread = sqrtf(invw * invh * cx.length() * cy.length() * cos_a) * cos_a; - return Ray(eye, v, 0, spread, Ray::CAMERA); + return Ray(eye, v, 0, spread, 0.0f, Ray::CAMERA); } // Specified by user: diff --git a/src/testrender/shading.cpp b/src/testrender/shading.cpp index d54c4ee84..83d5b2c56 100644 --- a/src/testrender/shading.cpp +++ b/src/testrender/shading.cpp @@ -8,6 +8,9 @@ #include "optics.h" #include "sampling.h" +#include +#include + using namespace OSL; @@ -38,11 +41,89 @@ is_black(const Color3& c) } // anonymous namespace - OSL_NAMESPACE_BEGIN +// BSDL expects this minimum functionality. We could put it in BSDF but +// the roughness() method interferes with other BSDFs +struct BSDLLobe : public BSDF { + template + OSL_HOSTDEVICE BSDLLobe(LOBE* lobe, float rough, float l0, bool tr) + : BSDF(lobe), m_roughness(rough) + { + } + + OSL_HOSTDEVICE float roughness() const { return m_roughness; } + + float m_roughness; +}; + +// This is the thin wrapper to insert spi::ThinLayerLobe into testrender +struct SpiThinLayer : public bsdl::spi::ThinLayerLobe { + using Base = bsdl::spi::ThinLayerLobe; + + static constexpr int closureid() { return SPI_THINLAYER; } + + OSL_HOSTDEVICE SpiThinLayer(const Data& data, const Vec3& wo, + float path_roughness) + : Base(this, + bsdl::BsdfGlobals(wo, + data.N, // Nf + data.N, // Ngf + false, // backfacing + path_roughness, + 1.0f, // outer_ior + 0), // hero wavelength off + data) + { + } + + OSL_HOSTDEVICE BSDF::Sample eval(const Vec3& wo, const Vec3& wi) const + { + bsdl::Sample s = Base::eval_impl(Base::frame.local(wo), + Base::frame.local(wi), true, true); + return { wi, s.weight.toRGB(0), s.pdf, s.roughness }; + } + OSL_HOSTDEVICE BSDF::Sample sample(const Vec3& wo, float rx, float ry, + float rz) const + { + bsdl::Sample s = Base::sample_impl(Base::frame.local(wo), + { rx, ry, rz }, true, true); + return { Base::frame.world(s.wi), s.weight.toRGB(0), s.pdf, + s.roughness }; + } +}; + #ifndef __CUDACC__ +// Helper to register BSDL closures +struct BSDLtoOSL { + template void visit() + { + const auto e = BSDF::template entry(); + std::vector params; + for (int i = 0; true; ++i) { + const bsdl::LobeParam& in = e.params[i]; + TypeDesc osltype; + switch (in.type) { + case bsdl::ParamType::NONE: osltype = TypeDesc(); break; + case bsdl::ParamType::VECTOR: osltype = OSL::TypeVector; break; + case bsdl::ParamType::INT: osltype = OSL::TypeInt; break; + case bsdl::ParamType::FLOAT: osltype = OSL::TypeFloat; break; + case bsdl::ParamType::COLOR: osltype = OSL::TypeColor; break; + case bsdl::ParamType::STRING: osltype = OSL::TypeString; break; + case bsdl::ParamType::CLOSURE: osltype = TypeDesc::PTR; break; + } + params.push_back({ osltype, in.offset, in.key, in.type_size }); + if (in.type == bsdl::ParamType::NONE) + break; + } + shadingsys->register_closure(e.name, BSDF::closureid(), params.data(), + nullptr, nullptr); + } + + OSL::ShadingSystem* shadingsys; +}; + void register_closures(OSL::ShadingSystem* shadingsys) { @@ -228,16 +309,17 @@ register_closures(OSL::ShadingSystem* shadingsys) for (const BuiltinClosures& b : builtins) shadingsys->register_closure(b.name, b.id, b.params, nullptr, nullptr); + + // BSDFs coming from BSDL + using bsdl_set = bsdl::TypeList; + // Register them + bsdl_set::apply(BSDLtoOSL { shadingsys }); } #endif // ifndef __CUDACC__ -OSL_NAMESPACE_END - -namespace { // anonymous namespace - template struct Diffuse final : public BSDF, DiffuseParams { OSL_HOSTDEVICE Diffuse(const DiffuseParams& params) - : BSDF(DIFFUSE_ID), DiffuseParams(params) + : BSDF(this), DiffuseParams(params) { if (trans) N = -N; @@ -259,7 +341,7 @@ template struct Diffuse final : public BSDF, DiffuseParams { struct OrenNayar final : public BSDF, OrenNayarParams { OSL_HOSTDEVICE OrenNayar(const OrenNayarParams& params) - : BSDF(OREN_NAYAR_ID), OrenNayarParams(params) + : BSDF(this), OrenNayarParams(params) { } OSL_HOSTDEVICE Sample eval(const Vec3& wo, const OSL::Vec3& wi) const @@ -297,7 +379,7 @@ struct OrenNayar final : public BSDF, OrenNayarParams { struct EnergyCompensatedOrenNayar : public BSDF, MxOrenNayarDiffuseParams { OSL_HOSTDEVICE EnergyCompensatedOrenNayar(const MxOrenNayarDiffuseParams& params) - : BSDF(MX_OREN_NAYAR_DIFFUSE_ID), MxOrenNayarDiffuseParams(params) + : BSDF(this), MxOrenNayarDiffuseParams(params) { } OSL_HOSTDEVICE Sample eval(const Vec3& wo, const OSL::Vec3& wi) const @@ -368,7 +450,7 @@ struct EnergyCompensatedOrenNayar : public BSDF, MxOrenNayarDiffuseParams { struct Phong final : public BSDF, PhongParams { OSL_HOSTDEVICE Phong(const PhongParams& params) - : BSDF(PHONG_ID), PhongParams(params) + : BSDF(this), PhongParams(params) { } OSL_HOSTDEVICE Sample eval(const Vec3& wo, const Vec3& wi) const @@ -411,7 +493,7 @@ struct Phong final : public BSDF, PhongParams { struct Ward final : public BSDF, WardParams { OSL_HOSTDEVICE Ward(const WardParams& params) - : BSDF(WARD_ID), WardParams(params) + : BSDF(this), WardParams(params) { } OSL_HOSTDEVICE Sample eval(const Vec3& wo, const OSL::Vec3& wi) const @@ -617,7 +699,7 @@ struct BeckmannDist { template struct Microfacet final : public BSDF, MicrofacetParams { OSL_HOSTDEVICE Microfacet(const MicrofacetParams& params) - : BSDF(MICROFACET_ID) + : BSDF(this) , MicrofacetParams(params) , tf(TangentFrame::from_normal_and_tangent(N, U)) { @@ -844,21 +926,14 @@ struct Microfacet final : public BSDF, MicrofacetParams { TangentFrame tf; }; -typedef Microfacet MicrofacetGGXRefl; -typedef Microfacet MicrofacetGGXRefr; -typedef Microfacet MicrofacetGGXBoth; -typedef Microfacet MicrofacetBeckmannRefl; -typedef Microfacet MicrofacetBeckmannRefr; -typedef Microfacet MicrofacetBeckmannBoth; - // We use the CRTP to inherit the parameters because each MaterialX closure uses a different set of parameters -template struct MxMicrofacet final : public BSDF, MxMicrofacetParams { OSL_HOSTDEVICE MxMicrofacet(const MxMicrofacetParams& params, float refraction_ior) - : BSDF(ID) + : BSDF(this) , MxMicrofacetParams(params) , tf(TangentFrame::from_normal_and_tangent(MxMicrofacetParams::N, MxMicrofacetParams::U)) @@ -1133,7 +1208,7 @@ struct MxMicrofacet final : public BSDF, MxMicrofacetParams { struct Reflection final : public BSDF, ReflectionParams { OSL_HOSTDEVICE Reflection(const ReflectionParams& params) - : BSDF(REFLECTION_ID), ReflectionParams(params) + : BSDF(this), ReflectionParams(params) { } OSL_HOSTDEVICE Color3 get_albedo(const Vec3& wo) const @@ -1164,7 +1239,7 @@ struct Reflection final : public BSDF, ReflectionParams { struct Refraction final : public BSDF, RefractionParams { OSL_HOSTDEVICE Refraction(const RefractionParams& params) - : BSDF(REFRACTION_ID), RefractionParams(params) + : BSDF(this), RefractionParams(params) { } OSL_HOSTDEVICE Color3 get_albedo(const Vec3& wo) const @@ -1188,7 +1263,7 @@ struct Refraction final : public BSDF, RefractionParams { }; struct Transparent final : public BSDF { - OSL_HOSTDEVICE Transparent() : BSDF(TRANSPARENT_ID) {} + OSL_HOSTDEVICE Transparent() : BSDF(this) {} OSL_HOSTDEVICE Sample eval(const Vec3& /*wo*/, const Vec3& /*wi*/) const { return {}; @@ -1204,7 +1279,7 @@ struct Transparent final : public BSDF { struct MxBurleyDiffuse final : public BSDF, MxBurleyDiffuseParams { OSL_HOSTDEVICE MxBurleyDiffuse(const MxBurleyDiffuseParams& params) - : BSDF(MX_BURLEY_DIFFUSE_ID), MxBurleyDiffuseParams(params) + : BSDF(this), MxBurleyDiffuseParams(params) { } @@ -1240,7 +1315,7 @@ struct MxBurleyDiffuse final : public BSDF, MxBurleyDiffuseParams { // https://dassaultsystemes-technology.github.io/EnterprisePBRShadingModel/spec-2022x.md.html#components/sheen struct CharlieSheen final : public BSDF, MxSheenParams { OSL_HOSTDEVICE CharlieSheen(const MxSheenParams& params) - : BSDF(MX_SHEEN_ID), MxSheenParams(params) + : BSDF(this), MxSheenParams(params) { } @@ -1294,7 +1369,7 @@ struct CharlieSheen final : public BSDF, MxSheenParams { // https://tizianzeltner.com/projects/Zeltner2022Practical/ struct ZeltnerBurleySheen final : public BSDF, MxSheenParams { OSL_HOSTDEVICE ZeltnerBurleySheen(const MxSheenParams& params) - : BSDF(MX_SHEEN_ID), MxSheenParams(params) + : BSDF(this), MxSheenParams(params) { } @@ -1396,7 +1471,6 @@ struct ZeltnerBurleySheen final : public BSDF, MxSheenParams { } }; - OSL_HOSTDEVICE Color3 evaluate_layer_opacity(const ShaderGlobalsType& sg, const ClosureColor* closure) { @@ -1448,8 +1522,8 @@ evaluate_layer_opacity(const ShaderGlobalsType& sg, const ClosureColor* closure) closure = nullptr; break; } - MxMicrofacet - mf(params, 1.0f); + MxMicrofacet mf(params, + 1.0f); weight *= w * mf.get_albedo(-sg.I); closure = nullptr; break; @@ -1462,9 +1536,8 @@ evaluate_layer_opacity(const ShaderGlobalsType& sg, const ClosureColor* closure) closure = nullptr; break; } - MxMicrofacet - mf(params, 1.0f); + MxMicrofacet mf( + params, 1.0f); weight *= w * mf.get_albedo(-sg.I); closure = nullptr; break; @@ -1598,9 +1671,9 @@ process_medium_closure(const ShaderGlobalsType& sg, ShadingResult& result, // recursively walk through the closure tree, creating bsdfs as we go OSL_HOSTDEVICE void -process_bsdf_closure(const ShaderGlobalsType& sg, ShadingResult& result, - const ClosureColor* closure, const Color3& w, - bool light_only) +process_bsdf_closure(const ShaderGlobalsType& sg, float path_roughness, + ShadingResult& result, const ClosureColor* closure, + const Color3& w, bool light_only) { static const ustringhash uh_ggx("ggx"); static const ustringhash uh_beckmann("beckmann"); @@ -1735,35 +1808,34 @@ process_bsdf_closure(const ShaderGlobalsType& sg, ShadingResult& result, = *comp->as(); if (is_black(params.transmission_tint)) ok = result.bsdf.add_bsdf< - MxMicrofacet>(cw, params, - 1.0f); + MxMicrofacet>( + cw, params, 1.0f); else - ok = result.bsdf.add_bsdf>( + ok = result.bsdf.add_bsdf< + MxMicrofacet>( cw, params, result.refraction_ior); break; } case MX_CONDUCTOR_ID: { const MxConductorParams& params = *comp->as(); - ok = result.bsdf.add_bsdf>( - cw, params, 1.0f); + ok = result.bsdf.add_bsdf< + MxMicrofacet>(cw, + params, + 1.0f); break; }; case MX_GENERALIZED_SCHLICK_ID: { const MxGeneralizedSchlickParams& params = *comp->as(); if (is_black(params.transmission_tint)) - ok = result.bsdf.add_bsdf< - MxMicrofacet>( - cw, params, 1.0f); + ok = result.bsdf.add_bsdf>(cw, + params, + 1.0f); else - ok = result.bsdf.add_bsdf< - MxMicrofacet>( + ok = result.bsdf.add_bsdf>( cw, params, result.refraction_ior); break; }; @@ -1822,6 +1894,13 @@ process_bsdf_closure(const ShaderGlobalsType& sg, ShadingResult& result, ok = true; break; } + case SpiThinLayer::closureid(): { + const SpiThinLayer::Data& params + = *comp->as(); + ok = result.bsdf.add_bsdf(cw, params, -sg.I, + path_roughness); + break; + } } #ifndef __CUDACC__ OSL_ASSERT(ok && "Invalid closure invoked in surface shader"); @@ -1842,17 +1921,14 @@ process_bsdf_closure(const ShaderGlobalsType& sg, ShadingResult& result, } } -} // anonymous namespace - -OSL_NAMESPACE_BEGIN OSL_HOSTDEVICE void -process_closure(const ShaderGlobalsType& sg, ShadingResult& result, - const ClosureColor* Ci, bool light_only) +process_closure(const ShaderGlobalsType& sg, float path_roughness, + ShadingResult& result, const ClosureColor* Ci, bool light_only) { if (!light_only) process_medium_closure(sg, result, Ci, Color3(1)); - process_bsdf_closure(sg, result, Ci, Color3(1), light_only); + process_bsdf_closure(sg, path_roughness, result, Ci, Color3(1), light_only); } OSL_HOSTDEVICE Vec3 @@ -1895,317 +1971,22 @@ process_background_closure(const ClosureColor* closure) return weight; } - -typedef MxMicrofacet - MxConductor; -typedef MxMicrofacet - MxDielectric; -typedef MxMicrofacet - MxDielectricOpaque; -typedef MxMicrofacet - MxGeneralizedSchlick; -typedef MxMicrofacet - MxGeneralizedSchlickOpaque; - OSL_HOSTDEVICE Color3 -CompositeBSDF::get_albedo(const BSDF* bsdf, const Vec3& wo) const +BSDF::get_albedo_vrtl(const Vec3& wo) const { - static const ustringhash uh_ggx("ggx"); - static const ustringhash uh_beckmann("beckmann"); - static const ustringhash uh_default("default"); - - Color3 albedo(0); - switch (bsdf->id) { - case DIFFUSE_ID: - albedo = BSDF_CAST(Diffuse<0>, bsdf)->get_albedo(wo); - break; - case TRANSPARENT_ID: - case MX_TRANSPARENT_ID: - albedo = BSDF_CAST(Transparent, bsdf)->get_albedo(wo); - break; - case OREN_NAYAR_ID: - albedo = BSDF_CAST(OrenNayar, bsdf)->get_albedo(wo); - break; - case TRANSLUCENT_ID: - albedo = BSDF_CAST(Diffuse<1>, bsdf)->get_albedo(wo); - break; - case PHONG_ID: albedo = BSDF_CAST(Phong, bsdf)->get_albedo(wo); break; - case WARD_ID: albedo = BSDF_CAST(Ward, bsdf)->get_albedo(wo); break; - case REFLECTION_ID: - case FRESNEL_REFLECTION_ID: - albedo = BSDF_CAST(Reflection, bsdf)->get_albedo(wo); - break; - case REFRACTION_ID: - albedo = BSDF_CAST(Refraction, bsdf)->get_albedo(wo); - break; - case MICROFACET_ID: { - const int refract = ((MicrofacetBeckmannRefl*)bsdf)->refract; - const ustringhash dist = ((MicrofacetBeckmannRefl*)bsdf)->dist; - if (dist == uh_default || dist == uh_beckmann) { - switch (refract) { - case 0: - albedo = BSDF_CAST(MicrofacetBeckmannRefl, bsdf)->get_albedo(wo); - break; - case 1: - albedo = BSDF_CAST(MicrofacetBeckmannRefr, bsdf)->get_albedo(wo); - break; - case 2: - albedo = BSDF_CAST(MicrofacetBeckmannBoth, bsdf)->get_albedo(wo); - break; - } - } else if (dist == uh_ggx) { - switch (refract) { - case 0: - albedo = BSDF_CAST(MicrofacetGGXRefl, bsdf)->get_albedo(wo); - break; - case 1: - albedo = BSDF_CAST(MicrofacetGGXRefr, bsdf)->get_albedo(wo); - break; - case 2: - albedo = BSDF_CAST(MicrofacetGGXBoth, bsdf)->get_albedo(wo); - break; - } - } - break; - } - case MX_CONDUCTOR_ID: - albedo = BSDF_CAST(MxConductor, bsdf)->get_albedo(wo); - break; - case MX_DIELECTRIC_ID: - if (is_black(((MxDielectricOpaque*)bsdf)->transmission_tint)) - albedo = BSDF_CAST(MxDielectricOpaque, bsdf)->get_albedo(wo); - else - albedo = BSDF_CAST(MxDielectric, bsdf)->get_albedo(wo); - break; - case MX_OREN_NAYAR_DIFFUSE_ID: - albedo = BSDF_CAST(EnergyCompensatedOrenNayar, bsdf)->get_albedo(wo); - break; - case MX_BURLEY_DIFFUSE_ID: - albedo = BSDF_CAST(MxBurleyDiffuse, bsdf)->get_albedo(wo); - break; - case MX_SHEEN_ID: - if (BSDF_CAST(CharlieSheen, bsdf)->mode == 1) - albedo = BSDF_CAST(ZeltnerBurleySheen, bsdf)->get_albedo(wo); - else - albedo = BSDF_CAST(CharlieSheen, bsdf)->get_albedo(wo); - break; - case MX_GENERALIZED_SCHLICK_ID: { - const Color3& tint = ((MxGeneralizedSchlick*)bsdf)->transmission_tint; - if (is_black(tint)) - albedo = BSDF_CAST(MxGeneralizedSchlickOpaque, bsdf)->get_albedo(wo); - else - albedo = BSDF_CAST(MxGeneralizedSchlick, bsdf)->get_albedo(wo); - break; - } - default: break; - } - return albedo; + return dispatch([&](auto bsdf) { return bsdf.get_albedo(wo); }); } - OSL_HOSTDEVICE BSDF::Sample -CompositeBSDF::sample(const BSDF* bsdf, const Vec3& wo, float rx, float ry, - float rz) const +BSDF::eval_vrtl(const Vec3& wo, const Vec3& wi) const { - static const ustringhash uh_ggx("ggx"); - static const ustringhash uh_beckmann("beckmann"); - static const ustringhash uh_default("default"); - - BSDF::Sample sample = {}; - switch (bsdf->id) { - case DIFFUSE_ID: - sample = BSDF_CAST(Diffuse<0>, bsdf)->sample(wo, rx, ry, rz); - break; - case TRANSPARENT_ID: - case MX_TRANSPARENT_ID: - sample = BSDF_CAST(Transparent, bsdf)->sample(wo, rx, ry, rz); - break; - case OREN_NAYAR_ID: - sample = BSDF_CAST(OrenNayar, bsdf)->sample(wo, rx, ry, rz); - break; - case TRANSLUCENT_ID: - sample = BSDF_CAST(Diffuse<1>, bsdf)->sample(wo, rx, ry, rz); - break; - case PHONG_ID: - sample = BSDF_CAST(Phong, bsdf)->sample(wo, rx, ry, rz); - break; - case WARD_ID: sample = BSDF_CAST(Ward, bsdf)->sample(wo, rx, ry, rz); break; - case REFLECTION_ID: - case FRESNEL_REFLECTION_ID: - sample = BSDF_CAST(Reflection, bsdf)->sample(wo, rx, ry, rz); - break; - case REFRACTION_ID: - sample = BSDF_CAST(Refraction, bsdf)->sample(wo, rx, ry, rz); - break; - case MICROFACET_ID: { - const int refract = ((MicrofacetBeckmannRefl*)bsdf)->refract; - const ustringhash dist = ((MicrofacetBeckmannRefl*)bsdf)->dist; - if (dist == uh_default || dist == uh_beckmann) { - switch (refract) { - case 0: - sample = BSDF_CAST(MicrofacetBeckmannRefl, bsdf) - ->sample(wo, rx, ry, rz); - break; - case 1: - sample = BSDF_CAST(MicrofacetBeckmannRefr, bsdf) - ->sample(wo, rx, ry, rz); - break; - case 2: - sample = BSDF_CAST(MicrofacetBeckmannBoth, bsdf) - ->sample(wo, rx, ry, rz); - break; - } - } else if (dist == uh_ggx) { - switch (refract) { - case 0: - sample - = BSDF_CAST(MicrofacetGGXRefl, bsdf)->sample(wo, rx, ry, rz); - break; - case 1: - sample - = BSDF_CAST(MicrofacetGGXRefr, bsdf)->sample(wo, rx, ry, rz); - break; - case 2: - sample - = BSDF_CAST(MicrofacetGGXBoth, bsdf)->sample(wo, rx, ry, rz); - break; - } - } - break; - } - case MX_CONDUCTOR_ID: - sample = BSDF_CAST(MxConductor, bsdf)->sample(wo, rx, ry, rz); - break; - case MX_DIELECTRIC_ID: - if (is_black(((MxDielectricOpaque*)bsdf)->transmission_tint)) - sample = BSDF_CAST(MxDielectricOpaque, bsdf)->sample(wo, rx, ry, rz); - else - sample = BSDF_CAST(MxDielectric, bsdf)->sample(wo, rx, ry, rz); - break; - case MX_BURLEY_DIFFUSE_ID: - sample = BSDF_CAST(MxBurleyDiffuse, bsdf)->sample(wo, rx, ry, rz); - break; - case MX_OREN_NAYAR_DIFFUSE_ID: - sample = BSDF_CAST(EnergyCompensatedOrenNayar, bsdf) - ->sample(wo, rx, ry, rz); - break; - case MX_SHEEN_ID: - if (BSDF_CAST(CharlieSheen, bsdf)->mode == 1) - sample = BSDF_CAST(ZeltnerBurleySheen, bsdf)->sample(wo, rx, ry, rz); - else - sample = BSDF_CAST(CharlieSheen, bsdf)->sample(wo, rx, ry, rz); - break; - case MX_GENERALIZED_SCHLICK_ID: { - const Color3& tint = ((MxGeneralizedSchlick*)bsdf)->transmission_tint; - if (is_black(tint)) { - sample = BSDF_CAST(MxGeneralizedSchlickOpaque, bsdf) - ->sample(wo, rx, ry, rz); - } else { - sample - = BSDF_CAST(MxGeneralizedSchlick, bsdf)->sample(wo, rx, ry, rz); - } - break; - } - default: break; - } - return sample; + return dispatch([&](auto bsdf) { return bsdf.eval(wo, wi); }); } - OSL_HOSTDEVICE BSDF::Sample -CompositeBSDF::eval(const BSDF* bsdf, const Vec3& wo, const Vec3& wi) const +BSDF::sample_vrtl(const Vec3& wo, float rx, float ry, float rz) const { - static const ustringhash uh_ggx("ggx"); - static const ustringhash uh_beckmann("beckmann"); - static const ustringhash uh_default("default"); - - BSDF::Sample sample = {}; - switch (bsdf->id) { - case DIFFUSE_ID: sample = BSDF_CAST(Diffuse<0>, bsdf)->eval(wo, wi); break; - case TRANSPARENT_ID: - case MX_TRANSPARENT_ID: - sample = BSDF_CAST(Transparent, bsdf)->eval(wo, wi); - break; - case OREN_NAYAR_ID: - sample = BSDF_CAST(OrenNayar, bsdf)->eval(wo, wi); - break; - case TRANSLUCENT_ID: - sample = BSDF_CAST(Diffuse<1>, bsdf)->eval(wo, wi); - break; - case PHONG_ID: sample = BSDF_CAST(Phong, bsdf)->eval(wo, wi); break; - case WARD_ID: sample = BSDF_CAST(Ward, bsdf)->eval(wo, wi); break; - case REFLECTION_ID: - case FRESNEL_REFLECTION_ID: - sample = BSDF_CAST(Reflection, bsdf)->eval(wo, wi); - break; - case REFRACTION_ID: - sample = BSDF_CAST(Refraction, bsdf)->eval(wo, wi); - break; - case MICROFACET_ID: { - const int refract = ((MicrofacetBeckmannRefl*)bsdf)->refract; - const ustringhash dist = ((MicrofacetBeckmannRefl*)bsdf)->dist; - if (dist == uh_default || dist == uh_beckmann) { - switch (refract) { - case 0: - sample = BSDF_CAST(MicrofacetBeckmannRefl, bsdf)->eval(wo, wi); - break; - case 1: - sample = BSDF_CAST(MicrofacetBeckmannRefr, bsdf)->eval(wo, wi); - break; - case 2: - sample = BSDF_CAST(MicrofacetBeckmannBoth, bsdf)->eval(wo, wi); - break; - } - } else if (dist == uh_ggx) { - switch (refract) { - case 0: - sample = BSDF_CAST(MicrofacetGGXRefl, bsdf)->eval(wo, wi); - break; - case 1: - sample = BSDF_CAST(MicrofacetGGXRefr, bsdf)->eval(wo, wi); - break; - case 2: - sample = BSDF_CAST(MicrofacetGGXBoth, bsdf)->eval(wo, wi); - break; - } - } - break; - } - case MX_CONDUCTOR_ID: - sample = BSDF_CAST(MxConductor, bsdf)->eval(wo, wi); - break; - case MX_DIELECTRIC_ID: - if (is_black(((MxDielectricOpaque*)bsdf)->transmission_tint)) - sample = BSDF_CAST(MxDielectricOpaque, bsdf)->eval(wo, wi); - else - sample = BSDF_CAST(MxDielectric, bsdf)->eval(wo, wi); - break; - case MX_BURLEY_DIFFUSE_ID: - sample = BSDF_CAST(MxBurleyDiffuse, bsdf)->eval(wo, wi); - break; - case MX_OREN_NAYAR_DIFFUSE_ID: - sample = BSDF_CAST(EnergyCompensatedOrenNayar, bsdf)->eval(wo, wi); - break; - case MX_SHEEN_ID: - if (BSDF_CAST(CharlieSheen, bsdf)->mode == 1) - sample = BSDF_CAST(ZeltnerBurleySheen, bsdf)->eval(wo, wi); - else - sample = BSDF_CAST(CharlieSheen, bsdf)->eval(wo, wi); - break; - case MX_GENERALIZED_SCHLICK_ID: { - const Color3& tint = ((MxGeneralizedSchlick*)bsdf)->transmission_tint; - if (is_black(tint)) { - sample = BSDF_CAST(MxGeneralizedSchlickOpaque, bsdf)->eval(wo, wi); - } else { - sample = BSDF_CAST(MxGeneralizedSchlick, bsdf)->eval(wo, wi); - } - break; - } - default: break; - } - return sample; + return dispatch([&](auto bsdf) { return bsdf.sample(wo, rx, ry, rz); }); } diff --git a/src/testrender/shading.h b/src/testrender/shading.h index 741fabaed..732d3f002 100644 --- a/src/testrender/shading.h +++ b/src/testrender/shading.h @@ -10,6 +10,10 @@ #include #include #include + +#include "bsdl_config.h" +#include + #include "optics.h" #include "sampling.h" @@ -50,12 +54,12 @@ enum ClosureIDs { MX_MEDIUM_VDF_ID, MX_LAYER_ID, // TODO: adding vdfs would require extending testrender with volume support ... + // BSDL SPI closures + SPI_THINLAYER, EMPTY_ID }; -namespace { // anonymous namespace - // these structures hold the parameters of each closure type // they will be contained inside ClosureComponent struct EmptyParams {}; @@ -298,15 +302,58 @@ struct MxMediumVdfParams { ustringhash label; }; -} // anonymous namespace - - -// Cast a BSDF* to the specified sub-type -#define BSDF_CAST(BSDF_TYPE, bsdf) reinterpret_cast(bsdf) +struct GGXDist; +struct BeckmannDist; + +template struct Diffuse; + +template struct Microfacet; +using MicrofacetGGXRefl = Microfacet; +using MicrofacetGGXRefr = Microfacet; +using MicrofacetGGXBoth = Microfacet; +using MicrofacetBeckmannRefl = Microfacet; +using MicrofacetBeckmannRefr = Microfacet; +using MicrofacetBeckmannBoth = Microfacet; + +template +struct MxMicrofacet; + +using MxGeneralizedSchlick + = MxMicrofacet; +using MxGeneralizedSchlickOpaque + = MxMicrofacet; +using MxDielectric = MxMicrofacet; +using MxDielectricOpaque = MxMicrofacet; +using MxConductor = MxMicrofacet; + +struct Transparent; +struct OrenNayar; +struct Phong; +struct Ward; +struct Reflection; +struct Refraction; +struct MxBurleyDiffuse; +struct EnergyCompensatedOrenNayar; +struct ZeltnerBurleySheen; +struct CharlieSheen; +struct SpiThinLayer; + +// StaticVirtual generates a switch/case dispatch method for us given +// a list of possible subtypes. We just need to forward declare them. +using AbstractBSDF = bsdl::StaticVirtual< + Diffuse<0>, Transparent, OrenNayar, Diffuse<1>, Phong, Ward, Reflection, + Refraction, MicrofacetBeckmannRefl, MicrofacetBeckmannRefr, + MicrofacetBeckmannBoth, MicrofacetGGXRefl, MicrofacetGGXRefr, + MicrofacetGGXBoth, MxConductor, MxDielectricOpaque, MxDielectric, + MxBurleyDiffuse, EnergyCompensatedOrenNayar, ZeltnerBurleySheen, + CharlieSheen, MxGeneralizedSchlickOpaque, MxGeneralizedSchlick, SpiThinLayer>; + +// Then we just need to inherit from AbstractBSDF /// Individual BSDF (diffuse, phong, refraction, etc ...) /// Actual implementations of this class are private -struct BSDF { +struct BSDF : public AbstractBSDF { struct Sample { OSL_HOSTDEVICE Sample() : wi(0.0f), weight(0.0f), pdf(0.0f), roughness(0.0f) @@ -325,7 +372,13 @@ struct BSDF { float pdf; float roughness; }; - OSL_HOSTDEVICE BSDF(ClosureIDs id = EMPTY_ID) : id(id) {} + // We get the specific BSDF type as a template parameter LOBE in + // the constructor. We pass it to AbstractBSDF and it computes an + // id internally to remember. + template OSL_HOSTDEVICE BSDF(LOBE* lobe) : AbstractBSDF(lobe) + { + } + // Default implementations, to be overriden by subclasses OSL_HOSTDEVICE Color3 get_albedo(const Vec3& /*wo*/) const { return Color3(1); @@ -339,7 +392,13 @@ struct BSDF { { return {}; } - ClosureIDs id; + // And the "virtual" versions of the above. They are implemented via + // dispatch with a lambda, but it has to be written after subclasses + // with their inline methods have been defined. See shading.cpp + OSL_HOSTDEVICE Color3 get_albedo_vrtl(const Vec3& wo) const; + OSL_HOSTDEVICE Sample eval_vrtl(const Vec3& wo, const Vec3& wi) const; + OSL_HOSTDEVICE Sample sample_vrtl(const Vec3& wo, float rx, float ry, + float rz) const; #ifdef __CUDACC__ // TODO: This is a total hack to avoid a misaligned address error // that sometimes occurs with the EnergyCompensatedOrenNayar BSDF. @@ -360,7 +419,8 @@ struct CompositeBSDF { { float total = 0; for (int i = 0; i < num_bsdfs; i++) { - pdfs[i] = weights[i].dot(path_weight * get_albedo(bsdfs[i], wo)) + pdfs[i] = weights[i].dot(path_weight + * bsdfs[i]->get_albedo_vrtl(wo)) / (path_weight.x + path_weight.y + path_weight.z); #ifndef __CUDACC__ // TODO: Figure out what to do with weights/albedos with negative @@ -392,7 +452,7 @@ struct CompositeBSDF { { Color3 result(0, 0, 0); for (int i = 0; i < num_bsdfs; i++) - result += weights[i] * get_albedo(bsdfs[i], wo); + result += weights[i] * bsdfs[i]->get_albedo_vrtl(wo); return result; } @@ -400,7 +460,7 @@ struct CompositeBSDF { { BSDF::Sample s = {}; for (int i = 0; i < num_bsdfs; i++) { - BSDF::Sample b = eval(bsdfs[i], wo, wi); + BSDF::Sample b = bsdfs[i]->eval_vrtl(wo, wi); b.weight *= weights[i]; MIS::update_eval(&s.weight, &s.pdf, b.weight, b.pdf, pdfs[i]); s.roughness += b.roughness * pdfs[i]; @@ -416,7 +476,7 @@ struct CompositeBSDF { if (rx < (pdfs[i] + accum)) { rx = (rx - accum) / pdfs[i]; rx = std::min(rx, 0.99999994f); // keep result in [0,1) - BSDF::Sample s = sample(bsdfs[i], wo, rx, ry, rz); + BSDF::Sample s = bsdfs[i]->sample_vrtl(wo, rx, ry, rz); s.weight *= weights[i] * (1 / pdfs[i]); s.pdf *= pdfs[i]; if (s.pdf == 0.0f) @@ -424,7 +484,7 @@ struct CompositeBSDF { // we sampled PDF i, now figure out how much the other bsdfs contribute to the chosen direction for (int j = 0; j < num_bsdfs; j++) { if (i != j) { - BSDF::Sample b = eval(bsdfs[j], wo, s.wi); + BSDF::Sample b = bsdfs[j]->eval_vrtl(wo, s.wi); b.weight *= weights[j]; MIS::update_eval(&s.weight, &s.pdf, b.weight, b.pdf, pdfs[j]); @@ -458,11 +518,8 @@ struct CompositeBSDF { OSL_HOSTDEVICE CompositeBSDF(const CompositeBSDF& c); OSL_HOSTDEVICE CompositeBSDF& operator=(const CompositeBSDF& c); - OSL_HOSTDEVICE Color3 get_albedo(const BSDF* bsdf, const Vec3& wo) const; OSL_HOSTDEVICE BSDF::Sample eval(const BSDF* bsdf, const Vec3& wo, const Vec3& wi) const; - OSL_HOSTDEVICE BSDF::Sample sample(const BSDF* bsdf, const Vec3& wo, - float rx, float ry, float rz) const; enum { MaxEntries = 8 }; enum { MaxSize = 256 * sizeof(float) }; @@ -488,8 +545,8 @@ struct ShadingResult { void register_closures(ShadingSystem* shadingsys); OSL_HOSTDEVICE void -process_closure(const OSL::ShaderGlobals& sg, ShadingResult& result, - const ClosureColor* Ci, bool light_only); +process_closure(const OSL::ShaderGlobals& sg, float path_roughness, + ShadingResult& result, const ClosureColor* Ci, bool light_only); OSL_HOSTDEVICE Vec3 process_background_closure(const ClosureColor* Ci); diff --git a/src/testrender/simpleraytracer.cpp b/src/testrender/simpleraytracer.cpp index 2318021fa..e86d968be 100644 --- a/src/testrender/simpleraytracer.cpp +++ b/src/testrender/simpleraytracer.cpp @@ -1030,7 +1030,8 @@ SimpleRaytracer::subpixel_radiance(float x, float y, Sampler& sampler, #endif ShadingResult result; bool last_bounce = b == max_bounces; - process_closure(sg, result, (const ClosureColor*)sg.Ci, last_bounce); + process_closure(sg, r.roughness, result, (const ClosureColor*)sg.Ci, + last_bounce); #ifndef __CUDACC__ const size_t lightprims_size = m_lightprims.size(); @@ -1080,7 +1081,7 @@ SimpleRaytracer::subpixel_radiance(float x, float y, Sampler& sampler, b.pdf); if ((contrib.x + contrib.y + contrib.z) > 0) { ShaderGlobalsType shadow_sg; - Ray shadow_ray = Ray(sg.P, bg_dir.val(), radius, 0, + Ray shadow_ray = Ray(sg.P, bg_dir.val(), radius, 0, 0, Ray::SHADOW); Intersection shadow_hit = scene.intersect(shadow_ray, inf, hit.id); @@ -1110,7 +1111,7 @@ SimpleRaytracer::subpixel_radiance(float x, float y, Sampler& sampler, light_pick_pdf * sample.pdf, b.pdf); if ((contrib.x + contrib.y + contrib.z) > 0) { ShaderGlobalsType light_sg; - Ray shadow_ray = Ray(sg.P, sample.dir, radius, 0, + Ray shadow_ray = Ray(sg.P, sample.dir, radius, 0, 0, Ray::SHADOW); // trace a shadow ray and see if we actually hit the target // in this tiny renderer, tracing a ray is probably cheaper than evaluating the light shader @@ -1140,7 +1141,7 @@ SimpleRaytracer::subpixel_radiance(float x, float y, Sampler& sampler, execute_shader(light_sg, shaderID, light_closure_pool); #endif ShadingResult light_result; - process_closure(light_sg, light_result, + process_closure(light_sg, r.roughness, light_result, (const ClosureColor*)light_sg.Ci, true); // accumulate contribution path_radiance += contrib * light_result.Le; @@ -1157,7 +1158,8 @@ SimpleRaytracer::subpixel_radiance(float x, float y, Sampler& sampler, r.direction = p.wi; r.radius = radius; // Just simply use roughness as spread slope - r.spread = std::max(r.spread, p.roughness); + r.spread = std::max(r.spread, p.roughness); + r.roughness = p.roughness; if (!(path_weight.x > 0) && !(path_weight.y > 0) && !(path_weight.z > 0)) break; // filter out all 0's or NaNs diff --git a/src/testshade/CMakeLists.txt b/src/testshade/CMakeLists.txt index e8d72cfc0..29cab5a18 100644 --- a/src/testshade/CMakeLists.txt +++ b/src/testshade/CMakeLists.txt @@ -35,7 +35,7 @@ if (OSL_USE_OPTIX) # Generate PTX for all of the CUDA files foreach (cudasrc ${testshade_cuda_srcs}) - NVCC_COMPILE ( ${cudasrc} ${extra_cuda_headers} ptx_generated "-I../testrender/cuda" ) + NVCC_COMPILE ( ${cudasrc} ${extra_cuda_headers} ptx_generated "-I../testrender/cuda" "") list (APPEND ptx_list ${ptx_generated}) endforeach () diff --git a/testsuite/render-spi-thinlayer/OPTIX b/testsuite/render-spi-thinlayer/OPTIX new file mode 100644 index 000000000..e69de29bb diff --git a/testsuite/render-spi-thinlayer/checkerboard.osl b/testsuite/render-spi-thinlayer/checkerboard.osl new file mode 100644 index 000000000..121265609 --- /dev/null +++ b/testsuite/render-spi-thinlayer/checkerboard.osl @@ -0,0 +1,36 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +shader +checkerboard + [[ string description = "Procedural checkerboard" ]] +( + float s = u + [[ string description = "s coordinate for the lookup", + float UImin = 0, float UIsoftmax = 1 ]], + float t = v + [[ string description = "t coordinate for the lookup", + float UImin = 0, float UIsoftmax = 1 ]], + float scale_s = 4 + [[ string description = "scale factor for s coordinate" ]], + float scale_t = 4 + [[ string description = "scale factor for t coordinate" ]], + color Ca = color(1, 1, 1) + [[ string description = "color of even squares" ]], + color Cb = color(0, 0, 0) + [[ string description = "color of odd squares" ]], + output color Cout = 0 + [[ string description = "Output color", + float UImin = 0, float UImax = 1 ]] + ) +{ +// TODO: anti-alias + float cs = fmod(s * scale_s, 2); + float ct = fmod(t * scale_t, 2); + if ((int(cs) ^ int(ct)) == 0) + Cout = Ca; + else + Cout = Cb; +} diff --git a/testsuite/render-spi-thinlayer/envmap.osl b/testsuite/render-spi-thinlayer/envmap.osl new file mode 100644 index 000000000..7e5906f05 --- /dev/null +++ b/testsuite/render-spi-thinlayer/envmap.osl @@ -0,0 +1,15 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + +shader envmap(float Kb = 1, string filename = "") +{ + vector dir = normalize(I); + float radial = atan2(-dir[2], dir[0]); + float nradial = acos(dir[1]); + float r = 0.5 * sin(nradial * 0.5); + float tu = 0.5 + r * cos(radial); + float tv = 0.5 - r * sin(radial); + color c = texture(filename, tu, tv); + Ci = Kb * c * background(); +} diff --git a/testsuite/render-spi-thinlayer/glossy_glass.osl b/testsuite/render-spi-thinlayer/glossy_glass.osl new file mode 100644 index 000000000..11cb0d4e9 --- /dev/null +++ b/testsuite/render-spi-thinlayer/glossy_glass.osl @@ -0,0 +1,30 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + +closure color thinlayer( + normal N, // normal + vector U, // side vector + float IOR, // Dielectric IOR + float roughness, // Roughness + float anisotropy, // Anisotropy (0-1) + float thickness, // World space thickness to fake + color refl_tint, // Reflection tint + color refr_tint, // Refraction tint + color sigma_t) [[ int builtin = 1 ]]; // Internal extintion (sgima_a + sigma_s) + +shader glossy_glass (float Kr = 1, color Cs = 1, color absorption = 0, + float xalpha = 0.01, float yalpha = 0.01) +{ + vector U; + if (abs(N[0]) > 0.01) + U = vector(N[2], 0, -N[0]); + else + U = vector(0, -N[2], N[1]); + U = normalize(U); + + float eta = 1.5; + float roughness = max(xalpha, yalpha); + float anisotropy = 1 - min(xalpha, yalpha) / roughness; + Ci = (Kr * Cs) * thinlayer(N, U, eta, roughness, anisotropy, 1.0, color(1), color(1), absorption); +} diff --git a/testsuite/render-spi-thinlayer/matte.osl b/testsuite/render-spi-thinlayer/matte.osl new file mode 100644 index 000000000..a8c6f187e --- /dev/null +++ b/testsuite/render-spi-thinlayer/matte.osl @@ -0,0 +1,19 @@ +// Copyright Contributors to the Open Shading Language project. +// SPDX-License-Identifier: BSD-3-Clause +// https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + + +surface +matte + [[ string description = "Lambertian diffuse material" ]] +( + float Kd = 1 + [[ string description = "Diffuse scaling", + float UImin = 0, float UIsoftmax = 1 ]], + color Cs = 1 + [[ string description = "Base color", + float UImin = 0, float UImax = 1 ]] + ) +{ + Ci = Kd * Cs * diffuse (N); +} diff --git a/testsuite/render-spi-thinlayer/ref/out-icx-alt.exr b/testsuite/render-spi-thinlayer/ref/out-icx-alt.exr new file mode 100644 index 0000000000000000000000000000000000000000..74052b2074623863a503b736f2663203e70824d0 GIT binary patch literal 315317 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

m>!!Xkq%yIHg`BYylC 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

8&KAGB$FGudyZZU-xs32 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 z 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

3#M$D~k6 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≺`EZ1CWZOS9b#_-)^HT-M1q|mK_%xvPlE>Zd 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≫8X$}3%vY!(5 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 MJ*0*9e|b*rGNzZ@0ssI2 literal 0 HcmV?d00001 diff --git a/testsuite/render-spi-thinlayer/ref/out-macos-alt.exr b/testsuite/render-spi-thinlayer/ref/out-macos-alt.exr new file mode 100644 index 0000000000000000000000000000000000000000..21121f391fa7b7b9b540c50c9fa0e09466869e04 GIT binary patch literal 307262 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

uDGxe@KXo#aO7Kzu7ZK(TK z1%owbJswyjmhY^rVn;Z6BJq!R!IzP7@x0NiOwsING*i#`2s#hJ0zlJQfmI~z(%aJG z1!f_Y2S@G^ys6TDli{2}7*=kA<*PXF+@V@Deeeobl?`^OZg)1D;2t^JtG5>d^R70r z+*WTUMeaDy{-O$32o(hJ`6FUY%grJgyHvh*$EW{Hjz>H_ydChiR)*1L1+2eN!Z}A4 znkw`W3-XHFvMB`YM9@9d^2EisGtI?bE3cu}?M?@6rBe6J-I(wdMVMy|NoDyWpTc{yvR_TxdPWw6lJm0n@m%WgjRN~C` znGn?=h3bEX{QQ z&$L2T$`Xy4I8}2wNV*d`d{AB_l}#`H3MprK{cL^p<NtN`Clmh@A(+7O{UVgwR}c9OZ;{Ti2Lb3W|t@kle9u1>2sIK%4D~bL`{Yv!A#!W zfof8l&$R6++DrP>3|aQ!aDT%0nXa(pr}g#bhNmB1m*i?y-)0Y4xT*WN}Fi4~qxF%s6pO z%FSmQ2;>um;+6TcZ9!IBU`we@^6*aM(MiKl0od_s1)atQDWRmhr>l)f!gg}z>3X=!1hO&TvyWFvQk{4}!YAF7sg5?w2s5lm1UX>kGM{X|e05`-Ui?ndw(bD`9_(wJ-yh-~4 z>;YJxH)zkzaH;agp)JVp%m$*2NVUTUN6?s- z=My3ytm{Odyik&=Yu{0;-8g2{v+wFSc6SY_q6oA|CF)*YA6C4za+kDmk)Eij)!N3! z79CXAZwgb~P}3Q_wc!u2_gWUahJKg-B}b2b5N~j^RJ$6ODE>vE(Z3jvRRkZ_c|7r! zOy{osTdM4IOZYJZmh^?cBi}6qIORuc01I4Ez`lu(naaHrL?U; zQu(2yq;xfRe4hB~Bi5YA-go%XLes0#CgT2xj7d#df* z$;;lGZtRqDth=4;e5=A_1(e{=PGh6A(QhA%nXps=%`lR%I;ULX+*$#?ZVgy`S^V+V zIpw!^d5Cg&D~@1UsCXKsuBb>BNICYzAg=7Ah_-PI$eglfVb`Q2;=;EDDze2QG|kgQ zn!M6`Xp$V$&Ph}*6CTxymm^zT+lsRViQ9f&*K^sodXL*;|3bA5Oe39oSFsP&8&6Bw z0yf8hgB1$T^;B)(22ES3w$=QzXveg(lsXIz9qcu2B#uz2;U4mRxi z*1%JIu1~UUz9oS1`$&i%B?frBd!S}YbdQnJB`sS0eUgFtt&nLdU{KEnk)>;{Sgr^| z;TY+Yf@dlr!Rsg)74Ne{NZqVufTxj!EylG58>9P&L!m5k{C!|6R+fTGA^8k1M52m+wqF@ zbDjc`=&T-(T+9fnh|L2EdNSvjzboP4sEIBK;w6yoDrn>G4_wBd&Z3uCq9N^vxVbdnj91!zv-m!O`SKU>(w1zwdDK4k^7KpjLGdo7 z|25IJ5@<~l1u#f-BLPrkn>k|%3B_iB?;*QCJ}?tz!DX63sU~bw~LSf*?rr4Otuh1bYn?svZ?+BYo6cKy8&S zkEg4yenVPz<78c@6ytBo-)N^%Pg5pK0clr0sikKo}S# z(>)qATSF=lLxERNK8i2Sb$?g=9tspF90t?m8lU>tjRrC0;lZV6OX4Wmwy$Q28RI#! zE3xyB0V7Fg5^xKxB#uh7g|NuNq`&9rPt#dT=V9d~pa;8pa=^ITTzPap=C$?hCU$D9 z1NIN0_{>=XxI<*j5>o@3}vBL>wk4$IPj_qzd z5HR0}s6xigs`tv1_sbPQU`=pkn-nJg^pZS2XJbrIO>7#f&9{tni=*1d2pmdw-s7ZV z;Duz`G1nqTgLd11xfJzB9rL+?oX>Q{MpjDz6h8aHqNX=O2&a@wCf$>TSA{@!4LMX| z^?8Pqy!aG0ew3ldLF!Fke$YP+S)N?(^|NSJ*wiH%Vjh_&=o6gTKzKuw%_4tSaGEaR zqlyO;HPGdM2-XKGpuSC}(>Lf-(+E`zEcFb?u1~A9j>#Exa+HeOe)1JO^bt$!c6K!o z|7;MG3hi1p=5rNdX;}cv1HQ3aai)lRP{jI1ic35ahUL9JZ2dC47*W&tg#s2$XtG>M ze|S3!_hsd2cA0hi#s|;$wMWw=8EUrGXzEdn52mkx#^2ytZz0(22RD}$2H8pEf~*MS zL?bw$kLVS6`g>QoWx!CvZb@+pJ_*kiT58=r8*2EAjCQ;i4qQ?tr}CwYR5#Ko3TS{7 zU7EBQK2bl@EMW*xcRt*O2IG!c!Nrcs-4p0Dx=b-ifF_kuKYr5hCz4M^w(zHS#NpN9T@u_L4CwUZCmY{-AdnKTH&8x>82Jc95fy22|Z z0b$&nK~CF_3nuUO$#s7*cXaIFCBl1%*XdJqOVT@YiE+7wvu!)ee4F^2775lAvF!n3 zJkqp56yiF9+fq*f`VD!F9SkMr-z;+#&@h;Ot*&Y7P?)6-{Z0yp7Qxrp)Vy~_pz&aK zo+$_KMiv1_*h<28v2bC~^fU%9?LmG;R1eyQXbfE4@V@;{gHWuT|lKko3X=wo035wmS0D9s;s6X6|c zX&HR^-jg_(15`*Gu0o< zaWGnKu#Tv=rWlSK6Pqf`51kCA%$!sNW)zWf)n-K0b=pTVsjJx*oo2zPc8#zQ(KE^3 z&pIxtkg+gpH`-DJKWQpt;prt!n^onHlw391J!|-P7B!^2IL%A!0Ripz%5mUZ0-Va! zf;@z+Y`~XJ#hDZF5TCDXtW}_hUys$_XU7k;oHcoDbjZ>ZDFtjBvqR0qhl`P~$l*cW z$S-399X&tyMG6o-8;ZkSFwKf9T=3jxEI6(u3paA5wR%|~nxC(rBTy)SFhF%H#;>*YhOWKIMjoY<|* zmflFU@n%*A26ul`FtU>=n#=0K@IBYhgtX%Cig@A?3>12^?@@f7!w7qT7_uCPm-74l z)SU+I1TWW+aV6p6A7VfFY2ha78s@2fuOsImqi0R^=!&a}s8rJ5@q%Y>y(ZwqPEvX( z%YQcN8REAraDaDkJXAeP&)MU{ki(!~UC2#>@NL1czo6bvq05f~JO}PK!lu8+9TAx9 zcg<+tpc|pjlptxO^A@XgZ|(Vbsb#7H04$_u#yb)1&mbR6g;~SaAkOit15#X!o;Dzg?WB^kwSgbxU zh9P&SBf2GpWr_e9%B^?Jjuipv(&$CO#$uM&;LT3`|pgc8tNpFG}!RxQaX-)w+f ze6<{On|dphZRvmvwF?nMnt2Y)vz5VL-XSl60tXnnP>3$q!a|*#XW+|+@lA%-z>w%W z>NiSF_d+UDX91zqn+Wxkptm!gfcLc0o%Nn2qkwJ)zVOAysWU2?4M%GUWP$Oq-Hyv;VhQG?Ft)Y@P;QqH`C>^AhMrV8GjXgr>b|a^NHo>`)>4| zFIwB^)1FX zN8BEbwJ?FS69gJJDPuiDUaM=Q4nuRfaWSol&<#$>O3@mMZpxEUmhda|a0;2Lllr|S z53ZMp!~5+fFxHW)LIUeEhfWPhqP+Fm;T)w2GS#rYP+7$KviFF zBv9R(yGX?r43u_KjyUO--PNNVU4t(oo0wcQiI2todK+XpGk(<2Q4|u%YPZR&a7=$W zHW8@6#>I`Y)9<1pPh|jH%5ky0C@~ogSD36Dx|GU+zX6dgqCY2Fv*_=1WqH@NQ~1bM7yzKhF#Mz!@}Bb{jDPuUmeypw zibf9DAA%MLlY$J(;q{}q(r>uqIv&88t1$KiuTaMkQd@6mFW%=*pTuliIK|&}gq@)8 zfg{j{3l;|26q9@KppfT#k*cL0Tt%*F{IStID|LUY+{SqGCs}XXT2ma4%3^j0q|-7lq|#9I<<-t4m}3r> zZRUbdZ_~@a7Di1&5GsL&Vm}wTT{&aAZxFI)20$+TD-=#!A90ok>8#+`B>gS1_U3l( z*hV9C2S*H}WcNy;yp{iUn?2O%VX(Jc-ZXyUZ>$tUG|vr4`qEj}aNF?YzWGcs7+n^^ zvFo2A7VHd;Dpb zlY&Egm35wEY9U22QUMYu>ifb@pbT9zVlgk+223e0zwO#af3!flg7723K@72$j+$;) z;zy$+*X4^ideCgB%}rUOlCmJfA5Sjt?5FfF8+-ITxSr6C2Y_@(?EHP?`O{_CJWU@q zf?{Anw`#u5AzI%8TG!+)q~5Ev6DIJQ#&~-lT@6&bqa6;vIq%u#`gc zg{t^ylX;PL!f`aa&mwk4ySQ2C3(E7)t^O?N7FiqcVtZq4js}U)Slzd3yC5yK;Vu=K zvtVcYGB(nKm9zJ8D|@D$+NHoa@uKGhEu71Dl*+e9AVS0{oGa&4gDljPHC{(v24e9X zXAObE%K+&Hj=ze-g1)Cdg55L)>z=2f@(TIeIVGkfnBV4;w%O)jdEp^9r<5boA;bama zJ{49T>3kvtX{u6__82tFuMPx?i+LiJDJ<<5Mm%95$v|Bkm|588ljoaOq(X+8h4gU^ zvl9rVv!17bMtRMR7hfh71J+#Cn-Yc;Z4PSCPsbbtMoDcTIv_gz@WHiaaC|C%hM!pH zAnWZM9Q4lnVzazp*)SL-xE=AWN+=vOUX{>HbZ6YKMJx8ntkF`rXjZPqTf9$bd9xz@ zHY~ekxJnBsX{$l{ac@NqW)zJ>t3g6xL9;gho`38VP)Jsd`U)qsJTX13K^L&;CoJl{ z2tYj!h8<#|Vea~Cd6R53^ao3{N)vcY7j@?2ILPl%;c^uy#%Iy`DbmWx1R0!>$xKPU z0kNcOyU#P26#bJ+K+pDwX^g??miwPA5%=&3Y(wx z(%wFpJ0U)Wr6bD_Y=}iJCLt9gObOx< zFZ@HmK6xL^1*mx&dQDdMO4sqnRW@1c?TB|WB|a}+5(l#|HL=x^o$m5r^|RURuy4LN zw$`;6qorF`vv`G~-Ogv4MqLL_Tv-V!~ zN~=)tht}*j31(ntZadCP29DqrPK9akVE+TSGtwRd5bei|oEOgH^T}UpF<6h}aHe|$ zcK~dCwWmN!3nId#(~@^jW7h`zu6tDGV#>t?$OXRxmR4%X?jo5%+*9SB$NX;SBqG2! z1i%Z*1sNioYgMwVeXO6Nmfqw&6y?epxtT=;Vm_<9oMkoJIFgc2TDn*vu(LC{ZV9V8!LN7JT6 z$*7VzTbk+*=TZ)cxfbH|Ms5$Fp_4PBVG<&9f#{O$Zk)Kj#mR?@M=*b?)88$<$Nfcw z8JoC+TK)Uc`+8VKgua{f@V9I}Mw$7c;Ub0)mLecz6p;pg%!pkIDsb*1!Z5H6N??8U zLa+!a1JlK6P^_E#@Bqr%&zZOFO{bPKj%x{`cjp76&SBE@ulX0~1F}`c-nyj|lOZ5H>ylJC9^Jy-pHzY7V0=l4zXcxGB1@?q2 z{?7E+W^~|jR+rL-(c>`*$JOjAw4?~J(d>GTqm*1iikJ0L3IKY@1!nVCg&9-KB7Ge} z`}c=S3t2Q9{S11^D-RfGV&!cFWz#m$6Dxm8mdLVh`>f@>uOHU#&{Eze=HZdvG)Ldi1w$&(|+}?{rl_l#!H`g4w|* zM$61a=T)vjB{RDXXG%*aX;N9#F+Nhmykg)@Xa^Iil#(&99GN!6l_%@W8AYcn_oRwG zr6!!71f~Jd-@9$%iK_a^YQ|1yurXPT-NQY~v)EMbY~GPnj%M*I0v)RUPDBHl>|$gf zbIuL@%7f=c$QmzNjH%uf8pn15p?aZ7u-g}Y z%MtKkvm&u1+zp~Zng3R!P(mMD$j0(gblpZ4ccJwnlLjMr@I zme-^#SK*Vk0=;@h%35=Wj#!&M)+(LRvRR>pTvRf(`6rM(BO1M(cZ#r{H+EkHN^wGc z?J!-^d0c90l5UHKad~?S>qs@7uUF5>XkjXyCd}?GDc|Du)#nH()$U2=TGml^-}ajK zEMSn0O9D@Fzu$)`Nw#iAgXV(N6%@;HC*wlS!!bJrsxvxAh3fl0G)K@Wfg(dOmY?Ri z!cz15N`fSzcj_B*06n;uO)NQcvTG^zL)0GK1?F%K#rXB~Km$2I1U&(LYXKS z*fD^YhX(g=O=s`tkZt(}lSG&E&s<18<$Jd>)jP^s>h6jczTkYhkP_oS{qQZfqtc+b z;esbuMXnxT{L??LioSC5<}jcHM2|`m&t>4d@r1$^_EbINj!vbk!YFP1Ifr6q%rp8P znJWEs|9~E!tI0M^@Z$KgE%e%B#(IKm3An>PCk=9+@0{8+v z)T>{=tgt~XY-Uco_F8WIOO3)kV-kDTI5P-X>SMV+9~);X@F-KGM&ERmhU(pd}&N6&-t6J>~@CR{6iwRq-A4z*e z{P8g#`y5&F9#op1Q~ zUZrYEa?VCyUcQbmGU=LLO1aIe>5PGa5r<2*TBFo=oJ4O_)^7@}q*!^-jVV8t9gqOa zm||C{%-2lksce|y;#{3+z!C~h1Heb~I#Aszs{eG;_mM!PfrOE#%xSq{oRuJD z?vQ{eK|(UUEX>gR-d`G`#40uwu*j*4w=miom!GiPQx{mZEVik;5{tvqIvg&+lO!aN zFO_-pn4cLwxhM;0v~`t?phkzr4ig;tij)vOv^}PRG!9JBv?N>NiC`As_NEW5Koa2f z{JlbK-5d|!K>sm+2>umG-U^-JV{?$3tdktvs9L%SRF^3%itZe75Sc@ls&K7v(dFL% z993ixeBBFg7`cN`eT8{YESyI94eR=}+jE z^By@^F3rLRzQn=#D_`Nl;eNhwlN8%knK4T?=u;@6BH7$XnI_?|Z?wJy8S{)#wBY^L zoqp3SR50{`i7M*3&+m~R9NdBNbIv@1DCc}&qyDINNV>E6hc`Wrt4~YjR34{qpibcj zSORT0T@R!J8QcKzocV}iAtnZnt`G)pE-Bj1s~~Y@0`FpxFpk8&b%1K`p(kEz@VcUH zgseIfWa;|ohJK-(UZkx==W{G3+U6a>M1Dw(HB5VjQ6e%-;Y+wzFOjkR%xfqk>@_uM zjnQv@1!5JmlB*+Nx(KYj(o@EQ%kM2Rd>%`0svv3>L=u|y1QD3+*TVzKnP4S}R#|iJ zZ|%czN{rVG4=QnYr+KUyk6Ma14k6fu)3i=v`*1@1G=XV^eyDrEi||Ez8`EC8vDN2i zRB>Cm2xwqN5ELSv|6@XpG!43TR;e!6BiBFKi=9DWcB&dxW5Wy~FZWJ%DmP&e#UgDk z1s)=E6;1=U>%$ED!ftqjD+ob2b4Xp?q#_V{b_#0q2p{H!p>bh>kTnyyvuW!M=Om)1 zVixdMw(01VdetLP?_emK$+L&~t)QTPjR$7;!12~d5@lDBf_jxjA&RVin6CHKeu?Pn zHF!GIJP)e@fLlQeA8T;ip)>QX3@(PQ(7N}0MFfhHp-5YBte9l8ZR{elBvAVw!sXS1 z+G+Rj!Z}`8Vqt1Cp@Q8UGM)C6!J{|}q>TD|%sX!fD?m2$HQ2Q|dEc2N8x-n$#HQ-_ zu~ASJ<1AS@SjOkzi<2sW_!f#}|GMbyU;8c%szZV{jST+GD@XD@5h33^6s%^G^(=2$ zU3f$|+eE9J0a4c1=ZXhcvB{4@$Dm2+K+&#~_$hy?TbU>V-}q7#C(iKpu&nU5wLSg9I4Nyt&bi$(bwKTyn!QK;sZsyJ`JriLv0K9Vgg2o{^AdIkls5UG48 zv-{>2Nc(3=SU3MoWxTjl@wbHq?Qp4S7@-Kc?Z2WM?6o=MNK5ymXDkRgwPXhCvtnqO zbmgI=Pv~$(Bhaq_!{ic>E}s{d1F02CxOQ;_F|ll;2FImd{<2OTR3E%F4{Wmx+U;^f zH-o_;1*MPj>Fx1eT}7V?iB4ZgGztf~Up<>EMcO)|?a)P1W>{{QpuuP4TZs4`XtPE& zXn1*NQ>&+m^A@;10fB;P?@XV0M)RX7kp*gN=)#l`3S)fM-m!ga51CMY9m+Dv&z0zW zpxj?yhBw53v@Ap1e2OA#YmpNf{v<$zR*6>>fs2Av-=LQ3f|ynB5^Ms7O`AxzQAVt_ zXbak~tvWC$=Pf4R#RdI(uFaM~+^_Y$N(#r+PPtVs#r65tyW{aY=TzfP+n_HR;bl>0 z1{^@*OHjFhx-{Q0v{~^`H`blAA?~`NIY!5syfJN`nb!JQH3R#R4c#W`dp2A~Ip!^& z)|xL*az|6K41ZRK^?OHcqxA5HuREzM3(+6&P|SrQCNQ{sydb%RBnS~7=IL#T1FmDO zK6OCwn}YNBbz>NddS8#KK0HBvBQ7n!B0-S9TO6t+zX&yW>`E%k9tjp=VEjyMHLt-TSq3Rgx#>Y-sflo zY=&Eh7~!7ex8%P|RQITVV|79#u41scxnI2KLB0HrB= z?G{c&Yr~W>%Z&Qb5GqX@d)JFm57=%-JQ!L$7 z)df;@&0Ew0krpWtR_hz(REI&UrK)~GYh179@Zy-~7%QTd%kq4Zr4A1fJ(r$==H3Ic z0lt6%<)4p|QiaXsFBG#%1@vOD)v92hA5v+NM-}z`p-JIId1doNhM78vj&!@6l?!tD zSgT9e0m)6KgNVHT=zWjZ9?10mX>q@wdpbL6-9OgdR_*N`zd9d}zMrqQre@xw zC9xm#&Fqrh{?*>zN!wBQTK=*^e#0(9-`l?4{IQF_9rfV&R&n2a^BS{L();DZ^26;N zeh>qo!~11=Jbm7*D@*Hr#YV8}+|>cmOZ%bnBBhDW_#!TlfCg5I-K{V0%oqPo zuJ{%i{k50!tB$8<6WslGyk9H$R{!_m^!%OP&u{VNm4zO^*YC_Ltxfuu`D1WbZ}_)= zSMSpeB=(olm;0LU`IT?zJ*Kz!q04?J&hzvF_vV+(?(3WNZSqy`<=gwW>;(T^%kLN7 z@0R)2|2Oic_qgWgN8-b7nos$A|JE;w@9SIOv8?2$%J7HX!593AedRZ?E%fa++hhGV z&NHy z;rF{1Z?8-C&vmLF@=sSZ(9iwj=>4wX>z%X9Z<*^ZPfy235`LeS;P3p$=f`Av*Ce0F zD>?h`*=Nt{uHW06*zxs<q%cZU8}*gso#{~5mb?;E?nVf=CbPrm@X{=dGh zMN4s92Y&V4?IgsK5(3Q5Pv3K@O0ol_eP$X6e#oVgEX!t@H)(;!myCVh4R)BYViFb* zS6WSS;LUMI>55?tY{P3M{C}L0^`4I&qNaM)@Q@oV2^gZQ>L4ohBT| zjgkK2L`tPohB*KMgjxvlD*RDops{kw)R`aSyE2V_M?4*bpn!G1XmD%S9bSGSgyL34rcmZ7rEV<(L|5!hAxvCXjV7KC_r z9BFM7hhuHcmZlC;77nl}l zQX8@cEO#|x|6BM$y21A6RqUWdno~IT%X-M*6*KesmO4qSVW{!gIIJPC?5mV%L!KR{ zD>!y8u+)0^zYxFU*VUJ^@fKlN5AaFC@q=+cD{Q;HoBec6F*c>U1pnj?D?MZB;gwER~qYvcigidR?hfYv$>@I%vOn& zz`P7U+mwD)3_%I|v|kpjzn*$in|KRXtDN|kO+B>k{f;B^l-MArB|JTpLMZtm^A=DKXO?G5_T$}2Je zD5X>OwLCQe*^#Uv=h&40SD=O-AYc;__rfD#fv@WGzlB=!;?4sMxQ|(M*QTZUHF0T8ezmwE`X0I=m|dyH)Jn626Si1Z{Zi_)|dTp z;(o$!C}#LWO^2MdpYe;Hnt_7g!dvjkAX>pEYaMz{Xj*u;y8q3g#>cErpGFSra_YH|9%}r~!`8M5Zy5^gQuY~LgACP`EsStL%4Pb98 z_se1MqwE@49HpGyZ?`T>3->=#iNsiEp-%iLxJBIWP|^uMVEYy(;lpOwHwZGS5X7=* zz>gwU0+5NH66-5|3M}L&Y(J3K7k=aq#+z@NDDab4VPN}?A3iQO4XEA|Kjg8A-w3#` z%UPHI>4VC;48B2_ntR;8t+N&g>(8cz(*ff5Q7mk3MYKWii^Q3^&q&mijb`Hw`;sqZ zUR8zKQ}?Hh!AaS-TVJb2YrP6Y)k@y_M%GRZK6*pARxDG z#7|Cv$2m+v&Fk9)*h+DVxoy~ekt^V<6$wPLFh^dHGf?68-j+rr@HG_+30|RtE|^;& zspM`r2gv-e#; z;$D}Lt(Y;*cjBJpRxz{h3mCUz9s_wFaSy0 z=3vuJX5$uZbL;B|+Sd9gZKUVEALQ(aAMnUD58Ic;6n>n$aBdZHM3N=-;X@A7$zO&hWG*%huL|=)5A9B?gqNr7>Q3jQ|tvFBA%NuFDv39 z8Ef0R)WP$q&Hmu65jY)evkZi3tWWVEE`^P!77lmq%lO%F4ob@BlpWVP;cmeRC1dby@LmxK z!dEuhAAC$;@JP(2)_c!4z;EbW z&ID6HyqL8hJW@iiA89^%T0imA(EbrW^P*LnZ7-L3;01}eOZ?u;xc-hXUahCXue?*o z@2Y>r+sP#2@>_h4mr|I@JM=!lA?mW}opSQ~M~7&HgQ&&A0klyC4)fyGyW9l4`(6yc{?Fn+Bf zu`sasmr%1Y_gf=@lB4LKJyWDV^&Pc_d_>{L9&-PKMkoBZ{)>CI!?&US{-DbcNI)g= z%gO002!r@J@#}e4TqEm%RG~cr0M0i#bUKGB1r~l;_d9+Fq39AW@MHf;R*R4Pl`q7v z08+V%KjHu6QYbBn@Votf;+2~GUsf3RN|9Vushwcj_y zUqfG5e>r)4frD~FaVjt5Z@0#rB>4&Zt^E=+U~0HMHdBIA-Sddz6u+aeLA-dOxTlm^ z5O1kk!tV5!gU}Qgf5;DvZCDD(P~@xG50%Y9Vx6ja=QHx11&h}`r^**g@9y0HYIM9T zi-P)`fsFGd4Cvv~5z+s36yEV;u7IeJJm+|>-tnF!B^HEiKez7m3MAQYsfL`#5Z%8I zxSaSZ8}9g3i==Fr9|L|BXmP(U?A6V?{qo{+r?OryFIvq5e!1|4VZHfUco7&S1rPXF zvf`smSNMIa%xh;^Q?L@hi+C9MH))^?fMfEnMdua0ynvPKfY!WC1C2e!=Dm_cm9wA% zmPH@YfIG`@ix&=4`ICTT$mWdys;acjd!~>>|E0EJzb?N@JsJHIE9>Zz+hD~bX-%cn zo$bCMGVYg-tgn|5x-s=ExzF=h!a1N z>2v?PcKj%?4!*DMDcx{jSB_6KdAr9rl&SU~>YmUme(ntCCtibB&u9F4wNcq^PBxZi zFu>Klk-Qhxb%%0!FNOFG4-`K;IUKf55J(#7qCN4m5w0Mm0C#J7v4|-g(k3i~H@!+% zZ_HS)`~5k6iTEg=QuPFOzTu&J^SYsIfqQ|9?cf>cPr{hbr9j;yf+Sq45my2^?xS;Ud>FkTj^ylJ>-} zRFmq--wmZ~{L|O#uB5`R3qmW#C^$b9Av9^UJnpRYfuGc`NpO^L{pi$2Q_-vN`>@}< zchoHj6teoE$6LY0ta1qA-^qSQx?AWTS>lHhru8YAH#A86QpajE+V9wa=Yc2u@M*Be z$Q9SiUE#6U#D7_T5uT6=DbjNjV}xiTK=D;XZ^!Ri6uI{M2e>DR z>j$0R7JqWa;zQymMF^>`5Zx_S7chV{adJemKle1=ZeOnbN)nJY*)7)J&IDdl_UQSm zGbqSki7@&aXmEDMeqz zcXjN5U|MSv4Id^@z7u3o^Bw?{@o=9b0@Mn8bx$;-`L_s&eN+Y8N?LmL^EYWx@ zKLtm_NZ%}F)+J+sdANMRI^nNUja!RDvWiZNT%v%Ya$CN=t~{_OE{{M2<2b2rAYg!#{jO0r zZU`Q)N$5P~*K~5n(Pp*JB}p;_hxuBa3qZ&?>m*Swwy9y>PK;wACcuVM%5YE=#xcv{ zPY+SL#*!F%#Oea-J6_i=R)p2yi~!htuzEJZ6P@lZ{PJ#)XN-5y3CJb8UQNtYsAJTE z9mbu$Y5~Jl#XTDD@oxqD{plB148ijd7IqOmTO{8bI#lE1>$o29I9epkTNK=B=zJtl zdg9v`GhGPe&icaC!qHZ7fZ|U-O{E83rCR_wm0G;_4aWE~jmhAN8jMHrjmK)o^ z=Lgcc)(E?$>h4o9`@y_Y<>~QCHcl( zobM}VYQZQAs>{{~FP>g6EElaIQXs4-i%VZVfnIRVl?{(CJL)nGmbFar4UAD`nnc59 z&Md{oVgp{*{jKY^cA(~xlXE2SJJjpMP)ynjJ@dC)xgN^1qxdwd#Q97?UxBafV zEgF0;{6q;W9Q&kk-t{nk2kdvIPtB~A*IOWrl% z9A-EG-8Y}j*R@h?kP;7aMmXgY*}iLPmbeCD!|0}JfC@-lJMjqeqh2u?hf?}DXe~86_%0*0ex}XuD6`R0ILr%GMc5qabtxL zlk?MVqXL{Qg&TiB!xc25iMMYc1xHe0)wDCk_cTW@-S`+9(;pF}JeUI|63V0ZhILQ|3 z`zag2ZL>qVzd4qGOEYnehlP<0deu8qg(QWYJ>riOs;%S3$(U zggE<3yKV7@BnMO*Agg29R?`f!I+Jf|uJ*FT5SYz#AM;k5hw@aP@ZO%Ch&Dz0&xqbZ z(YMem$9CUp=Ra|7f7#(+Pv2(BvNK~t^=0w&c$@7ZdPBR2G@g45R90YIDQJ)2+BQka z&Ep%x+E8q+1NF5y0|CB%42`RrIF#}al09$(yeD=+2ZIaensQc>AQ}Qe+t~075%|2= zr4YU!88iu46q&mCI_ua^vR|OM*QXTQ%ja~@ZN6feVt&3&hbX4N(6S3QRHH?r_88_} zQl*OhRt%nGVlIGpG$>4Y`gD-hw>z(SjyaW+==Y*is%hWRRVypOAVX3@ivV+{wg z-fbpif)Rt)j5wgrZ(BK#!F@gW8RD&ky0ZvYon4}7OlM_;W?pt+JdmWA*5hMpgGJ6q zCQ5&+N)0)A9Qz;|PS-=R6ITOcVDf~rN|R4(NLZ;5(?%Z4-cYL5LtmB&rMrrp&UqF| z?A{(>*B7l<*QF?$?W_v5tzU?3WKT`R)M78LWilNj0x&6L!|4wd)bPR110~kBB29y` zO=IJNEdz=o)VZ3XTulRX_HU+QlLtWu_ubl3icskNhQRwx8u=L6lv0FaltVf6018E$a#1G2`WHg2k| zF7ZjyE9*O~?jc^u7QrB8(L%|_-eFOEU>!RP`*R}0wgYCxQFy9Q7AI#2Waz!$#!%XdPh#W)WZb#xC=ae&Fl z?<4D@LJF74hOd61e7pB`)GJBkMz@+3)NIjCvTwjjOAxW8xwF;IbXItz#|FpzYtCUq zx-fDn$ErJrwwRvW%2dwQ={^sXS6^s#`rNJ~Knb-Zf|mvn=JpWXOseL!OOne~j|q{C zy>(R)$D+WznrfL)^I5tSBp&qOsqon8ZMz*xXMM)+DkGNM#7OBqaJaBZEc{Q$SW41D zA}EKYZ5#3R{T;aC-Qfkll+kNVvQxETKhkEbkW18o!fK45lJM24s8Kifzi`UfJV@`* zpG)>(p|~T)NE?El&xs0{)qhNACscW2*0EdC-lQKurfSsmIE}(Qcyk7k zX^H2O;ymVg8HW1`oRT{v&B@^G5F%`1-w9dzvNab#m1Hn_S@sM?+DhYWLU4{)LHTX? zP%Z$BxGuQmpwrc~EY%Srw`MHF7@N++ZGBrB@^t}IWHb&jtV_GHyr=D!bhI5OloztP zM%n#-Tn9vpxhC_9$7mM(jkL8#Cg+QTxGWSVfhZ;?pXfdlo})j;V$2IyiZVN={i_O) zo+rNwwPfvYG}}-ag_`25?_xP*REz4eOncgdOcO>Cg7c!=IMbVg_U z41a36pvv{?h6(D>oN**fOP2S|aPn|c5B<7#H&y#p<{*8=a4ygiGiieJI#7eCr+8T2wl*E^6C)J^x8CiHU3)Daxb^x2 z_q1+fP(PfD=jk|*#_jeECa&pak=-><_?3LnB`Dv>0sMp7B;vck1m(xW8FH8>D>(f0 zl8;X$*aLMsRZ8*k0}Ut}D4F%k+7CD(KDu|AveLor6W3I3){qIquL~nl&m<3m)3%Vqf~Wv3iy|eA zmfQ1eGov=4A7%~}kmn8yUa~}C$k5N3IC16e;Y0LT6Fb{!AE{}NG?AM4CoQG&iTSTT zHWc+CP~MC8#59COCm9$>7Ohr4XK#1KKuWGPymOq6zkZ6h;6Fi(K8NG+otb)SbrgTy z>{p!;mbGbinFf-F#j>(p(Yf)zh}j#hvhp($nqv{%$hRoz-`}7@5>t;y`H4 zk#4$6gjD#;X&Mi;j_@vH(YiVra))%fab+Bu)v5v*bK~azS7qLdl)#_;4!@gJCFM5+ zsoKk(^JW@FX}e_&u`~d#C`7_EqoVLXxt78$eFEZaQt%w|PzGt%=;rZ$h1e+^BWo~4 zxK0bWhRuQKsUt|um#NA40K>*jn5bp$fl&1rEtF81{nqVrQ}pDQuRR-?Bkkwe#9KqS zoylG`N@1ee#F6ZXgg|ZW>(QQo$#ZPXv!d+io&eoALw=r@b?5p#orravD$G73rg$HE%#q z!#J)a-17)lVP_xsxPl*Uqr5tr%{aPI_AG$MX_Vllm%0|YBt<;A*q^Mo!B?nKvPh~m zk~>iKN(>Xe78FeD5QhV&HP?ujD2(Llpqe`{xy*DXWF^_9zovr8K$0a8MW(FpGy~(=$tQoL@q`hudg9DF?hDwm!@4H zMweCt)@}$9bO-|@CmhFtTdfQEttRd>z^wOJlkO96b1o=`MV`W134X_1vt$Kf_LOMk zyU(1EZ}3pod$=IzA%@B!;oPtO;t|W8lfoA{#^Rwt0| z=u)VSl2Dla#HDfys6Cb`2Q-Pm@-0n|0ci@mUJ|bZbwNC$xZ$0IGOe`mu(?L{xAYHR z@X6Uo5R=s|`M&XG&%s(ZOz&H=9xuGUv9`-_ADkBQU1uNnt}Y2Bk@g8lbdpUc>vI9`L=~o6*5HKCPPYEs~Gyl8`hCzW${b!c`zUbX~SX87NGbG z1_jkRtgR<}=ZvgGbdoY5I*`Xn~$B?@?kSlJh>VKYXKCLvZ-Z_qj zVrHpx;O;X{;}v#dO487SyUm_&-eDyv=N zGcxK9Q=vjaCRXG`5p*x-5vC`gl!Zx`8j&1SlO@c4>@R@aDf19ZVjh3(tn?(R0CRe_*SGkMuG)rY`qox6f!&%$hB}4Hd z79(%@c-B;?tdsa-#9M^-koY-in|z&+H?K?dHtECJGxUiq_3Li9Mn95!)ABpGY09-j z)YIq~>|C7*EeXsb&#!Zu%VMwb+v6$#>R5$EZmTHm<4pfGyHveer5OpuMiJkzq*%QS zV!uJe#5k!oWOxB5_hvNvkCm5HSlw8)Q5CUewL(h9?ng^K_~XXqpS`Jt3mO8Ou6b|&dqwdjk-)8UZC00T= zY$5|9-gkDGGS18A1ZIh3M(jDtJn?^@p)niB}ru+silc?Cq$1gD%Tg(U-b{ zhNh93aocln;C^(5eDd z#nDJPF8?J9IF7R@i!a<`Tt3t!FIUK*%+sJ-Jzo|*s$EM1Fs8bH34L9;M!y81<6Q(m zt{%N1<6SN+m#;v0;i*s*I8!n%(cxlIq*}GROK#*H1grV*o-6ER;VR8}X!3Zol}f%l zH{MmxvZm4Zn@SI~gq78UHOy%z+4l`}b96a)F+?S2!ClVai*koi$EcdBr4Y*R-zLZO(RrXRp zkY-_w3OU8XG>SKA5QC{1C}fo@CE*owWkqmghTa&f3=DpL$c@CjNfgQWyoN?{5}GvY z@pZBFl!Qc>W+0N!T~aw9M+9@{Pex<;%cODiR6R0TVP>TSh6thG_Mz&R{hPc-rZws& z5O$`~9^BC-;Q?+v6KD4KAywXP8?p`~*CLykSx^{=ljREvM4Gst!o^Qt?cdMqX6Dkp zf@Wqs>y@>XG!&ucRS{E<5-A=KPm8sRc(0?+k(L1%|)=w(W62x;k#fI9LTxh)(hEFCJ+^B|?uVndjjJNH|TsspKm?#f^j z-pQ_D*Zd$@5@@nLU!@Gy&eFZED{_~~qRW-a#|_DC*@9hEroyhOciot$vHtRa33J#+ zHYEty1g%{`0biG)2Ws8Q&RtdHtlNN1+30Q>oZYx*HPpbEZ8fLT+tbKsvzVfYjrZos z9_)Pd$0Z-l=vvW<4QoT-mhtaJ^AemP_9XK2_K(9Sfiy%HwBiFzhA`ego4130dAc~f zB-nCC2vz%xDYVK=wxXY-I|>hkm@crp**@;4qM=W@IF(QUHi^J~lRCMhK*>O46QDhK zU@uo{5bii>;vb}zY?WWg;*c!iCpVzYua8F!-{RSeY)#Qma+|LjWObY(vR5v%8QhYR zt{NZXQz%lWU7{7obdKAtkqtl|oh?!E*pN`0EHdOscWGoLe~Y~E_>x7#P-($jF{YFh zku9t4O;Z&(`#Ht z8oh~qj8=+vVMO1lxlX{4h=fjG$>W1X+f%0yZWM>;WCa?mHE(WGsmTI?Ra~;KdWZkf zQm>Y0%FXnoxdEGVuy5;d9{I#x5?q@<>^tOXz9gh>(R!U!XJPqUx^bY{BqQJ8gmQ{e z9^m&%Aq1D|A*)>S%sOf+aE6QT%6;%>>%M;3?YEcwYF&IWgrlVs2_jZ0{Ky!3Dup}c^Z2@FYpZ<#f)Z=*0RHgF`)%uUC( zjllO~?Vg^AQ1MYU3!~DwAQ~l@($KTP!pxCDJjt}LwPOQ4pHDbTU@od)LsdT1HMmXe zt!QhS5p}N5YhG{Kt%}^50LJ#9t)Ym$D@0g|y^u7^uv1;>94n=+@ zkHE(f0QD3jg&{54zQ{IW)UF$c;7vsvUg^iU*xc{+1>gVLA9#5>#-;@uvUkVS$)Wl% z{l|aKFgd~2+1oCnZwqeV!8q8ToCpP=OQJUjYjhRSNqGPphkQ_=V#X;EAw~7NqY~2g z4BT?g+(8}CStBtxkLS0kBZhGxPHZxRZK|m>xeB}2&V#Q&Lavh;8dE;Wn<(nLl4J!d z&9mDY8)KVweYptUUnr{eGdm}%Mt5{d3rnztzDLB1k*Mi)WUtZOz~vQht`7O4TcBVp z>2MOgUi9)KQ46;6@IG!(-;Q?{J!!u6a8r~bsc7QTi-^@~WvD+%h~P(TZ0vVS-7Xz8 zKU$P*C`HDZTIKgUA98+rVk*XIG$4meRgW&-2Y*TN5&fw3rgAOLAF?$g>6+-F{6Kb< zM;3UJ5{4{ykig*0SMCrv2#I8VtQGImfjRG=dl7|CnV6AFIQkN*o1s$(AkA+UFRr#$ zu?yMeUPKJD7T+<`woNP}lzFt{-h!q%V>I{C+Sjz`BkN?~g|jr*h^2W<_{tc&gfkFt zN71qz#?DiA**q2(H55hivgt@GF(I7pDw*LJViIialAdfA8)6)%_K2I=6ZqxxF?m7q z$|SxSv^WAwk-k0z2N8aN@{opdn@%mwoN{yvQ<7U2yFq%Dst&P#8>3E|-8?sDae#V5 zZpHnDuA6S-+`d~DOO9L*(?yjId7)Q}q-+&eLGU`UKC-zeVh2#Chxq1aT8ZuFSRb}B zbdPGc$XuIU85cj-x`3|=yn*JfQ{ld`IOE^HUfYBx_Ku*3$2_~xPE(4HDF&gTQy^fG&BZb~e3R3vPb z$QhGdAG>+6Q0ftY$u}}*$Njwd-Y4R#g&Xc+)7Mob3RwlV_(s?Q)h2GA<^e)eZt*0T z2DG4}PGA4g_%Q?c6nM^Yrf)PDXGYe7ZBcBwC5j72k(>`jW+{XTdY9;<>f)QwphGa$r%*#^ zG}^COu&ZNW{#(nU2G|enxVSAPj>+GGoz<36oBD=OZ>~$@l?7%7X105X@a7iPs@c^# z7po1R&lGW;hRzLOTCIq>>(`_ZtftH);KL6_1d??qF2D!Ih~D$RX{C%3XE+Ws3JNa; z47!jkS-GSh&^o{z0Yj8rup1?zwRjGJmsMYluqN9jusW14@c~R`_}8V&3$x%jN9RdR zRRE1xRWg%|y$e!GuX{r$N6Xd*H7m0=)*4y?qW<2Y$rU}I8)?_^4Q7^bskXKOY+9Q_ z85K4GJqCw|CjLr+m~||(_Gxj9VekYa$ZWg5c@VjN<$h+>+N`sUTLjiR;%5|wE_fs8 z1ruA7=41%-(QV}>P`No8BQG*@A;B1Bwfm&8DAc9I^drP%`bpnnVIxjKI6t%udVN$M zTE+sWYG4}yM=RX-)C;^kZN8X5j^utxX8NeQUgItT%8A#RW-nAuy1diKSf@2r6)n;r z06hqV*RP2>i{T*h9mayxqGCG=EwyVV1<}3gRWS)%k-n!$tqRCNVq9mKbkWWb4N>zt zx2LyjoUD7jQM^;0?KPz9YmgG?5I1C~}4Mi+r z4mMHOxVV=Ix>*X|1J>d|TqpH?nYRV%;W-p|SC-MFNo`J%DGH!qkA6WKUvd;E@1tz; zBo#++o@onQyV)w-p8=9Rl;>X;4NQY?w${U&ZQKOGx^On_8%n=5dbF|Y`Ffqhj5gzD zD$#7wRNN)1B!1{3e0Qvg)&}7uj<@5C?VY?>NbTtb9Bpb_P@x_hWEc=@S!9%(?W50F z!XI~CPkr~qz4Cfyrtx{_l^4GH6yhL|DhWacISe^E5RpyuAX<@2MU{(logMlbD7HJbU~ZPZd{ z%Gzss6QOd9C0}bH;G&I~lQFjacq!W^CF(pO=hV;p+~Z8vofqw|rLN~Y0=m0vK9k$S zy)fBt_?v*XgGEmEv#AmL?b|L$rgO)E2PoMGHEFA;H<{@6Br2Kp5K{VXxg1?*9YVE_ zvW}%@<(!Q85tFwy1a};2LoLBtyG4Ii7Vcn6l?gU;3XAT~WMe$z+TjceUQ>SoN6D3V zPv`Wrt$V7DcI2#@Z)1`ron60n5pdEfHw(H}Bf5Jhi66KL(h>U#9GI_UFjkGpP~Y+} zwW?o;Z7up;?fA8z+EPrvTT2eI2KhCF&L?Ssb5N8wB;t6_lMq9HQ@jJFcewFlm5E2-VLJi$4mOPiFb~q?kSmL5MC|qH zMW2mT(4_WFj9feR0J_rS(OS=?FqVw1>{*H@&XM|RakF){-YZ}uj(UY!u|#dA<=eZC z!^cm#>MOnL8ybEHAFH4}%3=*UE3(N{;4%h^)?_o9yBj1VEI)_T$!06q*P9h&Qfh|s zuS54|i7w`4dJS58?QV>!GJm@o(g@K`OutY9tA6V;A+D z)-xJ&bbO)B1LsH=P>)J*lU}?OGYK8AQNqXr4Admncw?`W_9fpgRQ2dD3XVKW^utw_ zVOrL8P2ATCY}6^e!KM2L1Ndr`*3JBMm&o#QhtKNb@tny( z2=YYf6pXs)(mJq=f&je+3S>86xbtO#gZZpBH8yHNy>jp?HQr@x8LpAwM#&t>U+FU9 z1hSQzr(c}`N&~9CAu1#}MkRC1)^W;t9`-u)!%o189JiXG9NX{s>`X&sWmqlI8CNf0 z{JtDvZJ%QfTW{A?R8a-yJ9H{4#JSx%E4n4G!;^qWt<94bq44+Yo6-+cY5NAtt+V?T zb$!=hfbLZVgc|nvh)B3+S9^Lyb|Fl@TPu*lL}yO^a?CA-g8O1;9idrS?lUjf2BD*E z{HR(mSiz^%Z09s1uGQ4Vi#@5TD8_DciS-VRr)?&39TQ~kMAaPf1~;Nb+V3kCaJ$nZ zJT8D7Q8sU2IJV&GqDfL`U|C-`XL!RV+R1Y#3%I}n8O|hj6489t)N&*cZ};+`{4S80 z6OnhN64?C`>$>HstE}6!fbF<|Y+C?=IAcU_$5U?YRi^FP#B@B`l5@p22M(?QN&5j2 z80l!mZ|e=}U7~ARt7eIzQQ@WaF3#?DAAr&-Pfh>60HSV(#)U+^Y8)gO8%3?3wt42I z+p?SR<$ySFmku`TZpQ0XZvNoon?6;bx&h(49+R%V4}$zCS%43oDKhQikd>ntUF;#z zH@1$eal#a8@%y9b7mY7I z4n?53dx6L626Y+vJ=l714%sVzZlYOgNrVaH;)^&I9{d||qfla8DYLvaG7d|u+cp_nXlhAUfl7xxoKX4h0f$3wT z6}CQ+Cbk&6MV-d%X!-d#Ez;N<_qexkhYAf&5{dtFu|`2>j!2K}!Yr+`4>1~SY#BoHm$%Q_Kfaoz#M`IZ ztxGo)RP_*c9^idgk}V#!nrTvBc6z;4rQ`uvfINQqi1-$>|M7#ssjCoz19pNoQ$VJZ z7J<6UFa|P0$THWo??r+n_#v3Klo)$Z5E#bA^x0ylp88wtgBA;Q35_YBR_yXP^P;#l zUY##ZwiBR-Lo(ovU1i-FY9GO1xT~QVY?P9wH*~(`kJkpd$fXH13i}{*$i7{m<=u;j zyZGbFdA41!Uy7pd!fQdQezBTeeuR!)LY!6HqsSSIO;CK~m_bhcW?)!Fh*u+h`qm|f zV0?MFn~R{YSCnZ%WK<}-cdAO*aIsEOYqh7dvSE!GN4Z(N6MJzmB;laA?c|fFVP3YO zg9qBZzC(&$n`9rmNt z+&sdimX96D{zDFlxzJ*BB{x8)DSbUb1(}hg29#zpSv}G-crB!l;4=!hG%e|mVZB(Z z46}5xd=WzfSx9=3g0rFCaLKV+=#bx6&8BUD{A3xhAx2B}D>0U*)&@(F@}68680Xe2 zLQ^>F_FP-JXR7+Izu?szd(|aP+c)b4YY}f8-KlBqrPU5Mqr9@|=uwGW#Ed0;efL`7 zYUIheqCIX%H={OQCAtas@;=RqK7lDKRGu2<_2>Ws&-_EriTzX~kAwpz?MSKQQ`pmB zqy=JE64yNyV{u%Q!^e|I)2;TaUBin|V=kr+spV^hd-8-@0|x!!qE!rW!NPIwlbC5V z)vI?n(fZS7FrS5vamCj`Rh`CH6uWGbr za495J0yk^iRG+bBKia%*W54aR^SU>cRXONnGkQn?bz3D38w}1v9>*PGmX(OoG%QqD zh5J2gmpxRUAI(0$^%T~c+qEm56T{_<8SSeBVsXTzTupksqU}EdnZhK8rB9s{g>ik= z5uL!1rW4Kpt}it6j8Dp&d&Y@>F3q3iW4r<#XIc4nkpy?~NJ8oSe zjaTPK`wg?*w^_oXWE1E@Ibs~CKv`64lST{NVCKt_Fr)TmF3ghgKqwZoH(oWPA^_Ag zp~Yx7#qkc8-?g~X85&T`TQ%x1a3f@kLBdik`FOM2n_d4~*L2x zkRM6&P$JlLYMQwdVjfS7lM%8q&{x`$UNh|>TCJCt+OU(P*hYyMqt;FSZ8e&hz))W( z*t>wl{YJ%IHL&sqzeusXkSuRYWAXCnJOk-i&kgR&kPp|(ykSlh{0MjC(X#1%G9HYy z6^)qUgu0SyAPzhM-_>Kenhrj`0wP2&Fzb`5@xf1dP^K(!h#=GWaZkQ$=WUB{e@di> zuSshb&xtk5yG2-*5dFkbx&=pPZtaGedPGA&2dX0Jbt{($bzWoT!>(Mqx;uD_7Q>1` z_tphhWp{c2BF~qON)6Dk@Nt_p|IFK)yl`4+ycv^9Yv)7);KbhMbGpGdYo#E1d!M=GrAJD zTB+Qy*QHbdLRXU@P~b#cm1)vU3aU6d_*cqQm%7aUS%kfj5@+z{376Ye*TroJn{WC- z;u-Da0&cGyOlp34^y8n7KTq19;qZ9iAvm31Y(?I=UV13l`%8o5J1duF8#EM5Sgw0pLtLe&KIWl*8MlLVN9X**4v@Dr(Up0eEjr!gGewvD>DW&{V7SY$| z)VJLAxiipBE?(r4y>B{w%aRHmG*1M%RPPHn=H^c{!c3Yu9XW}oPwq`NTl6HmylgQH z%c80?9N9eCs?`}N3A|0tprGIeWTZ+OMVm#zM}U**@V{U%(tX6AQ+j2Ns{=@`cwkPy zRyj85_i!t@!$@_DU9nA>8(C$>iIYkI?_2srhDI7NJ)nXVoa>*b-1ToU1XKm9K_fUy zX?jdQoQFLlxHsC>!l-ulBQE{u2-O!?c2-wt$+*-h6nUS-k z?wY(=>0WWHU1;qQdaeDgA@9?mt5>MBqwOai6!1C1;0EEj*U{Oe^wj*R!WPje(LdX; z%y3~uuO-PoBvd~njZJk}J}Vn(yiv84qS}XrAQ0^)R-rnOZx{-8ZLjEPk(G!hE0|D& zx**ROv1}$Or9X;4JN05hrHOmu_2Z8Ui$tP3ptukS2ELdDB z6&6$E5Uvy|_`Ec_!X+Xw9JHj;g0B_b!8?55(~Mh0pkxHs2XB~TZK&frATlf`oLsN& zA2Y;fy(MIcR`W74v-@fk{k3FMXFp>6xR#gdn6EXOmJH0TlPC&HsGoo*_!JQZF}s*{ zPq65uvc4oNIT=i7(HfF=Trp)PpfyPYSt!&7C=c;bmh8Kg4MefY%i`RrnUm)tl-d$FO#UXtKA?`zARQ&d2WtJE@=PhJ_~#6vId}QFI*nFniS|NcQ1{3uhU- zKzyxDy7?xheZ$(>n!488V$50e4cL`p@l8+eqOxV;3q#w>p;6R(kT+L-QXM-774upa zebBgd^F!?p^g#U$4N0#0U~nubHOlAf1XT+qw}M>D_+ryDtTe+m)pUdv&0`{!^fQ7f zk5rwL!b{~&9(GEJeIN2S;%2s|Q!6fSmR_?sBMn?R3>W)7Wn)6#^#vuOJ!@|=SfIUf zkNN@PM{wi~zH~!v1y+u)sFpzrSHOX`Ey6{Sf$rHpush$fQJ%L+d{0nUOBbJ~wPKO1 z;SI>7zN_ptv&MYS6@Qb%45kV|C|yN#4%brCMa|A9>B3c_tCNFD(6BIG)L*>p35^426*IRJ=Q{yhZc~VZ zI;01hm5PAk*An?%-G+HtY0sNO^83R%mbB$H_Zw)uqu8t6Vk4Y<%Do0PFv!o_gTlwM z!l1r7Sf!^xzULNf)#(W!!_AD+ek-S8iYx}MeJSPslx<|Bs)0cbg^Zb|s5Yesc@~)n zx9lGu$3jfb(BfPiKFHlCVhb=YH-o~Nl_*t|=;WCf)aW0Dwe?DThwQj#x(&U?Ki(&x zQOvr*6rTO!9R)+d<_c(h?E{2F>S?-Kwl9BZi=$N+HsaZ04N1%M#a5PhZAH|SNd&ry z4b8!55ZXf(H&rTca)|J!|JZqCtAD7$%NW&70 zP49Wij1MV4BfOEgE!ISud4JoEiVs%(hMAn+=%9p=krLeS9le`{3gg77&EtTlzH}@y zcAL4ndJ61lFxL~|)hU?q6^^W|Lb-*qAvMznoNpFluE8yp_h7x}*9p@W8hbrJUwoxL z(9Um;_^N{T3{CLF7wd8p2=FBuA`PXX0w5oQg2~G1i*$(#k+RIX_w9UiFQ;SiZu*YD zh{hx)ZzgGV`f1G!ByAJ1TXfG?R8{qGd9f*v%f=?5!n9E0^hz}PNq*$b002ZlyT61I zqkYCcuVyqFOdKaJh0O+IT5nL-L;GBxGSXD?{3*xbARd{Cd*);4bRgbf8GLz>5%^<} zaLs@AB5J_Q6Xc(Nv>F$Q;xGFm?9;rSw%+cH+p$L~PSy#GIG!wZFS{&WZnO9B^LMBNz?fZ3< zNmDNHQ5~BX@^RS3;0ubb_{Ry|OmBjEz0bW+Yf0wO*2)4|#PJ`E#J&p;MaN<=qX7Cn zc?f|Vt0u@UrmvgqV#7%Tdh%UGUpp4(+4C_9F-;G#A?nA(HKr2SWYrYP7k^6(Y2n1l z6&x*`ZF}fftCxrxTTVQYA9;6=d!la`?MAvnbePBmAA(ixqX>ae)Jnh8JC-kx;4lU!*dwP3gSXO1d*-saI5BdDg-oE$l8KeqvX&(&Qfv@e zA;CAqoveJ~5G31FAEIlIGbsml|E&_SFQyK}9#l?dNvcz!L;kLd3kKM+&azQ3)xuu0 zmF$?SnC?l;yiv)@B_=L&90h@d&*y0q(Hy3_HQkurI`dk z#^D+hTpF;KTOeLf5Oz#7_#C*&pw`!B*4&@2c9WGk_%K)|3=!W`AKkgil4i51x`K6R3#u~I^swNbQ3lJK>*g3fG1u$DW?j4&4>oAFz8h2{ ztER|XR~%)d1%uLJhDBXGlfiqhDh^q-6dxRtKIF7b$Kml-Ivi$0i6=Jpiq?lDrl|v1 z8%(L?vmiftQ~#GH7S0_$zPr5SYiVRxyoZ9$+7KH&pj+QDtie#7#mac-AV1(1aQRs&zXE=Z<7C*|NCWGR;98vE~GngKa_i-Q+W?;a8GRTc%UnLM?yXnSz^llzrPNzuDe zITO4TYMANdHyG|sqaniGgmRzm+K*D0-Kxte{UfSuY=D(ve2lpvgmAvYXsQ(@zm*j* z2)V7Ly4FVp?&-m%8(^)0VI~lNe1UAyO=(j~HfurG%uGDFLXVm(SqX**evr}dU43MU zjqUU+F!-`a=Rl7A^&+^{wh|WF!xemAR+o!ouuU1loXmhy%40Ww!Z%}nYhAwVtdEF;9Sy&jn&mm-i5V3br=of#_ zU}RgVf>HqiKPkqXam&jS|FW|bs~?wN!amc+PP0I=fSy_59IaWyuN9wgL~JoZ)=wxo z8tv`lZX05Idl4KN%hvQ2Ha2M4vyV`4Izv_cNp3C}mOB>CRvU?lKlP2eX%&fck6_8?{qFN-mG{1)xB)P&_GHCaxrQ#i1y z{Z5H!#D7PPSy&eZmZ^$H={VOac6ri4b-@?e3;w|2Edp){nX^JybnbIraUqiIcln;3 z>aV0E^Y1V`vB}HvN{hrw&*i-hmS|Wy&d1DV7r)dO#>(cC{kY( z82Ko>oH(~0A=nSfj{&w6LuJ8A;4sV~6&KHhYme>7DFaGxk}6LfiR0sgXAl?6v&Lkd zY>D30MoA2{;%_={1f@7+-*8Tx}uhd_IL&I(cMfD90&14H3E|!r5XfZ#b0Qs{xnUw9U%a(76~R z-mlplgI}Pr$FI3+;LexGpdVRT@HpRsBqU|cTU;Mlc&6_;AkED&j0-rqqV0}$tXaMO zT&oCNb$%S4<&O={x}qX;+kRd+whLG-VnY}T(cSQ=FYu*Vr`maEOU|R4`1npx&^FfU zy`r~}#ZpYlV*CylyHOwkni+7E-n=7P&o^#}r}<9Pc_2XV1j?AiUi2t&19%5KtDs@p zM@Q@X8)Xi17MVuMvFwh_W;Lbh+Ege-Vu2{!To8Yr4NGc2i-t)he#o-HO{0|=29DsU zrS1z9ip~oYh)i7Q%uHxvz^;(%Mq8+9WgaW@b{Ar>fHaXa_CB#3Rt1i&=Do-uYMM=` zUzTTyOqPg5aaaVhrF{!`O;6F&y@sG@Lme#nWbL3WlR*GN%coS6FqJR*HrtHpVSM>E zk@hw{N^z+Ea*@gQ?gBBVCwhD%$^BdA#Q45$oJ3RUoq)8rA9?UBgIqkt_;i{g} z?WmFHN_PTfLb-{_+7yFj>h8i? zUIS6!8jd}93ni?kHI3R0Yw1|G`tl#PCd}q`BHH|jQi~LNL~1R3l$XnSpcqzorkoE1 z_^jiW4C&hvu}q754ls-M3M7T(ntdr^2#)8(06@&HyAGUBAGAdb_A_fw?bEi%?9VfM zd;H$jze=UsKQ52S^rEzEi+h==Az$?zhLb#6^vU>od;9wQHE$npSMT3L-yahn-yaJ< zp89(G1_XKiSotyc_4fNQ`nCM?yy?lcFf3E-B@y~*fudmmSfrtAa=JPA9%TW`+E8Qod5d#g8bwi?DsqNpT0j`em?(cZk|6L{+j$bI`q%B ze**ILcKsF4?=ybFynh7t;~o(BW9esPKZ5?N-%pf>>u=w`;rxv>*#ED_zo`D)>}NpU z9v;6zzmfk8e18!BKlJnUa`*Z}?H}~N^!uBc-^_pO_fIkW0sP3?k89u${eG+bZ~c6H zyj=e<|C@|oK0oOD{T%!$lK;~0cgp_U!~P!k$9~n{Z*l$!{O2?<;J<)>?05bB`u$(} z{k4A=xTo8nnE%T1o4Q}n55oV#{eyS&{0sSo{jJgu{eu4&^p|PS+{dfFZzyEDN>HH51{vG?zl>bV*&)@p{C%M1V5)kx@`OnRN=i*Nm{^|Gs`22GF zq2Hfi|0Mg*)%|z>{tofi=x2%h_=f!Q{G09{E%j&S@|Vt^GXI7C-41_S7=;!P0_Ji;rZGJNPjr8&Uq2FKRpX&UVe*aP97rFoF_uJ(U^jEANKN9}m z_Fww_^E&(K_iz1v-+m!})zjZj`dgPjoV|Xf^Pjr=huP11`UC!x)8EPX`#Sy)@*n+v z=HP$o_rv+8et#nRy-E0A|3BvK_EWUKo&V>gKkvW)!+z=aUw=XV>i2KhKb`qYzu#5- zZ}a=n2miAF;D71&TaW*g$4@%{1OJcxQ-6OY`lHkTr1Ky1aR1XEzfSz!B0p~bMdu&; ze}!9#w&S=8{Op&-7N8_fdgiC!IaLLc9jAxsxi_)3K(PoRU09bF8`j$&d}~1;@bK%3 zX-fiwBJA;sj1p2cCvI0LW;b1!`@6FdO;WyQ0sIc&S-8h%^j1ImGL92ZU9%^w@* zDZTM|U$`EOC(Z@_9i2u~$_wjeaa+b9;mkI$JYl8uC?Vt&*T((~9p?TofeeqU1+lI4x>_V!1s4gF7h9L-IfGnz-U@EIFm(Nc;C(~dcBRwbFMHaekb&W zpWxs6-iAe$P9=pQC3$Z9$4SBugQl}sSZqiC6|eUNrZC5#VEj9@7hN(NC0TqXf5a&F zMeoQ%8hw9-!Zqyy258;dm1`XYgWZr`FU9oMgAQ(3=DGd~!BTDn7*^bx6>-tfdXnbz zd?{(z%kJ%F@XNwN&p#37OfV!Djq$eb`>PM^Pp(T?WU$Ka=t~xE{|G;jMYQ`$l?@%@ zecw1p&7!gGl0hZ$BP*}h>?Zsd?H7JjIOLFXXp%Xd^3+}8$BbP4*kQft!@vXdg`cD* zemmb8_?2?_>I}cH{Mqk|R$Mij@H->B2#MML!kDlMznPf7Odd?eYrz}MiRHC@gW-Pk z-|7YYz;-H#F=)<*XO3jL$Gd>T$W}Kwf6%VOsFyU8!~78_48n zucwBQBJ|p^{}>jZ?c*KZ@sWK}ca7;$wk%889#}xhG=;%T?MmOB%nAIz5q;cyqYPpe z+e3|-%v-p23xbIN<9oZZw~Qs+|FA1^Wi(zEH5o`Hekt@A75F8u#jOKBAty^pCKm1A zMi>5i_tZ`LF?zHcl7hK)n7eIH#lL~B@S8xMhTk5;P1DXSkPjDrQxwE*f08tRwyR9F z@cZ&#WaRQ-$?q00kTWviS7wT5VeT*H+q19W>ks^}|IIejYbFf!wV>JM&r^?;_@zrq zO56GGM99`;D%3Z>JaV^npoZ{jTsraOL#U{5^YHbyiv}rTd}tCo;b|cGC_(qIXu^-u zq)ARjitC{GOY9@5f# zkg&79C8GV6JDdBzNme?d`vD1cc&ms>lCbXW-Ubgu8k7Acf1YurKW07ZsD!jXew1b4M|sbI zQ0~g)63Tc(L4*oV+Px*Vv>HvzimcQzv@r7RJ%i6zsCeyIo)lu5Uq(~Bh3!~>(?IA4 zAZ*9&x{jE^Cz$y4a#p6q1z(`NI9ZaU3aCeZp6)=)tnv<8*I>#X(3fukmZ|!YeZ1C> z3Q9Kc6N=*Q6V4@1&C@)IU#UEa0Uq3Afzb?R!f$Gg@!umjl=yxqSWZ1&FM3HSR9t@H zrw$*6kqjh^5lGKxrWMA3pAwS&>j^*3cjCWyZt;X474o|xs{-*(C;pY-N;km-gCqv% zG5ZB_a%AEsmJ?jy_eB=&%Pk!ywNI-?{q%$`sCniLsS4QNQKH0eLdV@d1SyS01p&4m zKNX--=oDKk*r7H2_W2_2V=SsY6SSO8wCD50t}E200S9*AiJ_#lqr#*9d%v zUlxeos4*qmX&IRwscC-Lo)v-%DT}Gx#W3P-|CUNM1Pp{6<#^z1>xdwh%%Yriw7+D7 z`0=CgP=RsaH!*#JpJBhs?Ty@UYQC#KQ#87!jt5AigYaWiKgVw;!GvFt^#=U7ux1$j z@?YYYvQPM(S8#U@HgWt_Al8sdaQAc^UTw$lpsBj9N!ngh^{^f2`y~4(oY!1Y zMof&XUY^kXejMkMYqosY4Jl6Y1x{cX?+z;>plAts;24C;Z0o)G&dt#7{r?*aGE=6-|H=M06XHZUK{=kl zBzv$wB31AazYI@_1^S%&Z`BXfuAbWLzXf;X@jx~oGh}*RU@=%v+v^>*8&?#U1|V;^ z0lyOhH#kUYx0^O(dHAU}uUG1V{N|fwvCIl*dc3q_O65|PShT%P@pY!+??Ln`)q$%mvQ*2FB3zmT|jWiOs*VC|FZfr%`)PNP#U7z@Y7JDhr0XuBs4 zAqMTQLKF{xH4jD;n6^EO9ZIVGz-~j9Ot|5K1yxg_b>euor5V4}WJuWW1Ah|oXNe&X z!#rol%VYO>z)$|0hRlhHpH2^d;zvV0+y5$KP^-i+?B{{d34W>Z6B_uDvPXr7;Tqua zNBueT=h2!p<5voD@8fuM&@TQFRT>7a51kUQDKG41{>RO`qe!W~_j_5z%=q)gDiOR; zE0%e;<(4j(eBi&wMjK)~4i@IoE-5tKmn|$lUCBn8AUh#q(_V(5g^u@_S;GopAs%tN z4O5y(*_3r1KT5!;Y7oz3<&(f~)=c^js=2dF9)GmC9}REI7k**x&y5Ftt}QLS2RqJm zi-8~Qk5@+6T|Nx_CZ_ZW8!Tc$6{RS^FUMeGpg792@?ic-{Eqa%=~s@bpF8}>=-=@3 zT{TxW@xA^!bL?_(4tpr+OoNXt^$x$oflzfA`0eR4&VMyK2>IWvO3{cWQ#lCYp&pz-(z?|=|H<4Tf-FFT!fOapHuoKrz1M<9Vgk*F;myf1Fb|ZTl_$5n4A02Q{ za$vw+d2vwHuh6RDj<*ZH6T<1Wq`^;xZzZp(;A%ebLvsr<+h+Xu<2!%O8tcFhBGr|U z`blC!yaODaU{Eqr5(7pKp5Y+O@2j4VI2Co>TnZ-pct!g&t)2;u!B(cIn2aG@Qd%Owd!OK-A`-9Q zdGG4F)`!U66v^sGuvvptMJR%Ujt3$*~HJ?eS5Vm+i7IJE&TSB zfG~#8cMXR<|Bc@;i#)te{5&ka*Iyo>R|}2&)26kdEw1&UZ@Mo?mrww)XgB_GN8z0K z!GB%S47?}%Bk|)@zshb9|HOa8ejgVv_hH6zBLB-}v-L*i_zl0G#C{H5TE1ir;jQPN z6C4R$bSat3tWN!`uMfP>Iw`FjpK2Q7q$~UUD;bzD0|!+{@1XV0=8;WurVvH=M_gdY$?wDa@(1hL8kWtql=Wg0ySKf;SG5|n_B zVpgc6xD$TWiumD%^rTARr%yW$1>hIcyYKaOQn?T-Kikn@|D5LLWuZUYt1z^G28nmy zrvGdF5+A?PYJ{JFD|82b#OHMr%-ZSEWI?pxLNYmssxP$$jG*431ETb2G_ZERVOEs+??aCmD zhP>qui#;i8{T~X)200)A000q9004Mie76I5o#7TP7~583+fEugX>8lJZQHiZ#%>zh zjngz{<7tz&=bSq;cjd|de^`7M_TEYQX%6WA*L+cAYZYxJ14qFynFsc{K84w+k036H zbuV7cA;W6lA{EdN0~wbGL%I56q`{~lb`&8+#8W@P=3~!%Qtx0Dq4Y;D)z6n!=@KjU z!2G(p3kmhos?9Qj2!xD+O@%03;)MHk@{}_Fi9#v3y!PZ|Sk6}^2SIN>q0xy7aTu8D z8noL|#bM4Ew6F-2d`MyqTYv+a+(bRE!*buvP`z_|e(^)YDndD>0)q9iij#s*r(6K8 zELSzSOFh^sA^IwZv`v=Haa#<6r@OIaDcrz=7tYp|u(Uz{CogN~5XM@lnju|hA7x1O znE5HTZ&U%(W0+UH;3H&ClX)z3>^_RVRF8-xE0Rb{uRb{Qh~?^;*>lyNwaK~B($%6= zg(A_)P+NB`V&@hN0N@JDGz{U3a@a}T`*&1+2UaRBVskW>7s$O72t=0sr4X5JMoa+Q zz^>YtXMori^0>G}z1w|>12%#N_q+M^V`=)ep7>%L%&O`s>^Ny($BuT#&A%Ne37ggh z)=4WIxEndBcW@qH4)cZL@^=t?pdS?!*6^3d`+P=p+^q%Kk2r<$FHEGdd~`S%q9Z3CIRAMXqSTX z0{7x6@qOknGH^z!1KTV;?VvjQ){;D%xtgl2SC}-!3N~B=b8VxfVI8wP>PF!m zAAx)X>9g>dGvbLgEln^q&9q3$=kg9L@rd#}t|u&1{Kh0dcsXwcf@h#l2<_GD#j2>3 z<81He+$lFU+*xB8NIgl&Nn8^VjrxNVeV+(v+sn_!%Z7vRj1StOk~GD`Zv}?&3MI^L z^*n0XE=;#T)v?OgJdUMQD*L3WY;*H!@wSQ?+WPZYsiuNnr?Cwz0j=V)CwEGYj)xy# zuUgay(`p}+nI^+eZ<1hscQGnKEHE2Fcl%k!e98V&yfypRs5F~9IjB0d7REi|=+~Jn z6lJbt`L&?yhhyZx{6;4ms~mg`jrBml@v37Cq4H>H)Gj7%D0 z}%{DCYGK=|UAr;b|)%F<;^KnS$ zt#cgKos(KAr$v8k!<@nAfcd#IFC=SDmN$2dZC%1?MqKHkHXVZ=>OLS6T%A<+L%as? zol@!#3zG@*i)n__txuC^Zr947Dem^6q?$$`8O_0&TcSg?J43j$LPk4LA8?0hSjTrH z8=Ny7eTpqW)q&4xKRk-_PZ1ypJ7MZx{;;Gb?)TH$5^a-m$sj$H`oW&pA~}i$v}6+W z?z;GbX|b^FBejvvdV@!A;Y;}SIG8iA^6V#0z+JqYoj?VxT1M{1W|yw6(ahA`r6Dq$ zM3qPlOHoAzYi50(%4gKDOy31r>KxR}uB(0qD#RYAqq}{0X>0-*4&@$~@n%N%Sih5* zFlCzo4Ltk8^1Xr2U0g>hW)2*c&e2>4vonfuKGP!WIH0Wb+Ija+-zm*~TNz#wG|!0Y zXIqLTxQG&k?)6p}r$WN=F32ffI~-y^T*fNr$bi|XLn&thp?N}bk??|#+*f_SVhc@U zKyF0=;vi7OcVC#f5!dwIklLG0^#&yE#pWB3{U#J@|}d zeWDjzxKPqN1o4c-QEQhJt#L}7&y}9JEy=;THzEMQP-WI zjnDA$ZDo7#_Gy!_>M&26Itc4UOP*#w;CIO+PC*4==5X$a@z&QURcWNVSNoJ|)|CC_ zA%JOnU8lH#IR<>mB7~!U)CC1NH3QnZ^@;20Y$ZvpitJ11f;^ZdrX#vz&X5!}AT_(t zJmQx$s(Esc8jG)2qofiyTWZrA7DQib={k-4tB}X@%LUECLKZL=ADjG~@uv_IeAU6R z1=q7d?BgPm%cZJ(T}`E1{K>T(!{T{YLV-Zb{m_fz3!FmoDa#y`bJvPQ%!iB(hsEOT z^o(xsPJxRCD|NgM#cHB=l?A4(n+g3jLoNGw!73mE-SflqP~9sR0reF`+KiXP8Jwo| zV!ehS9u1}R@Ey~9L7(kT5fd^BCNM=dJO}_s7oZkMy=4W51N3XS!jCNcv* zSOV&vA3B7n$Mg0#M68KLoZ~O9MCTdA%<#>8N<*))JMj!?yqIz21N_2x!Bd6;+u|^Lo4&A0 z319V0gt{m+;lplU-JaNyWe8|-04^WYO_`%C@P+DEOwM%3z|+u=5jK?RrebC7+mAY` z-QwAg`>T0M;x9Qeie7U0rd|U{?c@-gnLsl6J$=^dwI!RO)hYuNm%=|ihXjQ|542X2 z0hMx{7gIh+-U)+RIFR|Fva&s17;|nGZ{TeAimZqeVW{)$7H=VrP)DKh!7+z~`->lJ zkbiW)wf?LmqjobnxJ=_TTt_eca)7A==%3BSwU*>4&a9{_q8cM2E=eDy+3Ky1aP|6; zEH|&n`w>5TO%2CW9^y!MKvS<8gn)$?6Rw|c5@`p9hO`l@umU3oH8N9NuQ;=<)d|Bp z)iOX$S648Ipbpz=J1HM^tPwin5!?h0VdASUv3;_;xXboHYXEJIG8(xo3wX6MMaK^! zd^a1vRr|$nlbrN&Pbv$@Ue*x6gI*M2HXTQGYU8;nOM+91L}FuAPbyZKB$|Z7V_QrQ zFqj1wrVE?ck<%*`zPja1)G5=3+gzmTrzw#%V*S4K|yLe1i3mm-x@X zCM0~7xXWzT{5DN~G#S)VJ`>V zvTRXRdRw2duSO-o<^SMOGT$IKOmn@D z2pV}Ei42yqW4(v9F6ZhC#BF59o`$*c{c->>Sis)cEV~o)54kx}n&LvcnH^Q>#Gbp41ClLS^ z*ExM{ps_XAu8HO`Vrp_PV2est`axJHVw916ad9w9w9|6(Q*vx*SvjYmiogm3grs#q zkfOnH(uW@u1%oEvmfMjzh#e+BiBY4ZK%%l^FQKSB(W!Y@x-AWjI3&u}i4==Aie0rq zrW$#B8$BZA4^7y6<%uUt>toF+3o8cqtrIeTqgx}yvuP2`XUq^eRCY*h$Jin(9F;bl zM!?+^#-H!pJ)-2TB)}m(k!E<3B>9$H|o=& zlWn_?%*DSD-vJ@Okt?+lr6Bkckf?_2a10IknJZO({^)k&Zk|9C?V9-1ngS`uazciQ zNB$s}G()Pg@v~l>APjlJAS)X?U>en29I~fYmLp$blnoc}vCbn-;!Sgw;5CSlHjK)0 zK0|+C^23Awx-t~E;r7=Mu|C9P!=%)?Q;dV4k0sgBpC7YCa5fUoYDT3+%1@|kvA4z4 zdu@rPay^vYtL%^Y05YXx?+0NN(4DhewtJB)bf1IA6gE|QV9y2kP@K4rDZYV7GO z3s>|ieff02HkH33D5&(IL^;JvVUus%Q!X`GhluU@+~`ifGirx$Ss4O%YED$cZa z4GtrGjk8zl)=+`@n<$}J1Y}mQRepO(1)TEU=l9BT$I*oyL5jQmbf!aKxIklNfbk8H zhA}hhPTW2CUuq`DM(@w9SyqT3`E!*8>igL`nvi4l7A)oW#N)3;Dc7IvFPIJ2dl(jx zfLG?D7^Ec-W<$h~SPVZu)1*SW#zANAuZh+x+kY13=CBKPpj+(x0$*}``DIll)F^sU zNP7y*aJj7Iu7(X`ZQKvyOYV;uo34tiG#?Chj|*Rg;OkT!3TUYjQa%oo{)&}hA~j0Y+WJu! zbqm?l74(aYeg{s?$Mq6etrK9SS(qD|j*jdVM)8#1gGtGJA>Oh1_FIVuPDSjkN_BK& zR6;H;4U#@406Was(!me6jS(ndIJ<2`XgKCvEOyTIQI;z>l6NfZfjuFK7hQtxJ|d}2 zxWoV%jri6zxz1_fo>4Y&WolhRS-dTL;+MpeBd1^4HsS~cTb^y8+5q{>$`x`7PAX5R zwU5k^NP1}PubwDKM)N-%nu6@ekH1o}T#$ z^mx_FCKX|QL;1uk_KmVBwY+lv(m~9M-DI&2>1esDKck2Df9j1i2kSO(4DKp6EPybd4x18A$HQ^R; zw<#}33WUHJ6zJ{7Om9STg7{O+r12}=I#w(klnf+=23kacPS;o-+ccNfYjOr@7Rk^}!i2;0sVSrvMb0V&~v>2re$h<3pAbpCQlH zKe(mPnCjxwg>8OB)u08yw)Rw@Kk5lTOEej;g9O-*q^F8Yg2FbJY$~FQx9f}F-Hpe% zuti%Zg%o;>B;3FN-}bEK5fV9gS-AAHF+WO$C=)jcBNGqjY{;G+QlDlhnstV**R&WE zQ@tHlE9&^*-R7vMnVqbU3^oB+zyR;tK?33mb0OX~MOAPO$o5hAYG(5q=`-BClFNho z&evORC-8va1Q;KBvz6`phHtC3Y`{Q3)`JqCUC>XL z+)RfwgkwJjwk~JsWKO;-d2|%cqV8)v@7g)juT2EQCv;B`fD!rQEH%%rg>iuUS@6|Z z_966$s#tU5<6-fJ@!3NbL^hAOrpP$A>ImWuLzWm0fCP8d1SQ*RL6d%;?m~KAY-{5y za)G;ECxfGp%!HxKH%QWN4fR{)$>_%y|M_b;F5~pp#7eP5T+WleglaRe!P??Tb`6`r zWwGrA^5;W8JF<>Rr3x|D+C+8q-2yMOmcq^d>;?)BgND5lX3B zu8E+`Bi&iKO^Ft+7fVD))IHVL^c!-NS3|9eR5snbLvWY}NH4Z@VX|hzGaO zB<(y6Fyyvax)S%|Hdb(x=pfn91rK=EO;){p@rAVXKdUQ!h9nxKCT2oW`6ImCYATnL z=O`TL@?4_B&?JBh)GX>Bl6NF4c_yrS)f|n)OliaO(7v0ex-o+*GISS3C?9?(hit?K z9w-v-jEC5MXMos0sWzBT@%R9<~TDz(im)hge2e#ogZtvwlm;#5Lia;nDvM$5*K( zDSDYYAbI$weg^`Ni^15f--;-3{F)PJT0ksFO)a+S*D>^MEcsf}&S>4{uoe?r;@G+= zS%{k-jX9f6YCQmrdq{FcsG}RiM|u1Jqn&zgTSPRxiwfEhgT~LD=H}T?Lz1@-DJnka z)8-I~FDeBLoFX@{N}qy zh=*ly40hA}kdd<#ZzW1Ap+Q%3Y~`5aK!44pss5@aw(WWSAW)9W?~ptGFet4g^-9qr`b`m>fV;N6s%|YcT;ogmObW}Ex+5PM@Vd7u_bDfxh-J#CAC4Z{E4q`j?ffO|Y)XLJs&M$gc zyp8T&!$dLDyi>=pfKPQ|YbcBQ#k$*&zytf7Zy2|k_<6TTqhlJ}C|0hM@NCL(C%l%( zT>TsN%hV-qtQht`6$`i z2T1C9>6{6)9X8}o z6^FC4GW9J9OwzQl+y&t-w$DSUb&6_n5E>KEz+PE1+Yr;yleN~g@r=_Plu1*`NU9Lf z$=?m~KujcYm0cu$s@PJbk1oaB9Hb5^WXoWw(2Ch}RJL`>e`8Bmy_ zKeGIKU)h(ulMAWE`PhVP!y`U{jhDUM({;_)9dxtV-B{gqQ~k;bpU6 zcqOEnIBlyU?PZ#YLZ-fL@gG?}KHwTuieD~)6E{eDK5ho%w~K*f#7ayc59{{#gu2k& zTs*W^Q}S;yGEz(GhtX=CYOO(hPwxeszh2nGsZF0?bDFbuVK7CdsdChk9@A6#;Jlxn zS6Z#g&UK#pEjCWs{81h=V5F1e+10M@jH5l@3u&^%hfvWanU>tOV}l<^QBT@}z`I<% zRt1k}HgSuScgn{2gQDAl5K=TET1T(Gopc`^v#jM4>|(*~W(e2A+W0tuS?#CMt-iVd z*`LAr1v~s(rFcHy5jnWv8PHxMp4vsZcf}@`mbA_emsE~|)Yyj8*mC3SM<#X*3|mq0O3_HjRqf>)mE8#u)5FyuEPKvd{5QP6$8E2aSI z72X8M-*06m#U9*-F%;y(95c==l$zl@MK)~F%W4LCsUojm*F?qGpgL17lb}dBc(_M9 z!!pZ>n8(nuDmF$3s*p7R@%(1!S`=w^S+sm`^b?xE?f6rneHZu(P2FeV2*R~Q&9gn| z31<^UIH@gLfuAJRZQqi%U{$C2(^>+G>)jvn50Lwpc%m7m(V10ydu}9bx`^-U=D>s5 zH;TW1o|u=;yz~SQ`fNmoHZ^fHQov3^N6!5dsi+g;MDudUD$OStL-Oi;@%_>aQeT?f3oW5>=g})c z6*R_5(XE|;#{|Wwz8^bE7S?zO4+Kd?*$3i0n_SaT9n(jd?_oEjia*Il=tB|JRFFGR z8(*Q$8KEDwO|6}WIb&nCe_YFUzFp48Hv$b>dJMW@OPxTE%n`20HLqC0;^QsZW6T%p zkEMysQst?ly86+!v_O=j>Koy086HyTDb09$Xr5jWWprPWFaJH5YY-+^ZO*LKuWCLhp1@T ze*E%HIA|370f@XT|u}`wB8q-3Hn|QP!HFf4XKp(k!YA`L1;QhTs!=n5g>iES5~vFx-AR$+7fP}@+h%N zn(0tTr)yi)?uL`}i@TwQjUDHqqQEW}7(^Cst zr1ZCE@vRC2N2wu3Jf4yOc#4@!28v9^_l6`=k1#}rbA|nN{dj89X@mF2w|6A(q6;Z&rnzG=R(jD}-;O%Tiz+<<47l@bO+bi@zRmgIB4KScfMacQ_N*C4Q z<1Dzh9a0lDA!~G2X>MhnI@ElrLn#Qx?opI;GQ{$D)hYCG zZkwU2M~y;BPKYw_rKER4gJB5`@TSPd~VR)^A@9ANpM8IHb5Uuuk)^^98KRzfuU$WM- zm%~{@Vkc2FG{i))>ieQtI{mr==u0%pVze9EEt!dU^}%MNlQjO1YOu1hbSDR`v;|vf ztz^@j=p=#HRMl9QLK=8w8MZvvVu=UJ8DyD(dc@uFL-3hs z2~Kg<$n-ioaNXtdscqKvz(An25J7a?;Y}u-J-mr|T8UgfC8|zaw?NFAe5z!n zgN;Xv@n+d^#;o&r?zXjqX8-<-4eL1OQ)#bLlJCTA@2y=(XTVopaV3L} z8R9(fK{v};)Wk9@o)+C)ay;@BL_yASYmUcaMb11xT5$KE*3P%hoqf#WbAKEFu*ps4 z0p^jR0(O~K0n4)U>N5*M`(`OEKLJF9`;uNtPX@qs@v}^V(t%yjQoB=)vs6wI^(tKz9f(bpwvQpQAPPUlu`t z+VmvjSYfg{kW5@dE6Sw!obY7``?g!FE{XMM{2adb_}S*qu?}2|(%mbkvis~IwU-g^ zyCk|qb>MR~JFl!~iV00<<}Ot=xd@MU=wPZo?Os`$RcYp~Qi$e!S&Ft{=c}qs7S0vF z)pZaE%!lokCTm?J)7P=TYnDLvlg|?2R%W1%c3g0KFgZjEZSa+;T)kW6Ld*#sR?EeR zwPngw9j&Q2nOT=8W?fl_fHzGN9AjKAdBsQAX55(#9om}*r_J^g`-1mnvn-nqkH9?g zCbSSFdET8e=8W(>^oO13Y7|q26oYfeOwS2(DRS^stm#RzoM$D>lsY@do?%L5CT-|X zJII9uuj&OxQl9JF3+PEc?pl_v!uY_`=GZmHVyu4PjG_v1a*$B};5@2(e%fy2^3>i7 z6ihdcBSVan^)tP@606u_(2*deuqp(}k`W4e^3-A>9f3PcJIv}WR z$VihfIDr=46C6NW0B#b}&2mIZkAU2>ES*F)`J!gc_e^qy(??lZ*3O2F1ENAaPY}*b zl>uf0fs`o;?Rqx6;oY+@#!r@r3F;1sqOemAjuC-M!x}#M;iT=(omQ^RUf~lIq#URn zP+ImJT!Yk7l9iWvNfO4f5@~$8ne}FoY~Eta)hwnt_6`^)xkP$YCzAY0Ogj-RN}+}T zqlsyuscaER=g~z{8CmY19ML}%m%f??es$sx5_3OQ)!MI@O8dYMHYwDTqS{c5zt1Ax z%Na3yFyW_3A3vSVW7V|>>CE31Z^kydJeIadW>6S&8eV)4?`pwyL|ZgNcu4CV8ta4- z{OJ}wsiW^W=Rn;?v&}%g4TkSx?r~XxmuV_dz@>o*xC8`_P1L$YNAa{~9M%60CvIp0 z$WIap3=~@?y-9Y2X~e`Wswoj95Lw+?>H>|$n_+{aL7`qxAdzs3PN&Bi^iZzDvrfsl zy4sg^T4M69muaoj=rdl-Q?{5cGs1ugi(EdETP>}dajvEm$&Nc?uk1oae#%`SXE~By zZO$mNfKVj@7x>_^1egMBquf~nFaAV`aKx(}kUqU5GjCU{ODYVzs}f`FrZn}(&s<&t zg-zZ}I%iWd*ty~pZckVmCSYl&P>1;o`!;QL5z!VDMLHA_E(O*m^;JPo)$R&Kr;67k zQBbMKCvsYh5_j!{hemVzs}7#qf$2 z<;I}Z@N?6Di!G9c&`vXrTTk`4WOVX0G{>h^2Z!)!t?{{DlEf4`_6R?paE9iB&qi(tlyJy zm%kC}@G4@PxqkN9Yr$5wuz_-!)a!>SQWA5Fu3j3U9P&<+l+25R{3@pC#2x@dHSj#H zBiuR07H8)PpyTp+aK>uTgnZ^Mgr(dJAk4lhGb)Pcg7*~c+Qkqgqp3120%ftAtDb)D zQ>}h0O;-2rlLc3eZ=y;)z}El|3i;@$x<*u)s0aW#WqG4^6b}+I-wtT<^v*JIs|=xW zs)(wZ*UoS|xw=r#TH`ean1Zp4y3|j|N5 z2${Liam=q8FA=z|!)c37sMOh%Nqy9c3p?^S+7y5UbNt+~XMfy!Xy3Pqxtl`P2)Ike z6vAg~;bbuv%!`#k>}xW1EwDLi4h(t!V8=y_pw!)l9EmZAyAXBqk!fI?6MtCmX6@4* zjYI^q#GBC!oneITXYn;Cf|>>J8LDn>#$oUAEI%GQ{wB*99P>q4s|BO6@VIS$q0cyAv^SsYEB(KJJjVaPnuy0~M>A9|A)I)>xrRyFEF(Su{KhYdhea)IMyv zKuAKjTV5*H_kaPTgzS$vAV98^g#>YEzTfIB{JmuaV<*h`X}~1lLC9nI9Xhg~`ZWcu zdOu(jbehy-9v_djCxRAR9@7jWWq~Tpzs7K`cOI0_JekBT0xpYp3R~3A=ws$)kL^=g zWKn1ukge(l+Zoah8-9n-{JC?6Tgk1!**k8-UqfDMi8?uk*Uk1RsXO|I$tqCNkq?S) z#4@tm$ zG3U%hmOT3si5rr+H2s}t57Jb0pO)nTZv3W9A|SH%r=wRo-f56T<6(1^2N(w2>d znN3?vwYLn^n3i05Y_QN|BC|St1v9cxH|+0%#XSn62p6RXt@H)AWn=s^V`a2TswKgV zS~?OI8;xD-pxtY$_0qjzo>)~Mpd-*m+=T{-s<>y$!=^|~z9afMDF>D5mq*sydL=Gt z2B>;Q(8t!8AQ|DLM}Tj7j_zrz`?<8!RJ-_21`zuCL}-CbD*QM$hGnaf^u8bjVK$+8 zFn)6FZ07d3Wi=f~9Jd#L-HgGiZ*{b)VBJeq)oLQuoey^kgrEXnC^`;r^FGxPR zl01uyzfGK0WMDk14C|8r4rcRn_$OzIR+YAT5woh&k^T4xuaJ?7Qsgilj~tTip*1m5 z5V-(i9~3CFHNFvzk-vL%sdm1diALTiC7sv|w8m&@yK62ZS*k-M;d#whI~b7UFM1PE zLcWq^3w-YR!gl+0Kw}IZ3YmT3E+^OfQfP{*@?>mHQ882Ptae%f&}?|BMx<(}EkPfh zm0?w-Ng&8!iEWkqT;&V#bgm>pP%(uT3ZD#FH#cNy93JB}2to5Ph^j`UwPR-I%@Bvd zd4$2^4ZFdUM|$ajf|e4PO$a~9dzs9+tbLut?9{wj)>os1?RxDGWqq7>HhuZL`GcLp zPId=?cX4>O$#67pkTQ^cP)^qy@eZtW<(kU{-m{c93dw}mOK%%{d@bJ_>X`WabzekN zpn4bmA}9UAZvT=}6F14)&)5uJp}qDCv%>< zsNH{}k;u}CrjKxNh{Z;7okVqoY46_g@wOU!wUmCL`lh)YnKUpzR+e`DDR-OvYU+Ob zIJ#)WfzL$W7r?wUD0EE%K*61GOV4Iuvbj`R0WfbmMmU>VVIwlB41zi^4h#V=zh5qU z&f9tt<$Ikw4JGF`ihbga7D>h||CNMeK5rbby5iZ0i3NoO+hxgkf8Tn3>0@l^RI#!B1hX1Q=*tO?!Y)AWhdH7(rwJJ=c}NCqY%YaO_Cfz~sJ z7HgNB9Al=%vCTmDBLR{_nI&%Tuy$(cqSB-tf2r>~ppJubO2c4co@$UbN2C@hY$H~M zH?^k#?M5CSK)cq`9By!LVl(B-#ZV?yQWiEmA3iy$1RhBQ$Ua+wHP&W%!C3{-@< zBoYq`f3U0av35xpNgd?Q@D4ExNsE-|HTsU1z4HyqEG)cGO(>A`$Q%_Ta99%mNauSt zWTxE%cR>~Q6nU_BUZH;a(B6Q<0Ya(b5k90GB8RH(?0QoNhuljzaxiTO-eysHZ{?bD ziSjuP2eXK-MMkGvfJ#yH;XSHoh(JhFli|X{49>^9T5pDm#dVBb^m%Z6dYzIcBbczA z$)&Z2#T5jhpKZD>D?%w9ZPpYgxj+qMKQTK3UM$Jt)p$sq+CeZR3Y~u7T1I9#d-V;y zz%wo`xQ+4=Xq9&{MMdTD=Wi}sB({g>7E7W`!kW}sRgJ^VCy6<`>$g=X8l{ND?Lcj; zw_I~_l$)ETO{84UP}|0R-WwDz^mBWHBuMqLOjTUunS!W@PA+i0E1Wd5$2zf8A%d!E z9Y&Z6{oq0Da+k@c#+IE)3vGVd(b?=)bW?J;PdH=Pmq6x02a`6KfbIwC8!n%^FD}{* z<5bP8;`t&A{zU;Lk}#K9yj}$IE}3QBYk2&}l&$DRSkmT+)#81Pw^~vhVyNgY8Idk+ z?>JL)tan@a2&rKVU{(Lmh*oorhCDXQkqy&W)vt@}-x#+!s~0WOfXBXKb^&2`%RSA9 zu-4)h15gL3zcvzBio5z>IU8d53CQg|mwwwHYSHTWupIRaZw_mytmaesxz@$pd(L2Y z-0?w7384))=N8f-SOC#D6Aw@|()hD4Gje$;jScmR`Pb+f`&VuLp>0!(wZ2s8-c2mC ziR(TsAY+z~(4)Jny8%D&L+G(&3uh-3<7)shCw3o-1jcwb4;0e4x+3mku1$ZGK^&av z2H;tE)pB8=Xl+g_&uHJqo|F-lJvI=kv{VLAE0vt6f0{ctO_W3@k5s$UBnR{@GMj;v^g)4h*nYabKq-Z8tzm*}u z8%Lr*PZKloW<7W;LZ_{WpfU5gXiF>wPJ+kECh1NJXadu|3Z&T)qE?DEtQ8YA&kviY zZE`JgtudhbQ5xA9r^7PKY560ZMTR7~;nc~hZ}o@j%Wv0PxjSu$lV4IYQs$9%1y{EV zP#QtLDt4rxHU^^^EX|6*N&u2i0B!I=^A^*BO9pNn(AN9mKyCKXCt>9fHiL`>_NjKY zxZMS=MlvB!`THPxNHv(lU>gm^7VMw{b~lx12V7P&n?{F`3|d4gwHMS0hGGB2$k6ua z6&LahL+*CL4;e`0a_!AA*E^mVHyS)7lg@isQq)mT_jZdd@nsP1cU6oYaf$E*C219o zkN=pTlMNS?Wz!5HRiIp;b^Js}8oPKrYAjV&XCHRX2&mZSyBLSokoAS~(ljvDg^YY) z3eI-dTj_s-qip}P+sW0oyU zxcdNtG;>fj=Ca0{mY>}vIoie3-AUywG8=c7CS71|epDUdAb7Pu`}$g5uW@)(r>Tx( zC0*J{9ubr8T9gJ=(>ns6zZ?TU2|YKQFr^QA@M-GX$qpbVZfazz>o-lj zb5aFjGkiQ)?%rsZR=>ItPu_ zICAwk0g;5X5*AC`s;rH2MgJ}8K{c7K?(jvbw@jD%kVSR^aMG5~*By-oZVCqV( zF0$!4McN49a@TEOSVzW!=HxI;Za$@cFp6Vqq&3eZkIT7b2e1qb14qPjBM4$F)3>XZ*$!{_`CAC%rsEA( z2E+L>fX2D-iD*yb@g3JXI4(+sj{9?R=M61#Zwi;mhpEz}8_>yTXM;Q@&8x`WS63bo z*Vs;fcBFo_Xm*?0^}I3MbW~rldu3_>Ta*FU=(3zUNNbh!gDCp=>%c8uU}%i-!%PVR zV-%O_4*q^i%8zk=>?|cmiN$(>HP4vK>R9s0oriv`ip?jRbz!o|gyW_{pB_U%xmlUd zo$u&Ysr!3WzM$@bUGGNUk(R_I;PO((7^Dz>aI2thr4DHtI8HSLr$KEH+zKAQK!m#u0VEv$7D#l z^y87#84;R>#@DD50eF?~j?i&>iQR3A?(T!EKgz~R%@RnW!3jmX9AbaI=@l3(23qTF+Q!)rCb>ddi={JK_XE^ zcTZ=c`zbaxl9H%4pbOm(n8!%M@<;jOo> z{vzt4Qm81D7~q?^9PVndBMzg5rK|ScvRLLCNfj6c7`gqE0kiCs8xb{wIaiqWGH@NJ z;VN;Pw3UN8VE^`~UYpS22&+EYy4%RG!%7skax+1kA{1<^GG*^+h5K^N|bafx?+&K{pT)I zHxlgvxnAsK|)%8|_9&uKpN*N7yQ#Dl8Rf{9?SoH65KMDBIoxV^66~iHJ z4im*dcn0u>XoW7d86sGLBW*PG$!>s^l>pGg+VaYX%IYSzCO8#@X$kDSEa3AU*0yxw zduB1sQHLXDU2zsaKy=D&&f}FMjhIEJlIp?5g|`ucUqi}oL9OV^dwQV~q^Y}pDP5sa z1wwGAlmOL(WVbBf4|n?rf>K3Fq0mq24BsMA0*-rgc&zQa5z)lR4{U4P;5{L;qtL{% zj0}VYQY84D2Rm4wh@JN)G(v4iGV>#+zy22(D(FR=Tktt>sF~Vrdl+wGPe2J0ut%$c zVkk7!b{1vw$1thf!7>^a)$+4(khe#O?%Oo%qM)9DbBH^gnz&?IctXov^0wP;XC={dePbw%twu? z?TQGdTYp&N@8-5#m|ZqER(9t?-nZ?pIs$L^Q)Ug)P3Wo8*ceCd2gt(Jo`~OhZj1rQ z;m-aPk{(?aq|xfh-6Kl5j?jmP)}v#WP%H{bY&~{8tdU2$D9$hrxusB6usou4ug#uu z*hmwLx|nI)LW9aBfbq~BG|3}e>sn&1o%aF3=ws7%*OIF*S;+!^LK>gc(x%HTB-!es zYEMXb0O?gnnHr4t3b9d)^5BtdBO|%BOL3mUF2?{UVTVOM2hqh92-dIsT#Tw z6U5COqO>~6ER0Bp(&)mW-Q^Z7_sED8$-s>TxW`|2!uvwzUJFhv>f)-Jiev54B#~Rp zdpz@b#@I-pZQ3w_(LT5K(~9l7f-qD)TZ^fSKzko^-_8kXPv`6Rd7~EvAHB#DKCQ?g zho+P8z8{(ev`Mkr$f8jN(J7{-b=?UB-rHk|T-}2EE}_v1x)8!&<_LNe53s3W;D=Z- zoZC)RpKVQ{!&m5&L^^eZ!4PZm3@>+T$}kQ>VX@NEWWLIq$8rc9Ix?o~Q}Xv4MiM|@ zi;Y~|~;&0OFoqC7sR(vsk9%t5JUH?!J5R|QtC*e`i}_$E}A z;x&Tb4-rtFt!-z4h1;cF$u}iGI{O4r9*3nRsj#nQ7Ty zCj@s0!!F5+x;CxC+=C3%l=WON5ODO=304zjHJ;K}&%X`rb3IGR_NcwELx!7JVpu4! zpp?aIL3ymhNC3JAQ#cuD-3IGp4|8*EU!ueof;!yCOn%QrDz~I|0IXCM!#T3SK#^nK zmgk$7OWwY|o>$0*P5;wR>b+JtT(JV3lZekk8FgdTIyPnt@V&k;(#N#t^?1PjyogX!U{nndmTeqeJ08UDb7SC|h;(ITXJs)ijN}IN|qD2ffye_G`pa$|lFL z-iVE&4 zguP&n4!y7@atbQBCJCLB;|s?U3o{$Z0P7pNVxu#tvhF411Z4>-6k8pZmxge7t^r+|448jKyvz8*F>uUU1Bv$rA`@j+~1xTGk zlfs;Vp4>PWK;v6-Xfx&MeuCCjOyNbO`_B}Mau#mY%en_eR-N5ze(b-lUoX(qq{hIQ zZ2i1R9^zS3_l&{h(s1L7yx`v(6f}Wr;O|zOdz&8C(A8wVPrT~!*pW)VEZv`IBV@T? z9qu4m%T{o))y6-C0^K6#3Rf-a#ZzHdY@J~gpSk7X*C90NAKi|jHA|zJ&V1zNR7>OQ z>+9$1+t>LZQl4yvA^;CzW*l{ z5cFG_-+xK`Htpx*>G{s`>+xIN+xf45zhHlFzc=&0J^KB6_tV?$kMiH=-oMoSKK1eQ z5B|mc%cA$2%|Ca4oOxfqJ%3w#GZFe0o6G+R`;P}c0l|MI|EYd6=lO=;`{qy3zv&IXzh1r3 z|Kj(*^p4*j6>s?cG4k7)H^2Yb_(Om2`|IQ{8E^mJo8Rnz*#6tfuiU?f{vQ5Y48Iw? z-2bEUuYrH~y{F;L+h1p{Zyf(o@(aJ<|Cap^y#exHzP`~Le*b&)hu-n~P5&bk5aj=_ zqTesxf%#P-|DX8%s_wV!z1QSB{qpl~b^qr1uiF0&$RGNn?M=C#*BgHSlgPj9|6}#f z#@p>bY`?^Q*X$cy|Iz-Bod4C#Ukdnz-yb-Cd-`_$KQ8}1`;XQ4`g_mN9~Xb+$luT1 z{SV8ZX88lzFZTDAdei#51Ktt%t^M88e-gh}zmoZ07XLzjUwV1`8w&poz^~rOekJoSe*Xac zi{C%!ehsca^gH)|)%?NZjqR-=|F8JH9sSMQ-*Ww*Q2&jpKlr`p?|1*cPnGw%>ic^J z|B?7#`riou(f{=Czq~1gr2Iwp_x}IP&L8^Y%wISD z(f=F2w~c?ue~*R#(69RYTb2K${(t({>HYQB;;+^V_^tFm;J?4#iu%9h-qrqk1_b-O zPqcSC|HAkFGlTz?f1j@ZPvh2t+%}9uPu(W59RZMSIeY7!c^{Be+?_=yjVzNO_=q1t zCUzM7zIiS3e(VUnR38GiZhahWdc&c){?5Jmd^|V`g;V@R4zE&lOpQ_ zOG~ii?_RrlgTxZ}jfoANMGi_Pql4l{Bh-Y1ICpw`hBy9u@!q6Mh;pGO#*l zee!mhBu@Z!n7A z_{AQv|CqT1sSWIJj81KL;tu<5v^ylmY`-J=!=Wk4IKboQ@=eU7kZ%6kPYRh8fB9RE z*3I}`ZTpW5YM|?Z7 zae4j+eilQzjjy`g^%g(AARKsfK=ta1%d^Whpnm$=s5M?7`I%piEi3*Q-jR4cpXld> z=LACfHy{m_Ae8QOtU-Aq6%d9@as~Tw|ITbHL(i>p|7Ic5T@<{kx*!m{mKOs5W4rQr z7F@hVxBgtOl8?^9G93@B;=Uo{mOPd5Ij{TB{THj#GITJeWC>p=0toQg$@pmLD<->#t2@xGyqip=sur`16I9PJl}dwe{37&O{* zL9cV@BNY>p5rSaGbY&NnoyWEw^dDOyJ0M*_{FO3H`0))_%&=T;V%6ymKEL*P$q7tm zrk%(bKPUau&jznnEZ3YVYAPs;s1ww`Nzp`)C+2^`ueN{Ur|D6_J*&<5oqD`bdJ}u$ zhgoVFg&(3)lUqj(C$i9SH%pS9oo=5bY5kMjTK@l$Klj|mTK=>CjD%SBK~ea7Nxeuz z{}zJYe8J7zhoW_qEo~*{&t?KK_vbx>IwYZ?RNMDu*?QS0y=vD=YXx*T$~Bj+4l!SM zwzLDr^X~eAZI@OU`9ML6k#j>Is`&LfsluSAT{mSW|BAePtEFrMj{!h%dQ6en9vYjF<7c&*=n{gf6Q{Ybe&0kZj2h=h zl`*ROz;9U=k}@=Tt;WwA+BQ-VQimBo&PbIKXl}PPe)EX6v3}J$1#RO2(%cZwOyW5k z@@1dnK3aw>Cu-R5-~dv(V=kW0yX~^d)w8`*>lXZGM2-hN_81OESfA}n27;_Kjkco? z4(E+uH-CG41p9?43Bavzs>fl|=l4ME3j3Y*T%6VONd*!5J)6%tblEPWv|Xl-=oE%B zYXWT{Q9M6FTvVii?$?&LjTUKEfc3ud{8vXiJ@JGsSOhm`LPyatzsR^pW_T^JIJQIi zV!9@It_s<&z!G-^F$G{By+=h|uNc`SGqZg@J#kh>t@NLhc9HPO_^I-T27Uhai*P!H z1E#ij=q)$26MJ@s{}WK1dKB@SHEhL?eQ^B+($BUq4Z-59(a?7vLJzO`{Psk*i?}0C z7d3w7t)J6&+4RGGh^D9DiX*T0_(^645t*j(n~%;xDhM#(3{6q|)c`|wZ777F5})a` zoe|%$C6$L*u3ZIC)v`FXVjOy~{Qe z=SS_fAm08`Px&GvGVl|ol;!#8a5p>W8NbQghZCOg82IUnjsfrSQ$g802Y$zsjp$s3 zUzaXh!9A)cy9;|Mc-}otKrHWf4iRC}=J34=v6g=ns zhj(U$`!Cc94Jm8Vfo_Z7j@Ca4?m!eQ2u!W@=nci0=HqjLQt$Rcsry%6RP%*fT||Zu zx^qVw_fba9x?+2|0Zg@GC+y!G#K(XY86TaYRA<+|e}E>Dd#8YPy~uH?vD&yo=V}j< zyG^?+(EyB>L&yVsWb;G+wC-F()di^2S|pUZS`XCtwaXw!%ul-b2Fb(nzMxUCAb7go z;GnvL9+2~&-eqQdF4pA_JL}Km8== zDl&fdW=MNMm&kE`IsVJsU$`OV;xJ^|xVfel^bhs`$KLsUW1X4tRo_|=Z)oWpJa@H| zUR|%<6MSV~hms?|ht@HESP|$ek2?&dr%Z)?dqp5|D^t6D=rP^aR&ia*HSGypKWMRu z3Gq|Y(aq)RF+qM$=1Y)BDz|%c$&8zx<^?UCMGrC;TpyaP zi5mVEzj1$K6drvdE*;UJ%dKh>+TWiE!{=bJ6TgV>TgL(XFPHw>y`x1R4axjP3qF`v zzH}KeYQ7bz>(aEssZ*b2Wz-IntqdG4(>|Ix$i*FHDCAw`%Sjqd%B97Tnek<2e0bs* z2<(|+^oZ@*;)~{aBHcH~cQgRvw_Rs6TzGK&McaK-fXtCUuT$KQbOODMd{g~zamK>W zOTxKlpt!TL#oFMe=!zfZzur7r|8M-n#R`#uoNmRWo;=nY%f;W@mu9jOZ!}L#iC^As zYiltheiE4brI_pYXZ#dk=o2Jq!NspFL8yiItS$Xq5a4(G>hz}<&F^}}U0?E$Mg%pt zhh)GwCN;EbPw6Zv!}Cr-5I;=7j`MuGizHtug64v?IUUh@npzx_TrRc< zGZM1N#*c7WTN=L!@icxAgc^W(N8#_;W=Kf41KZQHhO+qSKyaT?o=?WD2W*w)t+=bZa{-j(c`Yi6%m z^IyL;bM0B2ZF_>e2oA@Becg_U8i&f}7ZDT$uqd^JG!M;Xt#5z@Y z%13l(^>oSWg$$$D z=Z(V9osH+nwt~raA6O&z3=`6cKi8M_4)L|H1ZlIJx#?Al)#JlxB*dUNj1bj;dW5u1 z6tLefd?*1JO4Tz7AT|G@|Kjp?aNK30QOU+C!o;Hp##IINjkS?7ga};^t+E)V3V?~l z4^2yY7?cG31GXR=C3=}FeyyqG9KLFHSBuT)XjHh#4b`dyqcy(ftu-sOp1)hsHRD;g z^?ZRewU&F}51tOVTMFTb>WO3`Bt|?GpEcmZ!lme#;K{2p(A{IFHL(u}I)VyBuyx<0 zosgNYhQNJ_CC8NxFlbBZ#;yqqW#e*WkeU>3*DKa-*%csNoN0C8a$D9GccO+x@Cnbt z+%uRkgQDR=V`%S4%Fo7vrdUC@D0FpNKl>h?6>V->*DrW*0A`Ru-EqvhM?!ho>&CUM zx1JCOYE>Q3k?lgpdxC`(O5rXB)3bXSf@se2#AAf+umWk*My5HrE5(O(2PuG)8SA{9 zif*Zu&bu0Ic73D8i(#IP+eiqqeztW7mb+l31s|+RMP8+s7z>gRnoB3_YzO$RcXr%HA;Y9O`jQ=HaE=?f$p7{EOv?Kv>_zj^O_Eg`tqHIi7M` zyu>@e7=0<#2b;m6)`__k1CKFWKDV(V=CxJBg&tB^7nejnnyf3+P0p}w$pJ21>y0E! zOj@lqSMC$Oc4X~^B3*}>)B+$wh~JpB#q4vqhQ-+9fe z3aX`*2O)+>6njCC2mx;Ej5xC@!7=!|-ua?0{lM)Q z^R>lV4vJ8O;`vI&Y%UC2-Hb#!J4R>Ue1T@LM2*1-%S!YjaxIxE-MG~V#;R)&R~okV z7e2WLPci8|gUFkHq3aEgV+JoFJI+Xqsw+YNLN#V;A59N%$kfwCo#`({q^S)%p-uCp zt#TTW5<)<%EdB@dS)8Z5P9sq@a0COnF*VfL9ehapw9{K*PTR!bq60Sljy-!{Li~Cg zsv_!FDK+T=4}_*)|8mT4Bk)OMpA|VK3s`DbldWO2-Vl zvkPi3rH9@VUsN_is8VLyrij#^9xC^vYl!l43*AnQQ0@259R6(8y@sh3vOcZU8L4t< zMT&zAI2L8P2I--(H~D)J;Go-uaYkoS^wt>`%11Nv7~^B}OWenDnQY<~AK=t!g0~u~;_~KV2Ep{)TG0 zO=+qp)gGe^y>2QuDRC)o{;Y=9!wn#ON}n=bP#ju6YXaC{bHL#&E%vd$a%-W)R zQWcIETo<5$)X;h)<)}g7{50RgOFw-l(OH1L8bG%Nf4LLksg@w{8(137E~4F}`05i4 zUehhxwdJYy`$eVeu-r{rBMqqFxQ&q^I53#cfLRrvk?p)amz#6UTsMjEpo^M3+X)J* zsB3Qpx;$hcHW0S3cwX{xZr(W4bE_Z#5SeKM63k+rsA152c;M0(&H5JSIud&jVg>;~ z^!Ue{v(3zT-GRrBy2)c9c%tu=NnaT!MG1Ix=)QRa2%B8CO1;PgtoV#FyZT7Z@6j+F zXnl7(#b=AO5@HiOk8nezg{_sv8-o92(U#QIgm zAUVZC3IS$L9m2uXd>M2}Cf)1J(^1FEcvzbJ`1MVX#1(2Lf})v;tBv1kT9>V24t;aq zdI!QhKUS^~RfK~DLX<|DahBdUpYPozGCa4{q%rfiz}ruoJbDhLf2+nZ<-Dfyq(pa| zEnBPL-<{~)#dqcHoWBV zT&?^JwGC4fKOwTE<{+?+`Iz;!kqC-bCUz;x!LnkLfj0nQrxU2mBz{TPO#3{~L|3vc z91KTX#CfzvJPaOCC_OLR&;(tzFGP8xsk4qR%|^A;)0uC=vw3l!B--_KPi`$e-$6YV z`^q}j&P4r8SUhCNpm{)pcQ_I1#+VbBO%t6Sy3j7H{R!Q7%D5+P*r4|q zNa0*Gi9+#Ce!k$M(a{kQ-ZO>)_eo1XNjDDXMi81?@b#)pp)Q&9OcIlJE&z4ruB!b) zts=^j=$jec=P`hNzG|R;Zrx6^TtojDfB)ckxr8=J@u!S!vR-*Hc8*1}xvUkqIJjQh zO(_g(kChx{Yzxmj%yss|qc8O}nE^@%BTgPl%Fp;iQVj60LEA{_&Brz3QMUTBUysQ}IG6fyII zAhvQudBD0$ijbmKO&Om#W)pAF=Emq79PI!Q7W=4HcBkoHBvwt5Cco-ThLv_7JoyV2 zWaMKa3|0HCHQhQZ$$YaauSl70>V?IkL~=}bdGvTcmn7d5AD zbjQC(C$6!--+_T9?Om+J5j|B+eut(tirh`T4yweHqGEz+xYkGq-vv|deSkJ?wQHM$-3R=V-Ud7xC-(8H9nbxA zO%Obx32?xXTjoZj6>;FguP;@j{y_}U3Vy*p4V>bIWTHL6)h6B5JM6|ZGt0d>J3WVL zF>vYkTy))_J(6X)1`rCYxzk}SvwT1^C}Y}9hPqsO&@?<~5!~>4kj~cm%$nmhgx=JwM2qu?=j&)W(zQ}{L zr@3RCDFIs>(GPj2)E;IU%6Kp5XsV6VYlYQx*L7w(PQ>vS@N0H8X$Cy5vr4&LCp(qO@I=fMKH|}0ER%oHOOcYH?U1B}NZ199Hz>L8 zUdtrK5n?A;3Y?SO)ZtgDa)id>!prjUv%)!1A7ZSIW@xb%p|03truJZ9KW2Kd=J@O2c$CI_jF$O%*BKFFrj`XSC>eORoaX!?J?-@yKX(g ztsBYPyDTEMwNk}iXpj@c#o970_-El!v~k%vLCRT9F8&$dS|-d1)pEI#fsSFl53El+ zVxSvRRLqa+$!a_~s34JX#zbfW@(1OSDE8MyzgYH=}}+4b)1SvWJw7+eYNF{7q+&waWW# zGFd+f@4+Sa`adbDJvB;Uyrk`GpN}qy<00iqimOtnH*GFfHp1f!Y*gpCf(UBe3N?pn zJan`RV~e+=!5E@)Qu~q_g+w2~bWkD2xuCN3rxeIFmNWOV$5-f28yNQ0vgPe1nc=vN ze)hEOV}9Hp% zy;MNf1PcD8m9d}7+-bolH7YT_<b zCauZ{hX{Mew;lHGF2i2zpf+zzFF(5g0i-hZFmYO*efay^P96z=`=ZnE-H$i%VX*q$ z7Zro+mwOV4h_LvN4m#gz>=@F{rw@xE2qMaPAMmMi=&h_jCRQgA2s7>(w2?$OdP^;! zc4EpW#*CczvFqvAw3uM@I++4MVIQ!Xx`qaLV1O`tx*BO4VhS@!QH@xuLXREP`FQ}= z30;sqE9_cDntZs8*m@+OjqM z(4T1D6UgQK>?>J5H{)!P|qyeat(+W@SB|~ZNI1546wWjbDMc*3nG$kVoZ0mZE89e;+*ctx5VCwdx3nziM z9Vl8_M2!N$%KYj;s6d-p91^fjQN9E{?J`CbI9Si;*g=+fZ;90CnCq$+1y3O<-!7&> z-}QpaYH+81l@w~pjG(LJH)2!sQ1e@V2Oq&3iFJyHO*Mcp&~e`5z}dI^WWGMwajrZ3@APCD;if_R=y~N1#!K?pB_f1aH^L^8GrP{7?rm6>Q+a@|$yT=} zHDmJJCT64b(klqb>3Z!)#mx&Z2>@p^!rUCR3gb0<(CeDxQ!#h`>hMbxpiovF9rjQ} znE*~hWlByHQ-djqxEPv@;kehThCTr|1{Q_w7{OWHZ;9H1$zkW@(8#VDVJBX^=^uC1 zFa^Iiqfjx#Fc!N4spPCPx6&ZyTMfDLU*K<*NtteZ_1AZ1pRv5#MkVb}a1J{MUkU5&B6JdaWX`*gzLk z=-VYjdFL?R&yew%mzNVS#CNNshHxAVFu6FdK6Zf=ba;h+UvTDG(QNNUFhFro2|s4N zzECxi10aB5%|uqag<9WDTpRv=aDaM5jp*hQEi2y0mTTYb3s6sNie z;;@upz2)~6Xi_IlDsN$^kGI*`RH%q_S7^s5UgWCz4!6EgXXCSvNy~Y-fY53pplu{{EXVat)12(nhl_+ANz7L zCD%4vl3)xyYcTAvJGDtqM`~^pwFz}fcBY!kOieJ#qr1|G2T@=p_KKTegrTil(+o31;_?*aaP|jZLBY0xG88Cm{g0+>+-Q7 z#9W#7GIKb#A$+F8OLH_%33VH+%=Y$myU$=^>?8`XmSskbGngRrZU{;Sfj2T)*^+AaoD7sL{m z*+!={{59Hg!?F>{gyeN+5Dm42;AOYOD!IV5pJQ|%hkGp+{wLS~_`?^{DQqp)3|w_o z!Kx(bKB@9xoY+|w)N?M^1ef95hr)OmizD@PjB@x*8#VCQLu#pPe$IlTK3m%+%d^Bt zPj73IfJp7z2EKF&&Z3zf&3S!mu&G?EG7;uLjNs4@*VTF=_FtM{ZIJ01pgmc49ot0g zEf%Gej4%%GT-OjE`T?=f1wgAj7bzlmU3vy6UbXuWIdXdX)nJ1{$`0DUOddf2o%ah2 zRc^egCXaQ0(fpnt+E=pt1<4=AUMMSf+s{BJH0iMvX`go1a z*vl#tCY4u&^eWt!%=W^y%W}B2>SJeHI?^&mF|2rQZIAtA z93<|;$pBhFrN7O>>frS?gAs%|pUX+<)e=ELZZkw^aO`vK(gSz<@KYt=e)=ih!hS}U z)V0*|iAV+=n@T^VPIOJ3w?4iVU{l@Am^5QF7P?*tGd!Nfo~SAso>fXW#|N$Oqnc#c z%^N>gr7C-8|D&k3puuETbI2bWE>a&U5cn3-S=1-PMFpu_v4axV`PA<=pZpHPf<^qk z4jlQGr;q>{J?RmT(ll7_p7s(`#i4ba_Zp4wK;vvfK`G}+r)n6-wF{y1tE z=-Mi#z}c+sI%s+=(0%>DUMkG_%6vrDJ@1=O?PzW0ui&FlQhW(0o^9I7l%qxTpg z**yLLg7TuVlOS;PX<5TyU@J8-KPQE;m|B%XIoXWH9;HaXQCD4f+u%#fasA#HHO(JUpbN=NKSC{Nx({i)Q++E_9TzwZnGrka zwM_YNIE@D*ijo#3*EKXh_8GOP*o#4dp`Y}kCZAuhCgq~ewyEisI}$21Uu3q~QN46l z*gTaBIvCFSyJjV-V!n2@A>FVSC`V)G889#{ModI%q#%g5F3RqMUHcgjRZOgrg@Vv* z;(rkesYO2OrGC10U5tP&+1|q9k1mtLm^=lt&ZQi+%Fm$3N1*g*@*ym+yk<`OI=GwC zM$*U|b2WdlV>nk^D#)mR+ z4=zBCjjb_FKxEZ+TDo%=%x^isFEqYAJujn*VIPC!rb@L76s6YW?-4)L-OZjyL9TVjH|Md24#-h`}=#FieSs!7Z*g^ z0gns70TY#ZDZ}F&c%!x_u(%~>M%b0!0p=i_!IJLzp4&;^ss=~O6JJdM&&642s8WD@ zwZ$HJ+|zV>wz2&xt;=a54Q5OQQXOH>xr)XbVA6uITPPy17;-A z!35ioqP;G?g^Z#(#RjUXwaX>lGR16aTvf`wbkZG~%{^X_P6YOC6@<#%v%)S17h1>> z_*1g%iO8W!<3{^dU_eu~bG*Gg#?ClP01%ez%84302cHJMG58sGz<;SdnRcra-vgmn zo6KUPaVKu7- zMWeIMK70q#jWt1dW`HZBdzV^R1&(8ZWojU`Z#9s7nIn47h!-(CVv?vs@Qz3lR3#Ww zBt9?Z5ek?){*}fNy;hD}&&uWbc-wu0jS9tD$L&(Qy-elfobPuu>aoZ=wkVhJ3VNvw zZ+llkop_SifKr!o*-*l=YS-A@DSG9{SL9;18gYr~Fp(LFFI)1E_2E{j9)!r^K_>Uo z&$;Vsn*MVi2{15Dp+ntw{Z-YIom5AGk+=nQsT8WigWRFDk82H@C{`t30PM9nwYGX8 zvPQk#TvOopS;tOlXfAY{6%@|6A41?4pgg>r%AqHwH4+cKI@G;5{fEPM8emhX4sgVA zDT`~K^NE_w#K1x@g-w(n_@VpIBJqjCpz%LzSWyLy8IzV!eZIZFIX-L=AIAU4NS95P zTm>pZOLL(jB)^MDZ!?q7Xwq2SqUeM8A%gK6x(!`dDM}#)0*L$%haSe0FaYbf0vI4& z6a-u7C_nUCw0pAIHh`wcjntg=eHl-ru zj>fLn^xb-TC2&zV#pmzdDFR|Wv={XAjbHDe+>P{d)9ajdTeJ=P=}D0|wH~l9Qeu)7 z8KLap>UGn!u*< zp07L8W9W;nsLcGP+7ygm3#LfYLu0|?iPsg-L5)tnpK*=Qa;=Se%$Nte(TCJcK=)z| ze)vLi%z^3D0ZBMEMX@O9?!442sWZkuSs?iw6V$SyJkBu!vPBLpy6Sz2B`f1OFhhwA61`)x6 zo?|mvT8$2q(xW}SA9pD~zOH*v2+;(Lmq*P@@Ft5qAiaF4hdA_bemrRnd$`NmD3c3}QpnGtfcbDqg|p3vsQCseU1snDL(R4;IS#klrb3^o6g=)6zA- zf5F4dnfLgkq1A^nl~y(7X&DLh^JUXf%3_qSULT8!FIc8DUl^^j&En*8azaNpnyKeS z3bo;cGF&Vw%)Z(b0S;g%1iHy!l=t(L7+AVD!4v^m#Igs6zyh^~ zTUtf)R3*2jKy}8V2A8>y>ULb1Vst@{xhT%ttqp@Nq6}YSLNh0~OFH7Ld;7lHuN}1z zBrARS2o5(0x_+;&gNOb+qPr8)e}yuvt5$i5_sE2+8+VUy_Xu2bpIo>&1(S7LhdB!C zG5U>JCg+pCbxb*J5Ky&`5pKbAywBT?-rm928fn_T;o+#}aZ6z%whzywpK|fm0&QnL zlz7A3Tm+W+Ey)J^7l`(w_|$fJD0FDXN|8F6-od(EzSbz953g{~?v8CHUDhmm?GnY5 z$wys>jOK6nbZD?5Za5qYpsYpbxD0G1sUo2i5vX$}Cv_o$G8-|ELLlHny7ZWa5rNOi@`$_-^s-psrCzDAKLZx<3&CFWwTz^t^pY&cP5SWk|NnWQ1Vn|co3FPgm^Mq{eg8_ncpe_G>nqkrAQKIy+%=>(AIRg7=hCfigG~Aw2w!6*@2; zF5vcNBfPd^2K;O)i) z7IM^QY0JBpLS1Z9!2Yyla{IoFM?^A94%=YVxcgezNuOR8cnJ^>eQIfVViZsAhFDh~liYoO=PHtxcDW)Z)s5t=ax zW)v!rL$H~K8PtFXrQD=dbHwxCmkTinl@pxYb5~^{mYx6{u%m${QEIl9N0E?agRq!s zrgKC%$ZbD^L8zVh*s2H4A;gNM$Bz? zC0^t?|Dwh?@|w!R3C=<4i;8p-Qj4yWJ#+v!j9(Hlj&X!yDHw+Nd9!@i5-cA(jOJYT z1ob)D4+nC~PY~2IBXfJ8y=jiEw{5nOO=Rh_OXD3osmS%DGY_mR4`4u^r&#T(qW8>@3A1k8$}P|LbSK+46#EFO6nUnB+f?Fmke1h-X_WRz^^c1BbipJn`0 zX5FwZZIa8cVsizx6Ku485JoHXM06a-{6~zJUjv6__}y7%nR-cSsUN9}*9w-Tew?%h(2zpvih*L&Dpd zSYnK4yXD|Bgs>qsMgSqOubezpc~bdIm$4*KgV3X&mSV1Qz1&qyZLXa({-KxOdC)kd zR5L~WGfP#l3jGlA$WlRaE%FArL&^}UX_3a&&UOiD9?GQmWBhn5<*{AR%crTZ7(bB; z+|@*tI~(zC=&6dj0g@<(k71bw5>^ozjtq%Iz84`&l!~``4`X@)=1DyWJ}5WT(_C$s zFS!_oKCPY=UH~Zwy)jvZ+hACNCJj@nI$7FbQw(fhZwXHV^xg`&xff%OGW>lF>kG;X zsbd90#qKf2U1sp=X-s*hNyE_l_QVVZNw>{*wHPC=>VnXT2&sukOG0zm@gF*w>1N|F z+om7Z@I^VKE3Hm6upMorBrlJTtTJ9s(|F;Iy+am)LTM~@U5e?W`15Xsf=h8OPM5!I zUcYMXdTLY&nw0=Wm6fF|%zeea$&~5Vs5So9p0b++q~g3USx2^@>zD`DbO>4&b|d<^ z1*YN95mIRm_tQZTH3d5|VF0OXk=5G(wt=Nv^|kGf8{P3dG2b(6=R^w>2dM#R_qt;t zXxj3x9fkP1)Xn=r0HG2RMtQ>xj)T`;l84sWw7YQKN{0*#a_Zh0Ca!5fCs5pSj$coo zj+J+x&*){$_Va6!kV=Y!N6yixBD1BHO)BbRtn}`M8MNrlq4FqBkekreM}ekSqbp9q zyom}=Ft@xn%|)V0p#tF#&7dz;mGJb$I;5%K?JO{fDch?>b~Qnz1yTBr!lks_tzO2# zy{p5@K$ZPCJ|MaGdG_#}xOY((NJnL87O_BCsf;UJN`RNQQ7i?seb zoG_ZiwfX5eR>hAn2?}<7t0ZN7OUugAdj7hX&(X}oJTTnzSf@9rp)Jp^)<)SobV2|x zi8wTK#640{++U4Tmvc&yRjQMhL~&$H)OmZ`U$)4p@f=6)!OwbqD-n;qu?@8cFuzG` zG^EJM6TXT}6V`ni7^_r_v;Ed=S52_Rcjd*S-&TtqH&&an|=aS`stoE#4p9eX&69Zl+&65QMb-3eQmC4gGVh^1o9ikgh1Ujgla2= z=a-WHz%xRXE)rOA&AyblSbusP47+&NMfDLWGYuPeiiyVjVeXgz=jQD-cPm& z_x)HBPM45+cqoBb_AZ%doi2#ajmSx7&WNf~kH)fgsQI!&ddJqRC$_JSPjQ=o>-IX* z{KdLr_)R43=L9xWAbPq@^lHJ)!N%Hyha2PvlMpm>;bp2}dQ;%Y!}54&XLk_rbVhZ! z2YNo{dvsDcUh?L=!y3WG`=ZK)LogBPA4UaZ{7rVf3I5a(m zTZ9>$H@aT*PP-!9!0IYcMhH4H9_#(g3t9YbQ*u}%T))iFc~<(MQ?et(Qwi}wJg_jo zk+#Zw?ZosX5zg>q0i~}AId=ne{q?IhEul_od z2@rlDQ#c}7xk7e@ZBjNJ>VRU&RWpJVzkDjzQwb15Px|)O&Xl=+)cdriWz;yfE7uIgj){6>mI`Sew+qgqK*S zXgR$-0MG-K`hmfgNZ!t|{r<|m{+4VJJ7q(4^nrO^$U;cfN(T~LZEzo&`!eNZ^b6*X z6J8UUU_i_bX`P)(sz~le-d_ z=pI%)I0j~T{zyzvLXv*=QWyGWHz8ptm|+3nE4en?Ps_R&p9&& z%T@a>HG@IKR@97`1x4e)M9QTp8Uy+Jh~wvSmM@k?X2DBh#%n3f_eM9Hbw6o6HZ?t_pR|{v=BsK9!7$-YR)Ez2Jo5Z71Lb#%IrIh zMau>lF)wAvTATCC^l~b75E%gxCis0KA!@E{K66zfA|F`$9G8Q9$tNL|t*U|{nUP4~Wzp(2 z=73fKQ3&bs^uVC}R2AQG$&Xs7kja=KAOTZF#Z@2GbMjSMrSAGNzN?x^)ZewPY2JoL-ucKWAa?SLArvw3f z+T$_XqUtUI3yBu-hWljcHnDw61vzHT1k;Lv3E({@ql(QK#m3)r=mbvVjdj81g%tbI z^$sye%gAAOX5uD6a*1bW3`dl&1Yq2TFLy;o>50?&?ME6jxo6f+N&ZzU)KUG;Sz(e< z_I>wi>&rFjl$39=4ljw~>}&{+ObnhFJ5hrwm90cbOREE(WwO3vuJfcr${f4zYM)Dr zydd(j`1JFh<%mYX{j}ZJuCxASEsC8(+B2S#Ci;85LyNs=TQ>FORE6x+W<7~`BV2s8 z{g+H?(bjrP&(a9rHHIkX=wUDqwIbF#ih(eJLp!_Vv@!lJQUGtOSAt_~UMx;!qWKL= z^{@tu@K&`k#36U?v2aK;W|PusrcOx46UK0ufynYUrjq#}4grdwKZH=+@8w}c*t!0QCGM7A_1H@ZVWMUFH#YoH8)8^tMFwZxm zU_f)NsRK$*2db#$QSS{**Uqr^S}4RcybCxCDG@SYzA7FgI2z2=!k2@q5a=if_$n_j zfCY}-^Vorp7at??rJ`0So35sidc(=;+0vVb#3MSlZnMMqPVV5z+BZ9>G_g%nFXu#r z1SaL{M4o`(8ETxKD=V$vH?J1)K(pdB{9#(f`3ambm#`Yw(W6?YWo&R4E8PBU`>&jK z+{XRil&j4X#fhtAT|6^rcz}C%{rXaiE)#)m@0f`u&p#tai$G7CdT`Xpe-|2MH;|Zt zoEWd`?{G02$(kf7Tg3$8aMf9??0cg;aWO~FaGBIC){6wjPP@9fl0Qjv2=b69`V35D zcx!*(7ov9IG0RHzosM%g0zXsup^f3S7N;!Q-D5s`%=Vl$rQccsplw?`tVCXhbyFI1 zLkI~aax1y+shH%epfSBFoj-T1O5Y({sE_(8w@oK?1tX>ckmf+}c^Wzmel21VHAcRJa%JiuYbq_El5#_&*ToL7tH0(cy5C%t0h3!(@AhRm zf_o)W5$pau1(vV@NPklQMjd~ijSH>5|6Ipa7QNQmeY`tLSclbdpTC^SJxtL#x z#DPSDye`{qxmuVubxB$pOl2GetK&wq2 zU20`qGTIGRQkGl(xZn7Po92MSs1+R%S^|=hE0tkJdrDqcmP*}d*btTt59g#&#|48T zK{ZcS=NC&35e@|?MGgK@bPbL#G5lPrQFNoAq0E_ilS~cL2}^R2$}ikC?cXmvJffl( z%6Ec9tc&X(O%U~rLieN(jVF^LWSuOJKSLRZxq=?wkZIGGl0%oJp4T})zCnFZ8(T&z ze=z|?E)t#H39fX>VODA7Px69`hYhaGJ!VsNNU4EHCVF1n5HHd^W~LrT#I!jxirArs zIhf2`aiMX>kdRyTby0xz8+>U&P>sq}URl|@LEom-Be&E4aUS=I=2h)Q`bC4BC6sOgFNEu^OwL`s&W7Z z=$MjxQ%WyZahLlxwb@CzQgCIPr(Abpz9H@qs3PpgQIUThE_(E zWRlr5tL^idSCc?{Z$7;vqHGP@r!>V+Wd~y`Ck|rrp3ZHz71}`dxUS@bGO{Zf-qoHX z+q_17`&3?x6xH2T8Z>K{(4GXF|` z1UNdDQOLDdE|{8pkKWoJKDV)ipAYjLY zREt1HoTVf*5FIumdP3&5TM(W44))FKH2Gq`7g@}4Oz@<4eO$alApA1It6Jhhg5PP< zgEeT^SUW;tgPrdX5@f#cE>jr_t9IyBuDwY%hhDG9bUg)MBh(4>B;M-bT)#HD6U4sd z>WvO4eWWcl8bZ)+<-0}kjhH&deNHOR@y)bDo*Kim?uKHmX>`1sr+c$|hhag-wJQ8T z+4KzY1(KiV7`sV-yIRI-`0y-IkemHDEhaCR+MD!yRjYOmG)lZEzJ@Et^88y1RKM3@* zWeN<_CPOeZ^MDkEvW6h4pKpv5wNR_98e9OiVgR7TCYmDtpdvos`x)99~SF{2K)z}FOg3?#;;=(V5?YHw7 z*3y`kN4-k-Fklg*ob{E;(}z;*Y=|HMH-JIx0-+aRnB@lHp9y5*@6Rx(_U%zuq8F}< zqgS_BnWd5dA)XcFJF_L`7reKb0pc7E@=ttnPT&&;CG(d@nMmapRT+csq^0?oZhJ?k zBOA<3F5S8om2W-aD&*vLS^6v7Jh(fmCuN_rkDiqB?O!Z>yji#=#&(Nh;Ic%o(?n8Q z9#{h;>>&`1rNzs@_^XVf&20U0g9gsm&mQ>eAHREY>j)>phFP=d@n-I1gUcmCpQ(J9 zYQLsvRd2I~F6bd^s`(zBRlGwA_kra#as!}4ln@42b*l6EbEfk1amS3)6@-$kN0obc z9p6{x)QMwIcQ|bON%M*4<@_Q?#v%kQ7~zEBI1F)QhczX=91%;iafpB{LY;INNZyqeZk8yKig`?YAe;}=Ptn253T(dBWW9%6Pqi%}tHu}BecTN^eWrW!*fw3G4DjYB1 z6i?qQg`5_C1Y5s|Y{squHEVv=WSg4RUrP-bucyxe^UG0yDN44|o7vc+uES!bJcX+2 zaWk~1xnzE%OGtoR^F7rrMHRVmy=tZ?r_U+&(*P!O;2R= zGMDdJUar)BSbsTcy zJIO?v^$3C?6@%RA_Qg86s=;satg9U#lv00F1@GDIb6huFw>*AV4yjoFD%)!77HE7O zj=jpBrMttPK^WKOs}b_~mJ-)fX@eXFbZARs5Th@i zpO2^a@A0qEySu;7`$O1!6X5eJ#QTz;3*G~HyZirf{4@V+jbCWsuh2iAe$V*^`o8zR z9^QX~`uY0=yvO~uHXtP6XaDZ|-v0dR=VXA7ub-FKPlte?O8oqPg?V@W`3Vj9XRp6I zzKig7|5wSohF{@+<{9!^>8}lbe*Wg~{yUd{GyOFk81gsZdkFvc-G54O`LoR*`@`>d zhQAU1qVP+fr`La}zPInw{y#=;>|C`^tl)nMrWBlUh@AfCe zAN%$6li%;rJB)wD{Y>#+&)*OK@cR|B`gZ|fiLxcWg{!gr5y|4SPv;1er zU!MQr_osmWWb5~{lz;jCUjCQg@3Ox~`BnbkfxP~a@^7X;Ejak^cE9^yL4G!Fzt6(| z4@*Gkf9my*IsfnQ*OI`Hzc=jPEZ-mhihj30q<-=Hqw>!k`&}d-KcAnXe|!J+{AIyE z`TfrO7qEBd_v`B8_DB7H75e%IzL)Y{$ZzkztbBjJO8x}?v*@Q=XyBi+{x0U}KKj-hi`Tu&W{o(t!GVi_XFNfb6{$7xGe(!btpEu7x{C)@g zTlk-GLj8Yp`<=sYA@AqU^WPWcKcap8gM)sF{=N9mvY#X0-~9fQ-7ov~()q>jUjXm# z-T(6Yt?}3B*ZqCBzkB@t|6hLp*gLolDgf+DvOm2MnTdlv(yq-2X=Bgm!#g;;Tf`4`p|6J@QvLZxv!v<^^dFQM{o@etVYhR# zO;+^ueAF|wA_aZnmtB$Wk5{h;@=Oo^qXf`^a1(w-k(EO}q_G>q{N z-}8kcMB;}g>K5xwk%7hU@autvUlB*6D+Cryy&`^PTmwHh_~aPQ_8mXB@Gt&4gyBj9 zGthuE&C6xdW3!0Yz)$_%KJlyee9$GfDPzO0oY*4QU-FpZh5^6L_s|&s(mWIa!>?(7 z-7Mh0dZy9yhaZe-8zf==Q2w{KvHo&|1(Q~Wv0OUv^?GTs!8AFC|I*<`f48rMmG88M zrqeJ!2uce(k-#J$rlgBa-!SBSmGMzoU^R@XJZxx96WXCwr7Pw?frx;y2pFulq1CZ1~L)Vb6ywl=un5KR@x~rs-1@jQe#)?5{hx zr|~PCTi9_b67@}K6b+{M10uA)Z1g*~d)i-W25hh6d~IC21ze%%Gp+FW2t1A79W#OV z=5^xNDhuvvN8`8uY#sIGwKz#wZfx=Wz&6rme6}!uJ*GvIV_S!Pxsub=06sslxmNDX zo%InGb~=bocICgcKV-z{%AMl*mIRXzaQPN*7;NqiCpxazQr|ELe?4oXR$dix92vNo zGf36(cwn0!{NPRxTttfk&nf z^@P2R+*;#TQQE@o7ZI)PZ=y#TPnBKFA?t;OU<6m1y4GK$oyi9kpUgHp*e&N;FxxA) zl9Ewgd^@ErZuoKI`PpjyojdXOf|BppN2^TY9=Ef>oe8pR)BN?QN(#P7B;psAmZuT- zXDJJ`mvN(bMj4C573_|1<$us*so8@2Uvy1N#)x-noP&gdU2hwBOj6x{V5q#5{UfUl zX;du_cgvz6jk^D#NCLbcm^S;B8RGY1UBUuC8e=%@oO0}i;B-Qs z($GoM{oIWy5NG3Ls5e$$H8|Y;-GmkLK=_PzTK((k@kAP(6lyccv_|Si3$wVtJPw8r z(cpjBXcU@!$Fc(E$J;RTSO?NVU?6p8R6<&l1Ti6<>^j0?+e*B%oTcEXA>70WK}CD_ zzbYt@2H0bwJe-bA_?7V}kbG>tQb8&-=etV4PRM{dA0s%q&~Er?qszIXl5;J~d_iNd zSY}A8!JH^e{4^Vy@M961E!D$KblNKUAwqK#DCc$ezqg@k$2UaKuo?aEYyY-&#cSH1 z@N3U;cgKmSTW+fNXNcH^_}-t0m>nxLIq(w+W_A`p1aA^^gj=N^!dim+ za=SlMJd%wAGr^+bsBZ#cyW^uJu>z#GKW4TesW{ zNNAxu@FQbn2&r3I7aCx>KRcFpL!m$zCoUfDca*i%rNGKU>5iW{j^$DsWH(gA<;p5! zVT*<$ge0Wz2F~V?7B=aLA7z$>Q`TSO_xGGAo1GfJ(Qqy&0yS;g-v@qqUNv767#x(R zDHML|UA$FyXIUok(|pk~W~UsXXt_48(IK+SLO2a5F|FP>FZ;{i`tdYRztc4RC+H2& zb{8UpvcOs|EbX5r#m#^w>iNJ2J($@rlyToo{8#ubnj9oLhW}OrWj^&w zFgrF=qh;wSV4dj*N2qk?i2!9%@5YHyE$>oH#Cx?4R1On^#;>%y#fP25Ir3-Ie|wqRcIb9OtfWBAlLXY zl+_O>ejhZv{I?ukbMN^}8>mjtHhC=Izq2a^f+MuCE+|wUnXT?P-Cv=D#L>d-e4`ai zJ-V$Qskv69^Pnwv+Y04j`$2iI(2Nc&l#*j@7~E|;3*!Yb5M$htcHnmwZuhqoO+Hvw z2o)&NKSuHK{+6ONCosw5uw8cL&oTv)fNJ)FMb^jGt7{6>Jo%f4i9HAwwSh-P&4Wt3 z!npmQXyPa11FghwvsPLH-Y0(SrO>dWt@ktU-}!#L$#WvkXRc)5@%y#^{<`2p{0Lxr z(m%j&i?p?{ok-clATAs&wgf(k`iUr`j+*&hYa{6x$(bHGPJiKBw)!I~*`x?gG zUUI=#;r@xA(nB7(e8W!{O#T6WVZ(n*B6t75FPk!>c3?$i;g^Eym&R{vh-kTD6@FH? zn?8onqA(DjIC5b{m|gkYy<6+NIVI!JjQFLF4E8A>&(>}M5`KJfLds8C=Kdqijy_31 z?0Sx23P~)O|6w?HrzC$nQ-AE4YKnK*LIJBK!5)kFwKL*#Y+1jj4IgKEWcNgG=0@Cw zCFStLPuRO{grJ)wNKSMbYA3#cXo@;+I($q!Bc(W0lVV??9wIiqg4_pt?w2IcKZhR^&v z1$GM0F|?>=F&|zJ-O&&ia!_5KVptKM=IdvUPW(^+;uRW^q>yn$yq01X=EsP@Y7KXw z*r^+oCR~h&5+1c{8u+c-GS()(83gfjY@=m61HW}Ne)#g6O72TFRpa_cPyQ`_cRY@W z(fEn6tRiAzab5;hYkGF{xEumMC((BbV*H6SARxV;CIN_fskA| z?;l@54>fR&%pLu`?HR?)QgY5fuJuWd7Rkmw|w7smj`zE4}UO0Ucimn@*{9P zG5WY6qsDt_N%LN`bQvInQBwAZSLmQ}oNjUbz{~7MxsZ|M5>s?=K_bU%fQQBNo_QB& zlJ&6TOVPLVi1x<$<-z@Pp9=EE=8TBWl1l2e;r{%Cooc*-Sx`%xe!b$Iwp`WfGQ77v z;TA9sPzi=6^oaL7kz=z!C5-^$MdK$FHVqTMP30Jf{CUUE-Tn9~1*U;`-l|LslT9fl zQKfsdjDMs35By}>AV~I!-$ld3K{7J&>vp-M=#-G+toJa1Zm_>pSsDxQb0RSnCj8XW zVs%eERh3InN3@T|dm0U^WV&1^EOXnOb-nOgYDVT|elo?Dgd0C`cbUEIu3HDVo-OxE z1UN1JE<~j-iVp|4T)Q6~GY;1uDx}`=5+o7-GNzXCKOVZar6&H5Jc;K2tg-}e{$Tko zHi2LNfn)lw;qqDb!R@llg;>(d)RE$t-Jy2zC0}v`V!cAo+-N+XLkfw~ikzk({1_aX z=fGt=EQ451%dGaRKT?46M57&@AG;#|VSh-wHY?+QxOvt+{||mx_OQL;gc_&Al4H5$ z5ou)p(o=E%!cS7<&$Pev0O7s;rIE-0KL)w{D1I*ZE0X>~QeE5L)o^0|Ctc+OPXfR7 zKF*_fBWZ*m184KH<5wk4+-jp@g`a4lq$eT}o&VN<0fw8+B0vBD08&l>0C-+>w*z<` zS`#iD8;#M}YS7qdY}>YN+qR9ywrw=FZ8pi@rak97_rK3wdp}DvYv!GI&8+=w+vF>E zM8}gdmFzaVzQw^cM#oPW=P)B!9E&lfC7m^Fi6Pn_s|>YxB*j- z=-extKl3AFh9&Hi3^-!$t^o6X7LGt;AHfY>fr-eCIu2nGVDRfF&FgDYOzLh~@3_U6668V0JtM`-N8!lxWK}UCD~25)2K}?N#)y4xt1EaMKQ?+z zzzcG&2~@`6`R_r{*tJ)FtY&t!CTjjhPaXWUn?5H&b9+tknwmDkEi+9_)FWWzt>-ri zUwkpUdv3;qoL4+P8+9{=Y%z{XckaJ8O|U=^CYoHo1MD+I&T>kMQuo0tKC(hvoM$DS zgk|d(T@|HY_iL*#%B(uPt+V$ttty}>lw%!#XRDlE=d5`rWp=@zvgtWImaNrsind15j`}*CFLK<)Ni!ayFOvPo=cX$M zktZN@(4%cETKHHB>FuEW?BGanzU~A8Sp+4KhcQ)IpEZkd5Ibe5Htl|auxcGThX7Jt zL3h|TcnIqGFBkAgwk?t79A)}HLj{1fonXbG>UHi|P1OijS=+~QbdiokB2lEYrrMM+ zO~w|;x~FIt5$QB>iR1?86L#2aAHJM6OOvF|%Ykw0rG2SLa5F%-F6tOtTx{ZM%rH0` zf>-8K;#jY#=HNdBfC1z2?+8_lrMG<6FwAND);ZXHDP{CF)CXB>e6P-SjCan;UO_d_ zcZS-W8sOq(HEq-y%obKG_!((>zAmg)V<>y1GPIY_CC|8vCCe$CH>$$M9tkikF~fIS zlj%(M@I6p}+mD)fNLA#(s5WG(mmmnay3UwdF>?k6*L>4A&SjoP zJJ_`NP>zX4J>)j)$(-Y7T5u?3=`LOCyO>#R*4zNgAzPfEyniCOg3Jc4_7(bG`;@zM6LBQ{~rqh6EsO4Y_kKpsD`j3SE zu0bPgs7IA+h;*v!gHWy3(MvR+jF9{!&uL0IYJKSn5vg=}_{|Vz*ilrw-9m@8v5MsArmH0eWL_VK(B~~bE7DoA06y(azLuVa@=9%iP?tru8g#c zl4NpTu8zO#x0SP9c~r81cH5?XnBUo~?-dcHJQmm;VRtf`H|N3;c~h%1)^+IEc%2wc z^)E=%<+ro<9`g89nz7XRg4xpuyqMW*Gpi*-|Bw}O{VB5VDu(SGYS}?Z^n#J%+%ss) zCDhVN*C;btEjAHmw^vXTZ}B8ZpZWA@=yLRHs{k0e5iv$U(0p9|C00LdM(HgI$b&`p zCPxxoQ{zu;=|?yU#ry=t+=Jdu$MuAjR1B-n+lt=;A+2IS1Qe!0P0Hp`zL!uXQfshq zrt|Snb{HKnKx1dr(c+DHGMBbY0Xhf|MexmzRHi=kT^~5Wr9ea=>97my{_rek2yx1* ztwUiRf4T?|dJm8C`04Ge)&yKNoNDW`hZpGu?fzi$x_g znh@1X)atVaRRW%CGA?*@Gv}maRg28#gCaNolONIo{v`;z8hn>8mkULwfMty&>f5Au zz^*KMSFCIyZ+8YN{3^U(gt<*}&+4-##l`$^mTlQ=BnQAAZ=!a1CUrHu&bRFbio_eQ zX!K$xzqU0$1v_7TPh0nI;luHjWiVBYlIq>HKTgM=Zw|uSD@0-yb5b#$D{1ijk`>@p z)<4n8;f|q2*A#url}Ya}A&~BygfVL&G7&7WnUode%;HQCJWK{C#t)bkbU}kQgBp zEIBA`@^hMiqczvV!Sm^oQO!5q%vW# zA-C~etQzzJERjlMyEU(G|BeCk-_}=EChXT&11~ zP?n8VyJ4=8ar#w;wmJ6?PDeF?hQJqqfDI$3X)4-?HZpi}B^uzY5dK*@sz_{Fy2;jx z@{&2;?2ASQ{YN_q=eFk9kQK`}Ja@+vbIXQeomc`m{Nu>!>_tx$f$xf6SS{H1u-TcR zWWQ(hxk{&&RV!1>FDzG$wAT;#sRleDZH%c8IR=mEiyM>$2F7R6YHx+Ur0(5 zeW_Q<{D$=w^y69Jj9roK(~e(Um_VErM0UzsOw}4=q9p5>R*HvV2t;r8FeFlge?mH?QOy5>LWxY z7P@nIl?G_sD2PXo-EK?oou#F&3O7czfCOH)gteiIJWniH44ZC-Dcb_RR?S!pFCR{) z)fbRyFi9v}GM%=ae(BRI&~~XDM&(w<2uq<2vgHVu7l}7jgPpk^lqRRe`Z>{RqL@$6 z;31!1TISRaJF~PMo791yenHu!#L+g~$^~#J za+K6&6W*iU5NOSq_yXj)i+J!(3Z2cKUtgs8dl0ER` z(-QP%81o^=L&=bybOJ1H_K5PS(1qHJsS!B@KyVRb@+9ZBbI+Q3wZ^vv*d(j<`11gc z^kw~S#`f+o zirM3fpE0zgetEeek2%LkE1=k`P)1$A8#AnaYDmf%9WRF$oRw;kE}k-)j?#icq?G1J z3GFCMsy)ofKN*>fwLJte^r)HP&rgts&cpsmA*f0U0V|@tw8tvGRjfbp)R`=jsZ37! zKvOju!7_3s*i{j$dGLri`5@F{Pk-EE7lxkDD$uG4*+Lehvg-o}Iy1)Sv6m&$TDHX1 zxZ7jgD0E4Zjg{0*pinEE1nTHD zYtQFR#$qMnG{h4Zs68Wl!f!o~)0y*I*j;Bh?an5dENY9P*rK1%_PZlobtc ztv|9!PdSQ6=V13qGDL|*sC+)_<7muL3_?I#TSCm2Tu(4Or}P;R9u|nMe9k6BZ@CQ3 z(x@|@R%Z`FS;}kPk$dI^dE=c?xU=eqOYN^9iu1l)FaCE6JRYo*RvmM2NX%vqg-Kx8$r2VRpMV-B>mW^IA0PwU&mC6){r4ElPsPkG>7S$6`lSC+8OH_1B+0{OXGW2}aEd#Ue!?e)^=S$bP`AVO#LpE48;2yozM?h;3J7c zfP~6;na>yJ{=eAyeQ({K zY5WhYE$`S+qG27_(YoM42=_Qw@Cb!@skW74YIgEhvaHm)F3un@rY}Q>_*&{cDoYS& zp4PSAKBvjU+zQ+QwO&qpZ7_k}MlHbi3Zq{ad9CAB?j7Bwl;6UwcopGjni42LEr zYq>nE`y|b$JK%z)hx`F5PDBxeeqC{X;%GQ#@Pz)wiA(}+G~pv=q0IYs8Pm?btW5$< zQ3ztX1?JB3OtH-CFUEFjGri#f@F{ttBEmRSW*zYFvM(V;sb&QI^woyAgX+eyuFz8@ z?uS9B6vax*6po3mR9`%`r0`(Cx9De{JEG;}HrNUvzcM~kiCxc;-OdwAnf6|R@uO+d zvvvhwbc;ieOH~-nS`UYSO@V55!1kaFTY=;iARRvyu;(7`S|2s`9HrszhR8@2x-|vN z^uxRf;S(AHTI&VF@{T7ZKxG54@aE_`^2ipT7E=nPoK9RSrOYehd4uZ~nQR5ml{D=|mQ05jon-oq z>Mrb9lw0>8Czq~=KDvNL)y0cub(D>!-Qd_>1eOF`jlR+rLiDHHArQ&f{>Z8+zoLy*|4~>eq(v{W2MoXQtdMx;H{Xjo{UOxiSXIBHq}%RZ^zhOJ3h{8X{+wI;G%) zE{osPdJ8O$k)xE+(4wmbVJBZ1WAjsZqXI;rqnb_>u*lroeu|kfV*nQwQ7M&{u92z@;YtC80Y^hJdw_=oQ>y|6ch)N8 z35hudrTBqPbx4@V9?r3deBzahS{#h@nS+j;&xAL#B#Gm>kY;3k=2Z2nHI>F$ zPy{jbVm3KOd|%n5hu8;YSR*n^O9|4}7ucaT*Nz@e#&8rat86wiDI*qa1HaS~b}K5; zErqYwNtYeJqrNRn<&7z7St?3?N&c2!V5F1V`U!djkpt9ne+8oNS;bm-nAUShahADk zZXnLstf31rPeOGgDa|=j6fvfjqj);a0EJ!tTs9ni1Sy)4US3KQm^Cjln4!l8lJxC? zk)Z=sOt7Le?Lr$%c&}Bb;B3xUFk{acbJ5h#^D1^gx>t@7g$y*U$ZlkEX^6yF!e)RP z^VG)SjmT+NT`v?Z!YQG*h_fIa@@~ziLPi~_5zSpgsHRXGL4@M7uiaI-s*hf7OaYM^ z3?uho6M7tP*=H~P7j`aS8l{nCe3OoV2$3O!!kCvw59Q4Ju!p@L5LpepH9YO)sZ29V z`PKLLq+v5A_Y@pX#ev0e&}e9^N7eJ?zmWB9`Y1lH=-s!#IA znrOj>fUZS0={)TrV1`5KE}4G%Q-7M>Q4*SyYb}gTTO_~td@HlLnwvb3G>Fe=BA*=U zW%VrMxbL(m@}e75>!*e^A9vDO5K2J9a~hJL!|O9IgH9!Rhgva$bGRk7G2na`i~{>+ zup2|F*`BMkcxw6-Wet0!6}K9|OKjaGXDe-GawQL1ts$Q^2S1VKx^ER>iKYXv8RL4FIAUc~DambfyC(TNU%$O z-$_bw>0)rU!sfEFox89dMLewLpTwP7rx}F_9w>H~nsZk8x|)?~%YsGYB~8BUQ4;7m3-@V9lpjAjtQF|i|eQ`1T)473U& z>m%dB!Q$vCZQS<>n9w@@>e)+1A=B0)aPIJmpehRo%%s=_#ef%JD8xb zH!ZQCJ2w(QU^X04PK~m^u2{m*LaZrK7V(7#xr|QvK<>&|3RALivYgSgS=miVv~(E@ zI1p8ht=>-$;EE8l@wofS3g#){p)rzcXJKS7VC(G1GPE34LF5;4sOf6cBnzrc25> zogIc)f-eyikZ}ZUOw!uU#sxeG*|?VV4J#%gqC3uXQY0=rG*lr{*HqG#IE17mejsx|p|CT? zuW!y;8t#HH#s10$Gvjd_@z)E3KDQ^K<^oq+Up}!lGVBN{~M|}qy3=9Cxt{fSv&FIn~EAP+~144}r%_}I8l{M8yxKRaVMG=?RWXDBl zS&P<+R|*o32&QeF0yxUN-q{$9VSF0IJdhj4i~CT8gCuX)kj-VxZHes;+{=TJ0M)r$ zE3I7VDuaxw+PgWyzVy-v4%K0H$(jM|mxx8LXbDP!rej^Ri?AEA1e`N%m-&ii5rl>Y zXFj)=uwO?Q4~`sjR}|9Q&1hb(ETZxAa}R=Q3>Tmzd^vS1_45*yfV#1vYa?;4Xae^2 z8qsONP0p&nk6AZq(BO0kJu{sRevtb5K!RmJ*c4S4s_a{juPSrQ@Redz30ieMoQKK& zK{F0diu{4A;w$!PwmM`h(_=#0bxkhk415SnuMFRzxRR9FW3^z3jdfDZoI84tmYPP9 zD8-uqXHGWqIyhHq8mgyUEm6R@a9;%^s-wlIF=NMUEMBDB?CAPLY^<8K;nbBVbI1ri zET;Cs_e1_ko2q<8`>n&-XkWXE)s!K^XGmM$Ady0<6Rpr&TiA_UG zMUJlxw$8Gjxo3~*iudW;$rSC0Fs|R)zf_6=Waf?!V^g^of5MD*YrU(jM`z97enJ(~ zxl{46*=WgBipXu6lu<}>hkQa$G5JDy3(P%!wZMdw4Sy%Yqusqzg`W7r5DkH2XUF{z zIFRzxryF?-n&+i#wQJ+7%>`v8jfuY$;$DC2RDPk5omi|f=9BvADvm@ae0E|oqxu?1 zCj@zdW$k(#`}G!}%^}U@9nLW-BJ0Us_-Gqf7bcZ7xH?=vJr2G&*6*l;bu_aNwXV@% zLrb+9slkxjbddL&a^6M$97vmrx509PgUS-`Wn}E>8@YUKu6^)V+AvX|bM8Ey8$rnc zNdnYrr=U;@;zJjQU%&4YjK{Ss!^6dl3bs5|Go4FopuoD)JjHSV4*w#24mtnE{+P5d=b8Nb$YsclRO_!*N(bQ3mCm0xS6Ybu)< z6+>i%UASZ^KGNTp@fNXL*%nk4&66v|+5w-)#<1&BlEZw>##xdgJdJivm=RqADewyt885hD;NVSRoFo>cJxZ0yfFL3F3K1ralmJT`wB6QvgP}=F`nr=RWDfKzBrkZ zoh5KiviX`ZvE-bw^YekB9{JA!M1=v>B!v;;dfqqD?nCfwRs?P5_ZhGm)Uk{0fYMQh zJU`&@9>pUA?oXUS8q915h~`nQ5m>C=lUL3_8cHQ;LhZP3My-m^H4F)bZOkD8ZX!4y zy}S37$1)Z0yHgNTT7=Dsg$tI32&>$g&6O=_`489xWYn^F7eh$vu8WiU@dM4DW^pFJ z-bK!vw9mYcYAP$FCSD zy(If2f@&Q;@j?rC_p|^+F(sTF;^X?g#>~70DyxA^A>C72Jnu@xPjq6ezKsnr#&Zx5 z64r*>Hqdg#OKI9)7$Dg+m<|cC9CfCC;A_zVc*44<=rH)v1OV=E;t{$?6@EuD{T01U zu~7QWO(~^BqA=O)e626G?eh{?hM`=9mkcCj>Pl&i^7`sswuvaXuq*7V6>{oJhXnqu zAm}7PnHZG-|5WLn@9-h?PNm}Bu(K@D%8vSsnnxx*^Zhi-=lGhO){@ODY6-*OlWetG zy40>}1|q^_qO+i{?E}&@Tbx16m?26a!l~=%;Uc*@&3xRpX)AL*EjaiVH=VPz2qNLk zI*OaFmZY;O4%xGlp`qz$>$EFl47C&uF;?|!?~3WfUMp?!M$=qYYZWd|*38{R-<}6Q znHBqn8V%XN4GamiSVE--pCds3pgJ9TH7!M5PUme@z&Fu|k*9eQe7?_SFT+c-YG(PQ zQw#CL%WrgyD7cvlCk+Wj5OfD%6bNZhf~z4~ggZV$?8s055MCZC-Y?j0;4Ad$V(*Dr zr9d;a4iyB^@Cu-UC8LH--ZO{rJ)z%{#13p1#9G5P($8o#*feFM9Q)ayKBNpCny8-W zS~aEs&uboW-Ex(>)uj%zVVqf(M)Re4qCYom0K+RnM7EA!1p*p zdhLD9RFh#~qpDxeoJ5(ej&)BS?e zb7L8}=@DS&w0=+$V4F~JpvEwNWG{1)DZIPr%gvS}RAG}vcVl?^k%KY{+1F4n_`(_ktG=(A%FYZoTwUNb9 zMF`p^RJnOASvAOaW<@G`Ny~Ybx~M~W3f|VoE*ZqGT}zH|xogLW)p0E7*e8^r(8NjB zTM5%;531n~Zf9C}FQz@R+D51zCaEILTq(`HB8BhBTyB-7pH&cH-DA+l7Fg5jS-T+- zm@eFDX%cOj6cwSKhA(?pF|9}=T1hwi%_HvDq<8o+SRdh{*wsZqQ8IoMaJ6iP6eVCQTG#cCH&`(;N{2gQs-uPfd3n8!rogN&PtXNei- z7o|%6McK@7X^CX;bZ^oGtN=ok!*A# zw%*6~vl$&|Wob~L#zId6=SltF2%yD}{xT0Jy#;sL&D{ETFPgGfBrHy+hy8ho|foEiT-T`g*)@8>IBa1lB*C zyN+~ML^nAdZ(a?=ZbqMvYwJ!6P@l>w(IG`lK|7wTO$_OgmDw(o_82cPbX}P7ATNQ+ z?8OI2d5R~`HFJ1r3CTae@psd!b&|mmY#Eb{!fRT`9>I0Uy{;Xs z`)HPZnn{cx8m~|=z3aiV#4tzPbsu^5_p_1AfJ5@&3`>^S0z)0gBrf40))XYkY;I)I zU3z6|v5_<%K<+5bRzh~m7-`ulzI@r%FRGro!Pvb~e3$Z22EnW%nOUUY2z>x)KAJm< z1+e!tPuA|qn`3;-!|t)piK0e{-)57lAHP1;`F2@yN|YRx-m_R;An+2e5Kw*1z0kw!p7WUW2@ z2b`uQ%vg&;6VV|Gm2Zm0$PW5H$iU7@{u@jD}P-fYnCh}rWHt^2lAIC zY%EDyl@xGu4e6Qzn|S-_%j4w@cXDW!4pW6H%%V3<&!9CDy!5|_yk+ti3O}0I3=(k)$l8^ z`^h!NbZ~Wkk1oT{-5m>j^x;vA&Mkx_1G6*hl9R6r=KNRNc3&Bm*C&k(1ggJh;t{5o z+s?AYk+Ju_bW7rwiBB1SH&7y)4O6ViQ1M6iGu$MA3Tv1?9KCEY&oZ&JMq-m4-38R@ zQykO>(8ZG6!r1MLv>Zlja{=BWEh>64>t;v6MeHR?du9@zK&#P_4(^q&SQP%Gks(FCwQyoQ|c7V_S$$+o(1kCm~>J zvyio9ESMQ@p;3wzaYUu()6`XDTKv@cy-2L%UeboO&q~StAp@ky6|@Fi50E>@Y#>H2 zvwdo6clU;t6VZxu!@TdpF{kZ#&WF(5%-A}KOKaxXE8Rl5-fXSC8B*?TSI-ORsQU>% z3$i-*6wy|&$hb!@4;2n#qFaqR7h|=c0OxT%c;}7w@f!NOfONlPkMx&l!<^S}-Bfo~ zRsP<-FQz-B+s-NFL*EOX#-&yHkDN=}&IY#tZU(vvB0XJw-CDbyyP#5w`r_@pT|E0A zP2SjcCG4Q%ykpc@Ie);ncrC?}!#^S~)P>!TP%B?6g{9(%QI{tuzv0lrDLkc&mc)$T zlVHjW_k}hRX?~KZURB#*5D|xf*FuH}=DrMuP;}y!Jd)eaJsoxq6ik4)&Q;mRjWFA8 zpHUnRuDtf;9mdxdb__jyuIL%#m-i*YCdm@gyjwkfJ1vBdwL!2J{_YIxr#J_g%`6f^ zh&D)T`L!guv{53MREi2o={gyT06=LN@%+6JyVW)fEl0&Vk#@LX(f<(aK(scqs2(=? zzRSV`@S^%*H}$f$=^pYeuiTYvgXVASs}sd2hvT0G}K8Q zc*dZehZZ)gp)FzBUlMvfe4;51z%$XRi6egG^xGGdXh0B5co~Q}Z2TO~L#$xKL5$$g z)U^jJ?49^rA3X|IJ!QTO<9t67n`x$BA8HKWCO@R+%#=xfOlI4&Y&jirJ6oU183dt< z#w|3+)f(!R+ir91pDzRi~9}0$}gV&n{hBL+@rBTiLu6C;1zT%jfbG*22 zZP+UinXRrm0|_SbMijUPYHSHo&4)`PXb5jn(0i)zKrrb+SutZ2PF*B^cV zEXGI`Xn~qVE9CGa%#zfUcS!d;Z9rb}0Jdx~XlJ>R_;iRl#7V4%IBX1i`IHCASOh{? z@I667q>Qwhd6IOE@zKwMK=Zs@H0o}hXYS!p!wHD8NLvQMS}c+)}h%*n@{@3q;nT+@ipmNee6BBr;yJ1vV86X`tl8H{J{;NJrbELb`CKb zvosSbPYTQ?QdxyMiE;06Dum{*fWgW`FmVGqU*2>m6e-%(dCKZHz1%_sQ~Eu-YQ`;+ zc9*e0r4qO^%abu`LlW0d%TPw<7cRY#G3$j)Ff}A3Tomf6^7ibYD@0eMW1ZJzH$W7^ z02=7##B49H7Tf!P#T7d;iJn8e`qrX|a=t!mHEE%tD*Qh3F7F2KDeQ^E3vG(;CLxr^%2(?ADmS zXAl0o8mf^Q4|w)j!uyV*PIaq_j92T5-t(}(p0*XFr8Z~T*<|75))d|@3#la9LJ!=N zMK)xFaN0Khl7mUKgqDT$Vt05wH5#hXUH3gD5%HReEc_=})NDl1{KbNRW`UA&j%@6$ zj80iM09XAcekV~uz^Ro+D#oK6J^)ZhMcA-SQy-4_I%NO9-eYH;g;W(S-T-14T+4W$u)qhp4inDD67s% zr{LYX0f!Pxdi^z!dU8lc3kGDtpA(gIbdxxw7kPZQ3=YdU04_`U!}gsBjTIN>F`!Ij z^_>gsa(IELd(JPt*^%KvT*(#0cc74H%@ZKy@gvp~VoSTeD{~%e@El7&6|II?2kRDb zFl2qDf8U`E3m*Z;xTYq_TZ8Ng0P%XoZ-guNmaAd$Ikx`VY?C-Kv|z^y`LGcmj+ltbv_Znm>&Nrt8T3{7@bj$&H{4#D$3Rj zdtDqsMZ%dW_NAGWQr@i~oz+-1SXQ#l^U^a(k?N|bfu*c{;A_)HP>I?`O}MI2q0slV zSMh|rSFBe4FFYFGxREf-9>n*(d40pA_VbCo^y-(M^}tkkuVOJ{@ti(e%<3lc=m?V& zH~PhJ3a%V7oXu+aUfc?uNYmYkssnFs8-fo0&|@UkHuT2*s^*j9E1EGtA5rIL$*cdo z(l1iuxfJq5)?%3S4c--)6nogCJ^81}++^yqd=R{6Halu49c4+TZ%CW>PCJ5R$2-jU zgq9zRVS#xIkI}m?_;<+q!(LQOf4aFIY%JZ&G|ul7v^S_JF1Ks?WCKY$yF}@8^~G=K z9Q5r_07a>4Uqreh#9_3G=I|yPcPv15O+#XQzn2!rp#X4TG~SvVo()M#xuRV6V6PiLq=Qggz3Ow4f0AGif*7JJT93%*-FrOGM9zCI6LVG4<5}u6C zo6yyCzGjLFHg%>1G2fJXyDu<6EAptJ!qTx)OZ8@8s0rM~*?Gj0whk6$mE$i6( zDdt+uF2lF4R;6)hf8l37g?A6-gneD{GwOsam2#1!s8E+}idI{>$sk=8$zl4CcVz1~ zXiC97E({2{stLz9N<*}hGO)g-#-r9+N zB@sXN##9%$qfT2e`BnY5jJFio5N!co22vo z_C_Rr7h6A;UBqxV@kj#xt%3R#ht*nOEj!%yI2AiHmk`Tv2Bz*tdjCbsMv0q;*0IVQ zCy#WCTg3`0R0Ak-t??7oF;oxB@ zb@`vw-(5}9%_T?%Q|8JjkueJU)pX#(jiI);Valvj-kG;i=5Z{>jPysmIMykQVX9IQ zU`A#{d?_nwI^1bkpOLCjy9C4`NF_sAmf%mM%Of^nN0GWcK&;K*E53D=fslOqM7TF~ zUG0dZCzr}(abu#Ujzk|P4#H-Z5Y|xkin`&1hgwNdcAVHv$e7+DXjPpTNar}zxb}>L zrv}qU{l+@Eg7!a%XQ@XB~HvfudP8&$_4F^^xeiv317SNY%OGPu^Zxb zgiY*beodSOt|;AuIoYmL87JaRCL5naN+f^Fg3;-2ymQ>NL`CNekvm*k+0A1!Qyb4g zEp15KewIt?XPayc?lQuQn>am{p*wi0*R0T5h8nM1J4Yrxbgw^mdmVyw3}bjjuoSna z+IY;o9t`(oY8>IbuWkZdhPbr%*B{wapQNh8FRWzfoy;&#y5DbTMG*?VUws#(94}Pa zcY6b3DCXj;?%0Q6Z?C7UI|ea%R1_#2B3KY5m3tCteeR;0>{M;wa`?eI;KI(FbjVd* z;#}JOHo%7dc_2>79Lyw}UIvcW)Fm!PUm5zVACj2|gDq%FG8!3^2jwSS7aSO-jS}lF z&%_svlbN9(L}rlp4zZ}DrjcyV2o}5!8Z5IAU^FB*!t0bO&c1#en@SFVS+|!zP(6q9 z>XT$q25Co1O>(ACa%UYWYvj-YQHF3X;Yea=zsZyAiED1xMw&#>#Gg$?27naRO-7r+rkj zqex~|MbVcscE-KtJBxwSj4D4!mas5uncJreP~KWBDiw@XN-1q)kSL|*Z)v%Q`zla0 zbIqLxs9q9mc;!YjBG946)M2%+PNW&-;uOnNk zVP6%ux|RN|Y>ih!>idw-3!rVsS;LX!A(r30ux6m@XVh<}T!rL$qGr-eNuueaMREra z0zR3I$eldL2>U?qXR76UOLq~l-3fIBqz~2nBuB}@MCHvO5?nOXx14drcjQQ|ReRX7LV%pUG>o4u4*oV%Nf1v=ENV!h7zg&L!L zh=KqHRHZiMsjU_#s!YB~2kM|-qL4=JdFdCuWQu2)ZVST5h8+Q4`o?OH`j3pWAED(e zoWLdyocI#i`-ao1(>!`CV{M~9Sl@JRdRI3J5l<2*?U++=aTMoKZ`VcTgVamGluCBjYGmXK`R@ zpS(?CE&-x@_k4dSe`!mZs2`UEe9jdCuGAqW2~LvWg>(&tTvb{xkpqoG}x zwb^tp=K(59_ogT$Nj5xaydBgx0%mQ8bCAR(xj|9cc(aQ-$pp$s6azWjIXL1luw+ek zIEld(xgY*>j1bEmvL`WIZRJydTK~XM!gg8a9+JML$Sqcd0HW7nC;Iv+5)o=e!%Ce- zCeGKc(RMUzh_@`susCw3x%Bxd!-^tnRN%D+=jw=>P_RbOo#r&9EhLA}&Rwpy!7+ps z=C23^M}^<0qVY3S5Kk%D>Iyil6df%`Te1>2OoV)UYgL~?5yN%+!EJt|b19u)%eb1o zbZiG0pQ$slIM{K2?%738Zoa4)rU8U9TJ}dF8$nE%$gO%@f*NL9aC^KeW;%Z6OspkNYnCR9fWt%hf zoK%Sb&DKs}_Tn!>*3KYvKEy@JL`8*B5i~nJLs~I^l@V${k+UTmo_16Mh%9WqKf+do zeZVG?H7k!HT&sxq#m~h%>4?bXIJ9W9{m}q#j-N*>G?5aNtZv)9>-_M0;mp? z;~3AqTUVfWIEV{)FK;g&Z*Lzj@88|8kN2;&mzS&8uMIC>uRns{?YGQ7;8*AA>+SiW z=k4SDTlj0oi%2L*XuvZztw_1roS=#8GSrI z?7MpYUi?=21MSb(H|Q@gFYjL%|A)}|L;QR3;qk9}kl()me!==c?)j^Ccl~hu3*P@C z|0Vhb;{)GEy z>$mu~$zS|^0Qz7102$=_$Mjzte=?8!R3Fyz@=l|RP zKU;swT)5QM`YS z{!5GRuZ#RW`BS#Oe_sY~FE@{W==^We{(eaQ1oj8SKR%rQ=FuM#|Gor&fPB0u|GUOt ziXN{2OS=ChfbXx={`U$$^6caDkx{>vf8L!ByT3~=!0+Rc`X?9uJ~RK}?{9klar?pF zpLqY9B%ZE+F@3yRA0B?&3H1LrvX9e$ zgY94Jzw__^R{kaRbotLa_CF|pFY=G4f8hIg{eO*Hi*n>P4*cq5EsaC~)MK37PhVAc z1Ej{gb;o2qV~GTT#)BY8gOM7W?Dabx8A4F8b!Z^>!!uf zY#C}wiNfvsz%Uw9vFhuNzWi5`9v9M)3R)Hj5w=V!mw~wZbpV)Q_3Yrw6#vGkc=MBH z7dG&F_=ehbkh{cBYu{_55-2mnU|4*|h_h^1gBOGyA+9yYx%_#}1F{(v7>goG$R z*NvhK{K8;=vxB1l2YzUr_&z$L(I5oQ62E8bZwE&yhbFS+nZ1B{i@Wn_U=70K2|u;; zb}V}{e$YGcF#4jh)_rx#3(2MrKPcH0nIs7+C zrfd7Uk*wmXT&>@^+J(atqG5tBOi^wrX|I!XlS#?Tw1IwCm455J>6npN+jc&4t(x@$uB{SdMethBweZRJ0 zHKQT6qPt>In00ge()+=PhZe~ves0~i*XT0i*Q?_cEp2U@Nb!Z8k4xtA5Z~KZ8h{o_ zMu;bVIncC57DN+%(|$k#|L|Yo7pJtEGm!lkg#177L${=z3a9$h{^n-gww1;tBK$A$ zBd=rH#7}TwYUa-azwx;*g&)8I(^Cb>+OCj2rt%HP@Px||&gQ7pp5PrYQ#iQj_)@|uN-8G8-a^hDHWO5aN#z#`PR2J$JJ-J1*#3!ncik9i2Q}PQ5qR6 z>j$|Q6rXec$A(|NsYBM$Qgp1SQ)oy>InQ(#DneiP74y{_hZDwoBYt#%K^=SRXA67a zH<9vnhwOa76+!rwEW#tK@5_W+eptK@R2&Hx$5>$7B>XV13>Nm67BXhR`a!UZxQFnQ z7OJ7NlfMr->A#%sf#39NzJKo*#g!B!rtXifcv<+(=%xM5`3RDXDl&P3Wiiua#?2bLk}EqTvflej*1rmGDc#7tPmCPR@BKY8R%5mgZ2R? zJxocOrekr+dP8Xz3{xN^>D+bBkSg`CuVJThK(~?gXA{8NtG-HynEL%fxho&*efYj2 zfgHMI67tkE`at4 zL4uGd&1#L~Y~f*Fm`buGkbYs;geo zhs;zs;$tylL{FDG{W|3BY|=3BONbx%Y5obXcm`yU3-Eiazj!D7imRcy#IL$(TH-fP7#4P2IUmN8DdaDbFJrOsXn=~I zRNx;KffQ5trQD3G9-dW?M+-adU$8$+Kv77&t@7|BOAEM9xC^<(DH7({USu#e14HuT ztuN3JJgBh}2^kV*NyQ>3Hp&el1!HV&NkhnBow_c66dU-%HyrI1ADV&{c_PR;@X=Pw z#eT*cAwIQ=?JQ~xJjY6r6WQzfdUuLLwk-Qr68f*WPM+eWoeW?|uWppr2+ z4E}*1xN#MUF%rVCme2j~+%e4KyvpV%i133R2cR?_R75BI)QF$vOw9|wsd3wq#jcu` z?YtJ@H^K&fnT$IjaW{YSNRl&*d60LN*U0T{9MaBB_|@3-%?ZEp!+g<+2z8EcPyB}P z78`a=gI^*`{5V#AF)sH4wSxmO*QFobaC>-?4H4(av6Z{1PHDm&rYd7|z%>42lQ z^|5PEEBpurKCL4)0^4aJh2P+7xb^~glaYa6%F8Fe#g7jimt{suUJdxk?+7*Vt95Mn z2sV3U_7lIaw+@$67C|zX^hjaC?}Iothr|9d80fV4!L@a3m3K+;{0jS{5IV5~L*v*r zN0>X3++ikC5d2s8C4lDPb=gQwY^qpOcn|#2X~ie}w=T3y*D>7h^RN4C5v{k*B~q3T ze^0tJIb%r=@*%@52O)k*ogW^4V3Sq+CI&dk%9thRo7WGyHYvpyubrd`O3l|9t?Y!i zy}X;hUYvt4=cp4w2SOy5;NvU%jc2GsmcFMLF%Fv^?YsYtl#X$d2Yf_b*R^1>Gk(cm z$?s46QYPfjbKuiU3!MaFCMt{TFZUlG`1!J@ISl+P&)<>+#)bR3C4P7+StzGI}AC z*PezJgd^i$vQ|F_e*B;0&O6c9PpYYXK^s&csk?i>j_fR!`5X2VgAcX$@z=P@ly9-{ zv@Z@%4U=75Za`;9P9x-z2F2A43^3O3PB1`J=FnqXP$rc@q&V@G-mxUhfPi1H^i%SL zo8Je0)^(3TtgO4Hkp`#_6lJ8{v`W*PNkNTqfzUFe0 z&)i{u#cvv-IpW`k8+aJjk9jJ7gZ)kZr2ch(BVl3hb<3`WABtV^R5)MksDu9ozlpgb zmRIyX+WYwHI?CRYA#;!YMOAw9&YL3^?s13X2DCJwSq&wD?mU4)2HC>;T`rWSh6H-E ztO<e@V3n;BK!CM9l5LwN+Hmqo0XSiiz#;zLO0t zhBUQ^D`Qo~0gJHqs*tLZp*!ICIuGsyq{*BE_&G{_DzgDUlmv>t@WTc2u^Ygbj3cVC%8779Yqss2{MusYuKb`}WxX3P19Zwo$M& zluxPN$vW?7zG1bI26Iq^I2=R>D>{;i6x2OVF*fPV+?#AiJn+s{IBGa_XvyLpv2Pfg z)I~aAXu-vAJT}|QcA4d3)>HSVK^E^&?b=|F2RAhtIoegKOK4y!JEx&F@E&%wID*@v z5(U|~H#>n}N`dQCl;<2`Pxx(kJ>iE5`Z0JRGceszaG5OSbLL%DgCc|> zry|9KU$|Lo!=5yuyPpCq5gc3y; z9$0@X>b!!U`pe8b|ER`XVKj%>(*Av39?(eQM~dQ`6sLQs*<1L{@mVhZ13yX${9uXH z4O58il`_(-0~jCI^X{^Ooo;N(c!j0@^gs^^ufVN*cAYG$@WYR?z{GEWfgid8k}cg} z-T(6wzp_6}Gn6yqC*Kgi!~W{i=dxCg#ut>eWCg=u@z*TR$zXq%vV|gxxmCNH^y^-Q zX30{VJnt=_e?se!X8G5}2Af-${RF;{> zTSVJYmf@QbzHqF>#SwD3#cBN5tP8ElUEp75i84E!W`N`wnH`VK(`etIDF{1HD^ z75>HFv(%eX9u9BoS+%GA@n;x!n6uI2r~LPW%zNx$rG zJTo2?W!FF8$HWai@VAg<2{V4f+<{-X#lG5q0pkl5FHisg083E-0C-+>wgW(BQ5P

aUTpJdj>G+yUy50)BRXmrSrzsCak;%pcKl4n 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

`#Fl5U+umW_DTBdWmz|Js-A;m~dNcszBYTts?}d z*`J|jN|uG}T2JI+1!g?ED_D@5O4M_k*|s3#=uzEJ_;@BS{TX!6vOeallJTNtpe>SJ z?i6zkW4M(AYuJ-#$R_9RH{)3T2KAR3aveETLT?>^NHE6i7nl#cDWr9OUA&(O@aW4* zp%{-<-7sYz|8sK)l{UM+Sv(yxIYjt_*oMEnBd@?at`Bj2z4^h5mXF4=Xw3vh+ZqBN zOzkK~Z=%Vtf(j$9C8_&Em5KsG4e7wA)E#OhGhDq;HR5 zWk@ojAs$_rVIrQKR{PcooOYsHmCQ33H6QO}LM(M;6m#F125R_}w77Hdk8I+w&e)pJ?VI|F- zK74W>>RP3l;7#|19M-+oje2KUDirn}7kU0X-8*coI2*5e}_`-hKe-#D%r-~&F|y=(Lb6u;NKtM>*?;}?fWtG_4Wq%eh$1p zhXG#ycKrdqJ^;T!|Btc1r=Pb^0N~%zk2P;!-+$(x-%kTiPrpw~U%=<=U;jA%G4uBO z-1YGT_yPih03RN`y+2KSy#aoozmMl5#D8Hw4V^z+f5iCcA1i(z9pLBt3HjeCfX|1G zFYp7+hZA3KKd+CFAEuwr2a?b6e@g&>yZ1-)_4@$x;qDXRNAn8s^7Zof0(yG;0DxY= zfKM2HAKO4rAHUCd0H2QoA8`Mn`q=u2;{HkR-|WBU>l6Bk^dH>+boBOf_xz0bc?tmV z`v~@d^n)DG>vJ3M;ql`z5cuKV&+|h}f3Hs`AN#%^%?I$|cq$Nm`z5D@q&!~c@?5%hnU{!7Tm^mE1ef64q%_rv^S{4Womi~l9+;~(h%>HD8t z|Ji&R{2#$j8U6n0_p$X!>yzdu`j1Qoczvn~^!gYAJpw=U^Y!uf^7|0| z|AqNaKY+)7;{87ghI~@__x@iU{$Kt5xBmJ0MExK04>>;f0t5cX^RtXTBK$}Bvo8MU z`(xD+l!q&*wAH$xH|gz!C;#MEU(uu_^lxN-!vw4%tk!lI>;72bX-vW*y;f!}d5ApHUk{J-xzoKgOWaU;O7X3> z48PY!zGTLKgk;mtBaXY5x8uTWa(TrnFZ5>Vm1mXJ0>36!TGYxyyS^>mZ$mWj6~*vK z?pX^&aa?1+mj&}L?k6(icA!L~4CAXb{-&Z5rqNOZ`=Cg;q$=~>SRJh~0!95=bprdHry`6Ue zhIc=ol~PIh;5W+=kP&`k*RDdWqS*;BBvgff^=E~pIJPO>Fhk`ER zh8@Q}2$0*DEB0$q#<#$1`z)C{kC#O*v}=3T7-<+@tfz(Vg;iv(4iiNz_4A2u=w*%r z=*vC5EbJ>HLMD~D(xTiVD%Q?Jxj~%U%cIuQ_Ch^Q%uT5!QQkVV)@z{`ezLAyH^+Mb zDf%c}orUnLSoxbFO+nGiEz8{tM@6;~>Bj>T0@TLOJssyLy+obcBDN9hp}7@GE+30d zyD=@_q(S1=(0wA-^W@vUL7s|XW?>m_xAe{`6cA%C?p)6}YVER&=Z=inhwx)?VKo7= zJP+_2gBbg5-zWYN>6rZoJQ+K(b zve;+3KP?>zq5;0oM1jbt^;qFdvcz8OxWLbY`0k~3cdmEkiAs7Kio6}$cyP#0E)_{S zOMr}eO$;0K$=D-Fp81wI#Lsmga6^}VM1Csk+bYwo+&7HC#W#MCHOd>m>$>c>QM^;9 zwFPTwx?LH8hvz=!Ite10IhTy6ue+gbGFE@n&4(Q+>#jU(p7 z==;?l`UZk@V08*l5owPj$t#`@CWQ6!wA_oAXZ@_oG$Jo`R~yv0sB+(S@9^KkhJWrs zC3`=>jrRh!WWMC97-_vS%T&&yqoO`gYL-ESb-Td>SL`UOASf`^#9-aeQ|t9o{z$^d zx(el_m9KS(j+iaPQiLu8@^Xv(As>LW!oTky3V6lxyCM*#)YQwio>-I_@!Fw$V~n3Q z2q-j|8GcyjvtsWb@ypSZ$Kx>hfRT3LR}0bG@;fTcqa@2Q;=P_nhHsIpeBCCOFBU@4 zFYG$0Ro)>>WwnA{WNqzbtmDf6-Xx^1CXl0!{Kny2?C+|9Br#NQhe+EA->T&eq`kt{i$3f}a@0!VipXlGdXqImGS+*c) z$2J)9-4p)(ElQ6o)d|nA$1y=ygXw22tYy`=46u!R(ouy$Io7asfTx#<&e*V4k+Js5 zj5xP^QW+VO#E^xx+>EfpI`T^VpZ;Kkiu<83EZ>|f;0v{MT3SN2A31X=eF_23!BQ+g zRF2`9)dL!rCPR+2Z>FoCTv_74XR+4~_x)HFtK4>k6PYBFpk&)<$n0~s62>om*3s^f zD}n&5KqNhM4k@gZ|99FP{$3(hY0_)XySa`o1G{r>ydKacvTDBsz1L? z!>8MhwJmK&ERrV*}a53SsvkZ5gA?;qbyxiXB>}Q5BKS=P&I3anZMTk zv!xMLFN0PUbV9!&5nOL9-Ucil;3mLJl31t&GmtF%mgE(j~3>3e1PbFDlc z>3h-p*sHMN^mJTFC+P9oVoB#BL1~O4lohy#`LQnIF$oWU9?Zy9&86d!soln68aYk9 z=$*$wKFqlJul}ju7xteN9jc=gp_V_5rdq}ehlU^a*p{ovJ_+9nBN=vIk+!j1gtyBW z2SsZF{AATZn;S}qWld6x#~KF19%bNa*H6}$)RV$*gf;J`hI7Xvbi1oUl-k-NHs#6r zjI31(Im}l5hW-cx<5*gg=+OA_C;l~_O%-NAdLczcooZtK|D_f2R%L73pcHah@TIPw zDJ5Hl*L#4Jiy>|63*I+=Ek`Yi^XzzytakHA7N}_+X3J zag)AD1x@1?-}oI`lyv>y$)7zuruZF?j*5~FI>8}ndiq;I-C!v-f722!2JJQ=sOE&4 zWvx<`Rr!NXG)`A#%F~lh7T$KHndF*r7k}m>3WYV{14c*U|0r%6F{WkyfNveDsRhvh6BvJF@ z>RC5X-NQN_&A-9#vTPKtp?`W_bIm;8A8`aA(vjh>#Dq>{TY!0vgT>KYQax|0>-*ZQW9ysbAiT>b_5O zt}5Q-xb?I$rEG$GHly^mLFPSsrg01W%NN(bEU7}ZKZHFmPtz0 zGm|HPMr2K70IatW%+xqzuW5W#P1)3d1>ndj+jjJ#d0bOCO9&0P1lB@lnXr}5M9 z1jvhh?F=K*f40+X2_mqBn4s)P8q)O~S&-~ESrms{?UxVY4VHZuD#nv?!<$M?%~X4t zxz?-Hf9rOJ96d(T0$ljXVB`tjOXWLNY>JMq%u=#sQiB&wtO-To8NV5Zkht!wLN{LX z{jlMPpvR~$-^L_#2u}Lsx2{^}w@KmWa;N?GanoM{TV{sx=YM&L{z)4v5fOEgQ;TsR zDDxc)R)jq66thx2{Q)?_76gX@Rz$Lwtn&@Ci41-^x1z>Q^G`waw;1dZeyCU`b|ibq zeFgz_DcLPfJiUn{?a?m7L{$>|yL%A9R#VEjdzm^bvUyUSdur2KokJd5XDw{UgI$oY zGT-Bpw7X5_srI&xUC}s^rj!OqY4i;umaoQcD@#)~BRfSU1Vf5km-K2t?ZK#Yi|j(S#9bM0aHM z^seSzUDUU*Hc>obNw@7n+73P#4?bob9qaG_0g`!L_%Uc{Wn!?L#o#B*GQ(*$Kyhz# z4EU#5(j>vjU0$ST<8|rf?}S2o)@`b0s-s(H{P20R*4jP&Uf<`{PAMXUpVl)~3Y#*33O?&WElsn?6RJmeOv zS4O4};YYX4MRV<7yzNiDA@`qaZDNHEGf2h z`%YC*fnXR_nmyD=kTI3fd@dX|6Gkl-#k=kqjNL>otBu$Bjd1x4TYNb_W`tr(To>ESkq3_~~ii&x;vwoB4L538++j zeoe8}ePu0Vat3*a?k8bSsp@#(Ym6|M;|55|5(jLp2Q)buo!@dZ$!?jHaS@Vcr)Pxy z0udRUiu_AtXj$q0(%FZ%D9ul+Rl=##Nl5bBND`3ZN3e&{g9twl&Vqj8r-J6fZ!fBP z?ZN=oqU)=3!HQZJeza)FnDEk<^jQxbrQ_ZtgJ->8pvCEQ3M`|^l{zoilJTY@qySC( zB@%S9ritK62B%=Zs)YfL$lu2Tz)R!Z4((n23qJ+Hf8iGqEjh5c5j9tTXe*11#;?Ea zH?k(h2tGVH5IX*^ElSgPFTjsShbv}&je8B-_zmvdG3p)sG^P&SiSM63C@8hN$T*+l zKW9MCH-21uoL8xw# zI4n5XOAjr2AM%9P=U?L-`*^XQ24yjRv+)LVDPv&*70Mw8!hKsqN{{Q<<2aZIPjK@rVYa~2tj!@Jk}t;3q=JY+F5pAB$Aar&litE%AAF#hMS28Hs`>KW+55 zdeK~-QQwo5u(R?>hL045(~)R_Uxp~WHhvMVTxjI8KGq@^FHfKD$D@P%wRu4fJ^1P6 z!cXxx+0<>rdb97k6zs#ao83(Rz~!252){Q>EwL?4RFa(A)Li3@biW`NwbV~TCT}m? zX5|0JuNU4DWyw7e4m_yUE{j$(=Hg0^>CyP<|9B0sGU!<^En7Vy``ssNc*}arz1qkT z@i<5|XVu~y!f6)k!8|z~r3^~zZ5KF}!;5`IpV^FVj`gv{zJ>XDbu*3kGhiv5&pVl#|PgWKBpgLwh_w(Js&c007xb004MiY_|nmRNdDGY9b&CC`zf6 zNS7epF?4r#4>{z(z%Vc{HfUWcc>4~mp*swFY4+N%=ckIol_m)&F2c6nok zDw>!Ld-$O{^&1E1b4yL@o@xIeFqJ$SL5xSb`NSN{qOmJkyh&Y!`drqUgOo z`z@&qMEi&DF7Q=xQ8&2NkKsa9UI!hBE!3|!0OUv?5_R;_iQN~63Y{U8h8$)e-MEmI^9CVi!iKavt0HM9t0 zPy0r}qdVM_W6iB$&JrFXNGsiMn#)90m?B$aCC#u$8FF78;)$FqnK|QRV$iwZ^1Ex= z{Uy{xB$UnH(2D}TIweD++a-Mfr0%gqILm@h*V-s3Z0Np_INtWh&UJstu^$&?tT2te z&Ejkl_j=|li1$K)sgPe6pc-izSNJl@z>oy*&@DU!O?j3$E3GRu+Y(6FIy^F+Fvo?d zmc>Zs-CK`RE)1J})Ap%HU~iiyHenISs%?RQxY^VS{Sd`&6VRjBU!LD4!JbyN z6wh_EP;F~=6dy{PB}u=>i~G|V^%)wb5Y0d;S0v2%AoPINY2;mLq5ia|&eHI2o@Z4f zVI~;e_S8rW-dBk(_iy=NzGATt(~P-eH?FqOw#StR(JfNq!#!IpJ4Nn+J1YS^51-DoXFsj7 z3i=h%go(t^|MAN083tUWSl(GmV(44YWKO*Dnv-%Y*f>%xPaj1h1j)k@nl~g4=EWa#9 zt2D)SOT!)V=hf2tNAWdKX008qbl48HWXbL;jz*0Q8O<5ym(#33d)bn}973}P8-^Yf zD3t5?uR`GBn!mpdqb26g5LEDhWw;GUxyErb!D^N%=%0A7co6m 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 z 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

RPt_h4||d&wCKjk2G^= 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%0AQ{Db`w8 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 literal 0 HcmV?d00001 diff --git a/testsuite/render-spi-thinlayer/ref/out.exr b/testsuite/render-spi-thinlayer/ref/out.exr new file mode 100644 index 0000000000000000000000000000000000000000..556fee7ab20e27a7c6af34258b7ceb0785fee6a6 GIT binary patch literal 315389 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�c5|obydH{_q(ZfaDR{qqtbRsoadPNHo=v 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 z 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 literal 0 HcmV?d00001 diff --git a/testsuite/render-spi-thinlayer/run.py b/testsuite/render-spi-thinlayer/run.py new file mode 100755 index 000000000..f46b389e3 --- /dev/null +++ b/testsuite/render-spi-thinlayer/run.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python + +# Copyright Contributors to the Open Shading Language project. +# SPDX-License-Identifier: BSD-3-Clause +# https://github.com/AcademySoftwareFoundation/OpenShadingLanguage + +failthresh = 0.02 +failrelative = 0.01 +failpercent = 1 +allowfailures = 5 +idiff_program = "idiff" + +outputs = [ "out.exr" ] +command = testrender("-r 320 240 -aa 16 scene.xml out.exr") diff --git a/testsuite/render-spi-thinlayer/scene.xml b/testsuite/render-spi-thinlayer/scene.xml new file mode 100644 index 000000000..dc31c9a4a --- /dev/null +++ b/testsuite/render-spi-thinlayer/scene.xml @@ -0,0 +1,30 @@ + + + + + string filename "../common/textures/kitchen_probe.hdr"; + shader envmap layer1; + + + + + param float scale_s 20; + param float scale_t 20; + param color Ca 0.1 0.1 0.1; + param color Cb 0.5 0.5 0.5; + shader checkerboard tex; + shader matte layer1; + connect tex.Cout layer1.Cs; + + + + + + float xalpha 0.1; float yalpha 0.02; color absorption 0.2 0 0.1; shader glossy_glass layer1; + + float xalpha 0.05; float yalpha 0.05; color absorption 0.2 0.1 0.0; shader glossy_glass layer1; + + float xalpha 0.001; float xalpha 0.001; color absorption 0 0.1 0.2; shader glossy_glass layer1; + + +