libVFRendering
0.14.0
A vector field rendering library
include
VFRendering
SurfaceRenderer.hxx
1
#ifndef VFRENDERING_SURFACE_RENDERER_HXX
2
#define VFRENDERING_SURFACE_RENDERER_HXX
3
4
#include <array>
5
6
#include <VFRendering/VectorFieldRenderer.hxx>
7
8
namespace
VFRendering {
9
10
class
SurfaceRenderer
:
public
VectorFieldRenderer
{
11
public
:
12
SurfaceRenderer
(
const
View
& view,
const
VectorField
& vf);
13
virtual
~
SurfaceRenderer
();
14
virtual
void
draw(
float
aspect_ratio)
override
;
15
virtual
void
optionsHaveChanged(
const
std::vector<int>& changed_options)
override
;
16
17
protected
:
18
virtual
void
update(
bool
keep_geometry)
override
;
19
20
private
:
21
void
updateShaderProgram();
22
void
updateSurfaceIndices();
23
void
initialize();
24
25
bool
m_is_initialized =
false
;
26
unsigned
int
m_program = 0;
27
unsigned
int
m_vao = 0;
28
unsigned
int
m_ibo = 0;
29
unsigned
int
m_position_vbo = 0;
30
unsigned
int
m_direction_vbo = 0;
31
unsigned
int
m_num_indices = 0;
32
};
33
34
}
35
36
#endif
VFRendering::VectorField
Definition:
VectorField.hxx:16
VFRendering::VectorFieldRenderer
Definition:
VectorFieldRenderer.hxx:13
VFRendering::View
Definition:
View.hxx:23
VFRendering::SurfaceRenderer
Definition:
SurfaceRenderer.hxx:10
Generated by
1.8.17