#pragma once #include <iostream> #include <vector> // GLEW #define GLEW_STATIC #include <GL/glew.h> // GLFW #include <GLFW/glfw3.h> //GLM #include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> #include <glm/gtc/type_ptr.hpp> //Shader #include "Shader.h" //matematics for modeling #include "Satellite.h" enum axis {_OX, _OY, _OZ}; void scroll_callback(GLFWwindow* window, double xoffset, double yoffset); void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode); void coord_axis(axis i_axis, Shader& _Shader); void draw_plot_OXY(Shader& _Shader); void modulation(Satellite& sat, double step_time, double end, std::vector<GLfloat>& DCS, std::vector<GLfloat>& DVS); void draw_modulation(std::vector<GLfloat>& DCS, std::vector<GLfloat>& DVS, Shader& _shader);