diff options
| author | winmad <winmad.wlf@gmail.com> | 2023-03-22 22:04:28 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-22 22:04:28 -0700 |
| commit | 44ab0952f0321e2a3b988cc9b3f502c7ab440e5a (patch) | |
| tree | 8f9ed4761d8eb67a09133e8983404d79d1320166 /tests/autodiff/material/DiffuseMaterialInstance.slang | |
| parent | 259a015feb9d4ab65e8fbba32f6c777e92780cc7 (diff) | |
Create a simplified Falcor material system in slang test (#2721)
* Duplicate an example of differentiating Falcor's material system
* Add a second BSDF
* WIP: update test; grad didn't pass through
* Finalize test
---------
Co-authored-by: Lifan Wu <lifanw@nvidia.com>
Diffstat (limited to 'tests/autodiff/material/DiffuseMaterialInstance.slang')
| -rw-r--r-- | tests/autodiff/material/DiffuseMaterialInstance.slang | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/autodiff/material/DiffuseMaterialInstance.slang b/tests/autodiff/material/DiffuseMaterialInstance.slang new file mode 100644 index 000000000..ca6bfc69a --- /dev/null +++ b/tests/autodiff/material/DiffuseMaterialInstance.slang @@ -0,0 +1,26 @@ +//TEST_IGNORE_FILE: + +__exported import IMaterialInstance; +__exported import IBSDF; + +struct DiffuseBSDF : IBSDF +{ + float3 albedo; + + [TreatAsDifferentiable] + float3 eval(const float3 wiLocal, const float3 woLocal) + { + return albedo; + } +}; + +struct DiffuseMaterialInstance : IMaterialInstance +{ + DiffuseBSDF bsdf; + + [TreatAsDifferentiable] + float3 eval(const float3 wi, const float3 wo) + { + return bsdf.eval(wi, wo); + } +}; |
