[Enhancement Request]: Standard Surface implementation

Open
#6 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
cpp

Research direction

The issue does not identify a file, test, or entry point. Begin by locating Aurora's Standard Surface implementation, then compare its transmission, volumetric, and subsurface behavior with the linked specification and Arnold; completion would require an agreed scope and corresponding validation.

Written by the indexing model from the issue text.

Description

enhancement

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.

Dominant language
C++
Stars
627
Forks
61
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Autodesk/Aurora

All issues in Autodesk/Aurora

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.