0
0
forked from blender/blender
blender/intern/cycles/hydra
Lukas Stockner 158dbc1b10 Cycles: Rework Principled BSDF Clearcoat
- Adds tint control, which simulates volumetric absorption inside the coating.
  This results in angle-dependent saturation and affects all underlying layers
  (diffuse, subsurface, metallic, transmission). It provides a physically-based
  alternative to ad-hoc effects such as tinted specular highlights.
- Renames the component from "Clearcoat" to "Coat", since it's no longer
  necessarily clear now. This matches naming in e.g. other renderers or OpenPBR.
- Adds an explicit Coat IOR input, in preparation for future smarter IOR logic
  around the interaction between Coat and main IOR. This used to be hardcoded
  to 1.5.
- Removes hardcoded 0.25 weight multiplier, and adds versioning code to update
  existing files accordingly. OBJ import/export still applies the factor.
- Replaces the GTR1 microfacet component with regular GGX. This removes a corner
  case in the Microfacet code, solves #53038, and makes us more consistent with
  other standard surface shaders. The original Disney BSDF used GTR1, but it
  doesn't appear that it caught on in the industry.

Co-authored-by: Weizhen Huang <weizhen@blender.org>
Pull Request: blender/blender#110993
2023-09-13 00:03:11 +02:00
..
resources Cycles: refactor Hydra render delegate building 2022-04-29 19:03:06 +02:00
attribute.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
attribute.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
camera.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
camera.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
CMakeLists.txt CMake: include missing files in source files 2023-08-24 11:51:25 +10:00
config.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
curves.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
curves.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
display_driver.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
display_driver.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
field.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
field.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
file_reader.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
file_reader.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
geometry.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
geometry.inl License headers: use SPDX-FileCopyrightText for *.inl and *.osl files 2023-08-04 13:24:17 +10:00
instancer.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
instancer.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
light.cpp Cycles: remove unnecessary transform parameters from lights 2023-08-11 17:41:06 +02:00
light.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
material.cpp Cycles: Rework Principled BSDF Clearcoat 2023-09-13 00:03:11 +02:00
material.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
mesh.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
mesh.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
node_util.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
node_util.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
output_driver.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
output_driver.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
plugin.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
plugin.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
plugInfo.json
pointcloud.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
pointcloud.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
render_buffer.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
render_buffer.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
render_delegate.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
render_delegate.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
render_pass.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
render_pass.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
session.cpp Cycles Hydra: set background color depending if there are lights 2023-07-07 18:20:57 +02:00
session.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
volume.cpp License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00
volume.h License headers: use SPDX-FileCopyrightText in intern/cycles 2023-06-14 16:53:23 +10:00