summaryrefslogtreecommitdiff
path: root/tests/autodiff/material/DiffuseMaterialInstance.slang
diff options
context:
space:
mode:
authorwinmad <winmad.wlf@gmail.com>2023-03-22 22:04:28 -0700
committerGitHub <noreply@github.com>2023-03-22 22:04:28 -0700
commit44ab0952f0321e2a3b988cc9b3f502c7ab440e5a (patch)
tree8f9ed4761d8eb67a09133e8983404d79d1320166 /tests/autodiff/material/DiffuseMaterialInstance.slang
parent259a015feb9d4ab65e8fbba32f6c777e92780cc7 (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.slang26
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);
+ }
+};