summaryrefslogtreecommitdiff
path: root/tests/autodiff/material/DiffuseMaterialInstance.slang
blob: ca6bfc69a2f0cbee94893d0c76f9ac1f2baa69a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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);
    }
};