Commit: f353f129ec3775dd744561889f70fd1503698b0b Author: Lukas Stockner Date: Mon Jul 4 23:31:48 2022 +0200 Branches: principled-v2 https://developer.blender.org/rBf353f129ec3775dd744561889f70fd1503698b0b
Fix compilation with OSL, support for v2 is still missing =================================================================== M intern/cycles/kernel/closure/bsdf_microfacet_glass.h M intern/cycles/kernel/closure/bsdf_microfacet_util.h M intern/cycles/kernel/osl/closures.cpp =================================================================== diff --git a/intern/cycles/kernel/closure/bsdf_microfacet_glass.h b/intern/cycles/kernel/closure/bsdf_microfacet_glass.h index 1fd65f676a6..8001cd8fb17 100644 --- a/intern/cycles/kernel/closure/bsdf_microfacet_glass.h +++ b/intern/cycles/kernel/closure/bsdf_microfacet_glass.h @@ -3,6 +3,8 @@ #pragma once +#include "kernel/sample/lcg.h" + CCL_NAMESPACE_BEGIN ccl_device_inline float3 diff --git a/intern/cycles/kernel/closure/bsdf_microfacet_util.h b/intern/cycles/kernel/closure/bsdf_microfacet_util.h index 8a412601903..e6688e8a82b 100644 --- a/intern/cycles/kernel/closure/bsdf_microfacet_util.h +++ b/intern/cycles/kernel/closure/bsdf_microfacet_util.h @@ -5,6 +5,8 @@ #include "kernel/closure/bsdf_util.h" +#include "kernel/util/lookup_table.h" + CCL_NAMESPACE_BEGIN /* GGX microfacet with Smith shadow-masking from: diff --git a/intern/cycles/kernel/osl/closures.cpp b/intern/cycles/kernel/osl/closures.cpp index 39157f0b796..e80b7aa1fd5 100644 --- a/intern/cycles/kernel/osl/closures.cpp +++ b/intern/cycles/kernel/osl/closures.cpp @@ -27,7 +27,7 @@ #include "kernel/closure/bsdf_diffuse.h" #include "kernel/closure/bsdf_microfacet.h" #include "kernel/closure/bsdf_microfacet_beckmann.h" -#include "kernel/closure/bsdf_microfacet_multi.h" +#include "kernel/closure/bsdf_microfacet_glass.h" #include "kernel/closure/bsdf_oren_nayar.h" #include "kernel/closure/bsdf_reflection.h" #include "kernel/closure/bsdf_refraction.h" @@ -681,14 +681,7 @@ class MicrofacetMultiClosure : public CBSDFClosure { return NULL; } - MicrofacetExtra *extra = (MicrofacetExtra *)closure_alloc_extra(sd, sizeof(MicrofacetExtra)); - if (!extra) { - return NULL; - } - - bsdf->extra = extra; - bsdf->extra->color = color; - bsdf->extra->cspec0 = make_float3(0.0f, 0.0f, 0.0f); + bsdf->extra = NULL; return bsdf; } }; @@ -704,10 +697,12 @@ class MicrofacetMultiGGXClosure : public MicrofacetMultiClosure { return; } + const KernelGlobalsCPU *kg = sd->osl_globals; + bsdf->ior = 0.0f; bsdf->T = make_float3(0.0f, 0.0f, 0.0f); bsdf->alpha_y = bsdf->alpha_x; - sd->flag |= bsdf_microfacet_multi_ggx_setup(bsdf); + sd->flag |= bsdf_microfacet_multi_ggx_setup(kg, bsdf, sd, color); } }; @@ -734,8 +729,10 @@ class MicrofacetMultiGGXAnisoClosure : public MicrofacetMultiClosure { return; } + const KernelGlobalsCPU *kg = sd->osl_globals; + bsdf->ior = 0.0f; - sd->flag |= bsdf_microfacet_multi_ggx_setup(bsdf); + sd->flag |= bsdf_microfacet_multi_ggx_setup(kg, bsdf, sd, color); } }; @@ -768,9 +765,11 @@ class MicrofacetMultiGGXGlassClosure : public MicrofacetMultiClosure { return; } + const KernelGlobalsCPU *kg = sd->osl_globals; + bsdf->T = make_float3(0.0f, 0.0f, 0.0f); bsdf->alpha_y = bsdf->alpha_x; - sd->flag |= bsdf_microfacet_multi_ggx_glass_setup(bsdf); + sd->flag |= bsdf_microfacet_multi_ggx_glass_setup(kg, bsdf, sd, color); } }; @@ -833,9 +832,11 @@ class MicrofacetMultiGGXFresnelClosure : public MicrofacetMultiFresnelClosure { return; } + const KernelGlobalsCPU *kg = sd->osl_globals; + bsdf->T = make_float3(0.0f, 0.0f, 0.0f); bsdf->alpha_y = bsdf->alpha_x; - sd->flag |= bsdf_microfacet_multi_ggx_fresnel_setup(bsdf, sd); + sd->flag |= bsdf_microfacet_multi_ggx_fresnel_setup(kg, bsdf, sd); } }; @@ -865,7 +866,9 @@ class MicrofacetMultiGGXAnisoFresnelClosure : public MicrofacetMultiFresnelClosu return; } - sd->flag |= bsdf_microfacet_multi_ggx_fresnel_setup(bsdf, sd); + const KernelGlobalsCPU *kg = sd->osl_globals; + + sd->flag |= bsdf_microfacet_multi_ggx_fresnel_setup(kg, bsdf, sd); } }; @@ -901,9 +904,11 @@ class MicrofacetMultiGGXGlassFresnelClosure : public MicrofacetMultiFresnelClosu return; } + const KernelGlobalsCPU *kg = sd->osl_globals; + bsdf->T = make_float3(0.0f, 0.0f, 0.0f); bsdf->alpha_y = bsdf->alpha_x; - sd->flag |= bsdf_microfacet_multi_ggx_glass_fresnel_setup(bsdf, sd); + sd->flag |= bsdf_microfacet_multi_ggx_glass_fresnel_setup(kg, bsdf, sd); } }; _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs