aboutsummaryrefslogtreecommitdiff
path: root/src/models/Material.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/models/Material.ts')
-rw-r--r--src/models/Material.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/models/Material.ts b/src/models/Material.ts
new file mode 100644
index 0000000..f0af5e2
--- /dev/null
+++ b/src/models/Material.ts
@@ -0,0 +1,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
+ ) {}
+}