gpu-curtains
    Preparing search index...
    REIndirectSpecular: "\n// Indirect Specular RenderEquations\nfn RE_IndirectSpecular(\n radiance: vec3f,\n irradiance: vec3f,\n diffuseContribution: vec3f,\n metallic: f32,\n sheenEnergyComp: f32,\n dielectricScattering: MultiScattering,\n metallicScattering: MultiScattering,\n ptr_reflectedLight: ptr<function, ReflectedLight>\n) {\n // Mix based on metalness\n\tlet singleScattering: vec3f = mix(dielectricScattering.singleScattering, metallicScattering.singleScattering, metallic);\n\tlet multiScattering: vec3f = mix(dielectricScattering.multiScattering, metallicScattering.multiScattering, metallic);\n\n\t// Diffuse energy conservation uses dielectric path\n\tlet totalScatteringDielectric: vec3f = dielectricScattering.singleScattering + dielectricScattering.multiScattering;\n\n\tlet diffuse: vec3f = diffuseContribution * (1.0 - totalScatteringDielectric);\n\n // we remove RECIPROCAL_PI multiplication since the LUT already ensures energy conservation\n // let cosineWeightedIrradiance: vec3f = irradiance * RECIPROCAL_PI;\n\n var indirectSpecular: vec3f = radiance * singleScattering;\n\tindirectSpecular += multiScattering * irradiance;\n\n\tvar indirectDiffuse: vec3f = diffuse * irradiance;\n\n indirectSpecular *= sheenEnergyComp;\n indirectDiffuse *= sheenEnergyComp;\n\n (*ptr_reflectedLight).indirectSpecular += indirectSpecular; \n (*ptr_reflectedLight).indirectDiffuse += indirectDiffuse;\n}\n" = ...

    WGSL functions to calculate the indirect specular and diffuse contributions of lights using multi-scattering.