skein/src/orbitvisualizer.hpp

30 lines
685 B
C++
Raw Normal View History

2024-08-17 21:51:42 +01:00
#pragma once
#include <GL/glew.h>
#include <vector>
2024-08-24 13:18:08 +01:00
#include <skein/particlemap.h>
2024-08-17 21:51:42 +01:00
class OrbitVisualizer
{
public:
2024-08-24 13:18:08 +01:00
OrbitVisualizer(const ParticleMap& map, const std::string& particleId, const GLuint shaderProgram, float scale);
2024-08-17 21:51:42 +01:00
~OrbitVisualizer();
void render(const float time);
private:
const float _pi = 3.14159265359;
const int _vertexCount = 100;
const GLuint _shaderProgram;
2024-08-24 13:18:08 +01:00
const ParticleMap& _map;
const std::string _particleId;
2024-08-21 14:56:56 +01:00
const float _scale;
2024-08-17 21:51:42 +01:00
GLuint _vbo;
GLuint _vao;
std::vector<float> _vertices;
2024-08-24 13:18:08 +01:00
void regenerateVertices(const glm::vec3& basePos);
2024-08-17 21:51:42 +01:00
};