Autodesk / Aurora

Real-time GPU path tracing with an OpenUSD Hydra render delegate
Apache License 2.0
514 stars 34 forks source link

[Enhancement Request]: Standard Surface implementation #6

Open PotatoPot6676 opened 1 year ago

PotatoPot6676 commented 1 year ago

Hey,

Thanks a lot for opening up the code 😄 I'm very grateful as it a very useful reference on how one can implement the Autodesk Standard Surface model. Such an implement of a multi-lobed BSDF model is hard to find online.

Looking through the code, it appears Aurora's implementation of the Standard Surface model diverges from the specification as well as Arnold in some key places like:

  1. Delta distribution is used for transmission rather than GGX. As a result, rough transmission for glass isn't supported.
  2. Volumetric properties aren't handled yet. It would be useful for absorption/scattering as well as brute force SSS.
  3. Subsurface uses diffuse transmission even if the thin walled property is false (The spec doesn't actually specify a model to be used though)

The readme says "..new features and enhancements to performance and quality planned" so my questions would be:

  1. Are there any plans to bring the material model closer to how its implemented in Arnold?
  2. Is there a list of planned features/enhancements that can be openly shared with the community?

Thank you.

pixnblox commented 1 year ago

Thanks for reaching out.

  1. YES, we do plan to improve the Standard Surface implementation. What we have now was deemed sufficient for our current needs, but is by no means a final state.
  2. We also have a fairly extensive list of features / tasks / issues tracked internally, and there was no easy way to share that publicly. Instead we will probably just list some highlights, maybe on the site wiki so we can keep it updated independent of the code.

We'll leave this issue open until we get that list together.

PotatoPot6676 commented 1 year ago

Thanks for your response. That cleared things up :)