3 //#define VG_ECHO_LPF_BUTTERWORTH
5 #include "vg_platform.h"
6 #include "dep/glad/glad.h"
14 u8
*view_texture_buffer
;
17 float echo_distances
[14],
46 f32 a0
, a1
, a2
, b1
, b2
, c0
, d0
,
47 xnz1
, xnz2
, ynz1
, ynz2
, offset
;
50 void vg_dsp_init( void );
51 void vg_dsp_free( void );
52 void dsp_update_tunings(void);
53 void vg_dsp_process( float *stereo_in
, float *stereo_out
);
54 void vg_dsp_update_texture( void );
56 f32
dsp_biquad_process( struct dsp_biquad
*bq
, f32 xn
);
57 void dsp_init_biquad_butterworth_lpf( struct dsp_biquad
*bq
, f32 fc
);
58 void dsp_read_delay( struct dsp_delay
*delay
, float *s
, u32 t
);
59 void dsp_write_delay( struct dsp_delay
*delay
, float *s
);
60 void dsp_init_delay( struct dsp_delay
*delay
, float length
);
61 void dsp_update_lpf( struct dsp_lpf
*lpf
, float freq
);
62 void dsp_init_lpf( struct dsp_lpf
*lpf
, float freq
);
63 void dsp_write_lpf( struct dsp_lpf
*lpf
, float *s
);
64 void dsp_read_lpf( struct dsp_lpf
*lpf
, float *s
);
65 void dsp_init_schroeder( struct dsp_schroeder
*sch
, float length
, float gain
);
66 void dsp_process_schroeder( struct dsp_schroeder
*sch
,
67 float *input
, float *output
);