Page MenuHome

Cycles: Add bump-map shadow terminator softening term
Needs RevisionPublic

Authored by Lukas Stockner (lukasstockner97) on Fri, Aug 2, 5:31 AM.
Tags
None
Tokens
"Love" token, awarded by jonathanl."Love" token, awarded by SecuoyaEx."Like" token, awarded by billreynish."Like" token, awarded by YAFU."Love" token, awarded by marcog.

Details

Summary

This is an alternative to D4459 that was presented at Siggraph today.

See the paper for comparisons between the two approaches.

Diff Detail

Repository
rB Blender
Branch
bump_terminator (branched from master)
Build Status
Buildable 4255
Build 4255: arc lint + arc unit

Event Timeline

Brecht Van Lommel (brecht) requested changes to this revision.Fri, Aug 2, 11:26 AM

Did not test yet, but looks great in the paper.

intern/cycles/kernel/closure/bsdf.h
450

To optimize the the non-bump case and handle transmission, this could be:

else if (label & LABEL_DIFFUSE) {
  if (sc->N != sd->N) {
    *eval *= bump_shadowing_term((label & LABEL_TRANSMIT)? -sd->N : sd->N, sc->N, *omega_in);
  }
}
This revision now requires changes to proceed.Fri, Aug 2, 11:26 AM

You beat me to this! :)

Seems to work as intended: