summaryrefslogtreecommitdiff
path: root/tests/autodiff/material/DiffuseMaterialInstance.slang
diff options
context:
space:
mode:
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);
+ }
+};