1 #ifndef VFRENDERING_VECTOR_SPHERE_RENDERER_HXX
2 #define VFRENDERING_VECTOR_SPHERE_RENDERER_HXX
4 #include <VFRendering/VectorFieldRenderer.hxx>
6 namespace VFRendering {
11 POINT_SIZE_RANGE = 400,
13 USE_SPHERE_FAKE_PERSPECTIVE
18 virtual void draw(
float aspect_ratio)
override;
19 virtual void optionsHaveChanged(
const std::vector<int>& changed_options)
override;
22 virtual void update(
bool keep_geometry)
override;
25 void updateShaderProgram();
28 bool m_is_initialized =
false;
29 unsigned int m_sphere_points_program = 0;
30 unsigned int m_sphere_points_vao = 0;
31 unsigned int m_sphere_points_positions_vbo = 0;
32 unsigned int m_sphere_points_directions_vbo = 0;
33 unsigned int m_sphere_background_program = 0;
34 unsigned int m_sphere_background_vao = 0;
35 unsigned int m_sphere_background_vbo = 0;
36 unsigned int m_num_instances = 0;
42 glm::vec2 default_value = {1.0f, 4.0f};
47 float default_value = 0.95f;
52 bool default_value =
true;