Set up demo

This commit is contained in:
Andras Schmelczer 2023-05-31 22:22:43 +01:00
commit 8817e5b090
No known key found for this signature in database
GPG key ID: FC8F2C3D3D1A718C
17 changed files with 193 additions and 149 deletions

View file

@ -9,7 +9,7 @@ import { vec2 } from 'gl-matrix';
export class AgentPipeline {
private static readonly WORKGROUP_SIZE = 64;
private static readonly UNIFORM_COUNT = 16;
private static readonly UNIFORM_COUNT = 19;
private readonly bindGroupLayout: GPUBindGroupLayout;
private readonly pipeline: GPUComputePipeline;
@ -44,26 +44,33 @@ export class AgentPipeline {
}
public setParameters({
deltaTime,
center,
radius,
brushTrailWeight,
moveSpeed,
turnSpeed,
sensorOffsetAngle,
sensorOffsetDistance,
nextGenerationSensorOffsetDistance,
currentGenerationAggression,
nextGenerationAggression,
nextGenerationSpeed,
isNextGenerationOdd,
center,
radius,
turnWhenLost,
individualTrailWeight,
deinfectionProbability,
infectionProbability,
agentCount,
}: AgentSettings & {
deltaTime: number;
currentGenerationAggression: number;
nextGenerationAggression: number;
nextGenerationSensorOffsetDistance: number;
nextGenerationSpeed: number;
isNextGenerationOdd: number;
center: vec2;
radius: number;
infectionProbability: number;
agentCount: number;
}) {
this.agentCount = agentCount;
@ -75,19 +82,21 @@ export class AgentPipeline {
radius,
brushTrailWeight,
moveSpeed,
turnSpeed,
moveSpeed * deltaTime,
turnSpeed * deltaTime,
(sensorOffsetAngle * Math.PI) / 180,
sensorOffsetDistance,
currentGenerationAggression,
nextGenerationAggression,
nextGenerationSensorOffsetDistance,
nextGenerationSpeed * deltaTime,
isNextGenerationOdd,
turnWhenLost,
individualTrailWeight,
deinfectionProbability,
infectionProbability,
agentCount,
])