diff options
| author | James Barnett <noreply@jamesbarnett.xyz> | 2025-07-26 11:17:10 +0100 |
|---|---|---|
| committer | James Barnett <noreply@jamesbarnett.xyz> | 2025-07-26 11:17:10 +0100 |
| commit | 10bfc58085c6ab7e62077a1a9b6a6d922fffb025 (patch) | |
| tree | 3e1d3ff39891c2c2408235c209566f4c51915859 /src/Framebuffer.ts | |
| parent | ebc500c522e7233fbc6037bce0569edf3a0b5136 (diff) | |
| download | js-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/Framebuffer.ts')
| -rw-r--r-- | src/Framebuffer.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/Framebuffer.ts b/src/Framebuffer.ts index a6ad5fc..63881ae 100644 --- a/src/Framebuffer.ts +++ b/src/Framebuffer.ts @@ -1,3 +1,5 @@ +import {Colour} from "./models/Colour"; + export class Framebuffer { readonly width: number; readonly height: number; @@ -22,11 +24,11 @@ export class Framebuffer { ); } - writePixelAt(x: number, y: number, r: number, g: number, b: number) { + writePixelAt(x: number, y: number, colour: Colour) { const startIdx = (y * this.width + x) * 4; - this.canvasImageData.data[startIdx] = r; - this.canvasImageData.data[startIdx + 1] = g; - this.canvasImageData.data[startIdx + 2] = b; + this.canvasImageData.data[startIdx] = colour.r; + this.canvasImageData.data[startIdx + 1] = colour.g; + this.canvasImageData.data[startIdx + 2] = colour.b; this.canvasImageData.data[startIdx + 3] = 255; // No A } |