summaryrefslogtreecommitdiff
path: root/src/shaders/common_uniforms.wgsl
blob: 5dc02518df9aea875debfe991560a7b085aad40b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
struct CommonUniforms {
    resolution: vec2f,      // Screen dimensions
    aspect_ratio: f32,          // Width/height ratio
    time: f32,                  // Physical time in seconds (unaffected by tempo)
    beat_time: f32,             // Musical time in beats (absolute, tempo-scaled)
    beat_phase: f32,            // Fractional beat (0.0-1.0 within current beat)
    audio_intensity: f32,       // Audio peak for beat sync
    _pad: f32,                  // Padding
};
struct GlobalUniforms {
    view_proj: mat4x4f,
    inv_view_proj: mat4x4f,
    camera_pos_time: vec4f,
    params: vec4f,
    resolution: vec2f,
};
struct ObjectData {
    model: mat4x4f,
    inv_model: mat4x4f,
    color: vec4f,
    params: vec4f,
};
struct ObjectsBuffer {
    objects: array<ObjectData>,
};