aboutsummaryrefslogtreecommitdiff
path: root/src/Material.ts
blob: f0af5e2ed805e81a905a992f62fca38c97155220 (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
27
import {Type} from 'class-transformer';
import {Colour} from './Colour';

export class Material {
  @Type(() => Colour)
  readonly diffuseColour: Colour;
  @Type(() => Albedo)
  readonly albedo: Albedo;
  constructor(
    diffuseColour: Colour,
    albedo: Albedo,
    readonly specularExponent: number,
    readonly refractiveIndex: number
  ) {
    this.diffuseColour = diffuseColour;
    this.albedo = albedo;
  }
}

export class Albedo {
  constructor(
    readonly diffuseAlbedo: number,
    readonly specularAlbedo: number,
    readonly reflectionAlbedo: number,
    readonly refractionAlbedo: number
  ) {}
}