summaryrefslogtreecommitdiffstats
path: root/tests/autodiff/material/DiffuseMaterialInstance.slang
blob: c6f0e315b32d81eb64b95238bf53599a110187b2 (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;

public struct DiffuseBSDF : IBSDF
{
    public float3 albedo;

    [TreatAsDifferentiable]
    public float3 eval(const float3 wiLocal, const float3 woLocal)
    {
        return albedo;
    }
};

public struct DiffuseMaterialInstance : IMaterialInstance
{
    public DiffuseBSDF bsdf;

    [TreatAsDifferentiable]
    public float3 eval(const float3 wi, const float3 wo)
    {
        return bsdf.eval(wi, wo);
    }
};