aboutsummaryrefslogtreecommitdiff
path: root/src/models/Colour.ts
diff options
context:
space:
mode:
authorJames Barnett <noreply@jamesbarnett.xyz>2025-07-26 11:17:10 +0100
committerJames Barnett <noreply@jamesbarnett.xyz>2025-07-26 11:17:10 +0100
commit10bfc58085c6ab7e62077a1a9b6a6d922fffb025 (patch)
tree3e1d3ff39891c2c2408235c209566f4c51915859 /src/models/Colour.ts
parentebc500c522e7233fbc6037bce0569edf3a0b5136 (diff)
downloadjs-raytracer-10bfc58085c6ab7e62077a1a9b6a6d922fffb025.tar.xz
js-raytracer-10bfc58085c6ab7e62077a1a9b6a6d922fffb025.zip
Rework multithreaded rendering
Render worker tasks are now split into chunks rather than row blocks for better thread utilisation
Diffstat (limited to 'src/models/Colour.ts')
-rw-r--r--src/models/Colour.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/models/Colour.ts b/src/models/Colour.ts
new file mode 100644
index 0000000..3c9d8da
--- /dev/null
+++ b/src/models/Colour.ts
@@ -0,0 +1,16 @@
+import {Vector} from './Vector';
+import 'reflect-metadata';
+
+export class Colour extends Vector {
+ constructor(readonly r: number, readonly g: number, readonly b: number) {
+ super(r, g, b);
+ }
+
+ static fromVector(vector: Vector): Colour {
+ return new Colour(vector.x, vector.y, vector.z);
+ }
+
+ toVector(): Vector {
+ return new Vector(this.r, this.g, this.b);
+ }
+}