Differential D5928 Diff 18889 source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
| Context not available. | |||||
| result = CLOSURE_DEFAULT; | result = CLOSURE_DEFAULT; | ||||
| result.radiance = out_spec + out_refr; | result.radiance = out_spec + out_refr; | ||||
| result.radiance += out_diff * out_sheen; /* Coarse approx. */ | result.radiance += out_diff * out_sheen; /* Coarse approx. */ | ||||
| result.radiance += emission.rgb; | |||||
| result.radiance *= alpha; | |||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | ||||
| mixed_ss_base_color *= alpha * (1.0 - transmission); | mixed_ss_base_color *= alpha * (1.0 - transmission); | ||||
| closure_load_sss_data(sss_scalef, out_diff, mixed_ss_base_color, int(sss_id), result); | closure_load_sss_data(sss_scalef, out_diff, mixed_ss_base_color, int(sss_id), result); | ||||
| result.radiance += emission.rgb; | |||||
| result.radiance *= alpha; | |||||
| result.transmittance = vec3(1.0 - alpha); | result.transmittance = vec3(1.0 - alpha); | ||||
| } | } | ||||
| Context not available. | |||||
| result = CLOSURE_DEFAULT; | result = CLOSURE_DEFAULT; | ||||
| result.radiance = out_spec + out_diff * (diffuse + out_sheen); | result.radiance = out_spec + out_diff * (diffuse + out_sheen); | ||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | |||||
| result.radiance += emission.rgb; | result.radiance += emission.rgb; | ||||
| result.radiance *= alpha; | result.radiance *= alpha; | ||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | |||||
| result.transmittance = vec3(1.0 - alpha); | result.transmittance = vec3(1.0 - alpha); | ||||
| } | } | ||||
| Context not available. | |||||
| result = CLOSURE_DEFAULT; | result = CLOSURE_DEFAULT; | ||||
| result.radiance = out_spec; | result.radiance = out_spec; | ||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | |||||
| result.radiance += emission.rgb; | result.radiance += emission.rgb; | ||||
| result.radiance *= alpha; | result.radiance *= alpha; | ||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | |||||
| result.transmittance = vec3(1.0 - alpha); | result.transmittance = vec3(1.0 - alpha); | ||||
| } | } | ||||
| Context not available. | |||||
| result = CLOSURE_DEFAULT; | result = CLOSURE_DEFAULT; | ||||
| result.radiance = out_spec; | result.radiance = out_spec; | ||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | |||||
| result.radiance += emission.rgb; | result.radiance += emission.rgb; | ||||
| result.radiance *= alpha; | result.radiance *= alpha; | ||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | |||||
| result.transmittance = vec3(1.0 - alpha); | result.transmittance = vec3(1.0 - alpha); | ||||
| } | } | ||||
| Context not available. | |||||
| result = CLOSURE_DEFAULT; | result = CLOSURE_DEFAULT; | ||||
| result.radiance = out_spec; | result.radiance = out_spec; | ||||
| result.radiance += out_diff * out_sheen; | |||||
| result.radiance += emission.rgb; | |||||
| result.radiance *= alpha; | |||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | ||||
| mixed_ss_base_color *= alpha * (1.0 - transmission); | mixed_ss_base_color *= alpha * (1.0 - transmission); | ||||
| closure_load_sss_data(sss_scalef, out_diff, mixed_ss_base_color, int(sss_id), result); | closure_load_sss_data(sss_scalef, out_diff, mixed_ss_base_color, int(sss_id), result); | ||||
| result.radiance += out_diff * out_sheen; | |||||
| result.radiance += emission.rgb; | |||||
| result.radiance *= alpha; | |||||
| result.transmittance = vec3(1.0 - alpha); | result.transmittance = vec3(1.0 - alpha); | ||||
| } | } | ||||
| Context not available. | |||||
| result = CLOSURE_DEFAULT; | result = CLOSURE_DEFAULT; | ||||
| result.radiance = mix(out_refr, out_spec, fresnel); | result.radiance = mix(out_refr, out_spec, fresnel); | ||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | |||||
| result.radiance += emission.rgb; | result.radiance += emission.rgb; | ||||
| result.radiance *= alpha; | result.radiance *= alpha; | ||||
| closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result); | |||||
| result.transmittance = vec3(1.0 - alpha); | result.transmittance = vec3(1.0 - alpha); | ||||
| } | } | ||||
| #else | #else | ||||
| Context not available. | |||||