12 #include <glm/gtc/matrix_transform.hpp>
25 glm::lookAt(glm::vec3(0.0f, 3.0f, 12.0f), glm::vec3(0.0f, 1.5f, 0.0f),
26 glm::vec3(0.0f, 1.0f, 0.0f));
30 std::shared_ptr<sf::RenderWindow>
window;
60 void setupBuffers(GLuint &vao, GLuint &vbo, GLuint &ebo);
61 void bindAndDraw(GLuint vao, GLuint vbo, GLuint ebo,
62 std::vector<glm::vec3> &vertices,
63 std::vector<GLuint> &indices, GLenum mode);
71 void run(std::function<
void(std::vector<Float_Complex>, std::size_t)>
74 Spectrum3D(std::shared_ptr<sf::RenderWindow> win, std::shared_ptr<HUD> hud,
Definition: spectrum3D.hpp:22
GLuint vbo_wave
Definition: spectrum3D.hpp:48
std::shared_ptr< MobiusStrip > mobius_ptr
Definition: spectrum3D.hpp:35
GLuint vbo_fft
Definition: spectrum3D.hpp:53
int whell_delta
Definition: spectrum3D.hpp:45
void initOpenGL()
Definition: setup.cpp:15
std::unique_ptr< Sample > sample_ptr
Definition: spectrum3D.hpp:38
glm::mat4 view_wave_mat
Definition: spectrum3D.hpp:41
void viewWaveformFFT()
Visualiza a forma de onda com aplicação da FFT no sinal de áudio.
Definition: Spectrum3D/waves_sine.cpp:52
glm::mat4 proj_mat
Definition: spectrum3D.hpp:40
std::shared_ptr< HUD > hud_ptr
Definition: spectrum3D.hpp:31
void viewWaveform()
Visualiza a forma de onda do sinal de áudio.
Definition: Spectrum3D/waves_sine.cpp:4
std::shared_ptr< Shader > shader_wfft_ptr
Definition: spectrum3D.hpp:55
GLuint ebo_fft
Definition: spectrum3D.hpp:54
std::shared_ptr< Shader > shader_wave_ptr
Definition: spectrum3D.hpp:50
std::shared_ptr< Plane > plane_ptr
Definition: spectrum3D.hpp:34
glm::mat4 view_wff_mat
Definition: spectrum3D.hpp:42
void getWhellDelta(int w_delta)
Definition: spectrum3D.cpp:42
std::shared_ptr< FFT< sf::Int16 > > fft_ptr
Definition: spectrum3D.hpp:32
std::shared_ptr< Timer > timer_ptr
Definition: spectrum3D.hpp:37
GLuint ebo_wave
Definition: spectrum3D.hpp:49
void setupBuffers(GLuint &vao, GLuint &vbo, GLuint &ebo)
Definition: setup.cpp:41
void clear()
Limpa a tela.
Definition: setup.cpp:4
void run(std::function< void(std::vector< Float_Complex >, std::size_t)> handlePlot)
Definition: spectrum3D.cpp:51
void handleMouse()
Trata o movimento do mouse.
Definition: setup.cpp:93
std::shared_ptr< sf::RenderWindow > window
Definition: spectrum3D.hpp:30
Spectrum3D(std::shared_ptr< sf::RenderWindow > win, std::shared_ptr< HUD > hud, std::shared_ptr< FFT< sf::Int16 >> fft)
Definition: spectrum3D.cpp:10
GLuint vao_wave
Definition: spectrum3D.hpp:47
GLuint vao_fft
Definition: spectrum3D.hpp:52
const glm::mat4 view_default_mat
Definition: spectrum3D.hpp:24
void bindAndDraw(GLuint vao, GLuint vbo, GLuint ebo, std::vector< glm::vec3 > &vertices, std::vector< GLuint > &indices, GLenum mode)
Definition: setup.cpp:74