Skip to content

Commit 935ed69

Browse files
committed
undefined radius?
1 parent ac8ae14 commit 935ed69

File tree

5 files changed

+11
-8
lines changed

5 files changed

+11
-8
lines changed

src/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function setRenderer(mode: string) {
5050
}
5151

5252
const renderModes = { naive: 'naive', forwardPlus: 'forward+', clusteredDeferred: 'clustered deferred' };
53-
let renderModeController = gui.add({ mode: renderModes.forwardPlus }, 'mode', renderModes);
53+
let renderModeController = gui.add({ mode: renderModes.clusteredDeferred }, 'mode', renderModes);
5454
renderModeController.onChange(setRenderer);
5555

5656
setRenderer(renderModeController.getValue());

src/renderer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Scene } from './stage/scene';
22
import { Lights } from './stage/lights';
33
import { Camera } from './stage/camera';
44
import { Stage } from './stage/stage';
5+
import * as shaders from './shaders/shaders';
56

67
export var canvas: HTMLCanvasElement;
78
export var canvasFormat: GPUTextureFormat;
@@ -140,7 +141,7 @@ export abstract class Renderer {
140141

141142
this.draw();
142143

143-
if (true)
144+
if (shaders.constants.performanceTesting)
144145
{
145146
await device.queue.onSubmittedWorkDone();
146147
}

src/shaders/common.wgsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ struct CameraUniforms {
3535

3636
// CHECKITOUT: this special attenuation function ensures lights don't affect geometry outside the maximum light radius
3737
fn rangeAttenuation(distance: f32) -> f32 {
38-
return clamp(1.f - pow(distance / ${lightRadius}, 4.f), 0.f, 1.f) / (distance * distance);
38+
return clamp(1.f - pow(distance / 2, 4.f), 0.f, 1.f) / (distance * distance);
3939
}
4040

4141
fn calculateLightContrib(light: Light, posWorld: vec3f, nor: vec3f) -> vec3f {

src/shaders/shaders.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,15 @@ export const constants = {
3030
moveLightsWorkgroupSize: 128,
3131

3232
clusterLightsWorkgroupX: 16,
33-
clusterLightsWorkgroupY: 16,
34-
clusterLightsWorkgroupZ: 1,
33+
clusterLightsWorkgroupY: 8,
34+
clusterLightsWorkgroupZ: 2,
3535

3636
numSlices: 32,
3737
sliceLength: 1,
38-
tileSize: 64,
39-
maxLightsPerCluster: 256,
38+
tileSize: 256,
39+
maxLightsPerCluster: 512,
40+
41+
performanceTesting: false,
4042

4143
near: 0.1,
4244
far: 5000,

src/stage/lights.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ export class Lights {
251251

252252
// CHECKITOUT: this is where the light movement compute shader is dispatched from the host
253253
onFrame(time: number) {
254-
if (this.debugStopLights)
254+
if (this.debugStopLights && shaders.constants.performanceTesting)
255255
{
256256
return;
257257
}

0 commit comments

Comments
 (0)