pub struct SystemGlobals {Show 16 fields
pub time: f32,
pub delta_time: f32,
pub frame_count: u32,
pub resolution: [f32; 2],
pub mouse: [f32; 2],
pub audio_volume: f32,
pub audio_bass: f32,
pub audio_mid: f32,
pub audio_high: f32,
pub beat_bpm: f32,
pub beat_phase: f32,
pub beat_count: u32,
pub external_input_1: f32,
pub external_input_2: f32,
pub external_input_3: f32,
pub external_input_4: f32,
/* private fields */
}Expand description
System globals shared across all nodes
Bound to @group(0) @binding(0) in all shaders. This provides common values that are the same for all nodes in a render pass.
Layout follows std140 rules:
- vec2 = 8 bytes, 8-byte aligned
- vec4 = 16 bytes, 16-byte aligned
- Total size must be multiple of 16 bytes
Fields§
§time: f32Time since engine start in seconds
delta_time: f32Delta time since last frame in seconds
frame_count: u32Current frame count
resolution: [f32; 2]Screen resolution in pixels (width, height)
mouse: [f32; 2]Mouse position normalized to 0.0-1.0 (x, y)
audio_volume: f32Audio analysis: overall volume (0.0-1.0)
audio_bass: f32Audio analysis: bass frequencies (0.0-1.0)
audio_mid: f32Audio analysis: mid frequencies (0.0-1.0)
audio_high: f32Audio analysis: high frequencies (0.0-1.0)
beat_bpm: f32Current BPM (beats per minute)
beat_phase: f32Beat phase (0.0-1.0, 0.0 = on beat)
beat_count: u32Cumulative beat count
external_input_1: f32External input 1 (OSC, sensor, SNS, etc.)
external_input_2: f32External input 2 (OSC, sensor, SNS, etc.)
external_input_3: f32External input 3 (OSC, sensor, SNS, etc.)
external_input_4: f32External input 4 (OSC, sensor, SNS, etc.)
Implementations§
Source§impl SystemGlobals
impl SystemGlobals
Sourcepub const SIZE: u64 = 80u64
pub const SIZE: u64 = 80u64
Size in bytes (must be multiple of 16 for std140) Layout: time(4) + delta_time(4) + frame_count(4) + pad(4) = 16 resolution(8) + mouse(8) = 16 audio_volume(4) + audio_bass(4) + audio_mid(4) + audio_high(4) = 16 beat_bpm(4) + beat_phase(4) + beat_count(4) + pad(4) = 16 external_input_1(4) + external_input_2(4) + external_input_3(4) + external_input_4(4) = 16 Total: 80 bytes
Trait Implementations§
Source§impl Clone for SystemGlobals
impl Clone for SystemGlobals
Source§fn clone(&self) -> SystemGlobals
fn clone(&self) -> SystemGlobals
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SystemGlobals
impl Debug for SystemGlobals
Source§impl Default for SystemGlobals
impl Default for SystemGlobals
impl Copy for SystemGlobals
impl Pod for SystemGlobals
Auto Trait Implementations§
impl Freeze for SystemGlobals
impl RefUnwindSafe for SystemGlobals
impl Send for SystemGlobals
impl Sync for SystemGlobals
impl Unpin for SystemGlobals
impl UnwindSafe for SystemGlobals
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.