1 #ifndef LIGHTRAYRENDERER_H
2 #define LIGHTRAYRENDERER_H
7 class QOpenGLFunctions;
8 class QOpenGLShaderProgram;
9 template<
typename T>
class QSet;
10 template<
typename T>
class QVector;
38 virtual void paint(QOpenGLFunctions &gl,
const QMatrix4x4 &viewProjection, QOpenGLShaderProgram &shaderProgram);
66 #endif // LIGHTRAYRENDERER_H
virtual ~LightRayRenderer()
Definition: lightrayrenderer.cpp:24
void addLightRay(const LightRay &lightRay)
Adds a new LightRay that will be rendered. Dynamic LightRays are added without checking whether they...
Definition: lightrayrenderer.cpp:34
The LightRay class describes the lightrays sent into Scene. Because LightRays are sent into Scene ri...
Definition: lightray.h:24
virtual void paint(QOpenGLFunctions &gl, const QMatrix4x4 &viewProjection, QOpenGLShaderProgram &shaderProgram)
Paints all LightRays.
Definition: lightrayrenderer.cpp:50
QOpenGLBuffer * m_dynamicVertexBuffer
Definition: lightrayrenderer.h:59
QSet< LightRayData > * m_dynamicRays
Definition: lightrayrenderer.h:58
LightRayRenderer(QObject *parent=0)
Definition: lightrayrenderer.cpp:12
QOpenGLBuffer * m_staticIndexBuffer
Definition: lightrayrenderer.h:61
void calculateVertexDataFor(const LightRayData &rayData, QVector< float > &vertices, QVector< unsigned int > &indices)
Calculates vertex data out of start and end position of a ray.
Definition: lightrayrenderer.cpp:105
Definition: lightrayrenderer.h:9
void updateStaticVBO()
Definition: lightrayrenderer.cpp:171
The LightRayRenderer packs LightRays and paints them.
Definition: lightrayrenderer.h:18
Definition: gemrenderer.h:11
bool m_isStaticVBOUpdateRequired
Definition: lightrayrenderer.h:60
The LightRayData class stores data of a LightRay. The LightRayData doesn't inherit from QObject...
Definition: lightraydata.h:13
void updateDynamicVBO()
Definition: lightrayrenderer.cpp:166
void updateRayVBO(QOpenGLBuffer *&vertexBuffer, QOpenGLBuffer *&indexBuffer, const QSet< LightRayData > &data)
Definition: lightrayrenderer.cpp:138
QSet< LightRayData > * m_staticRays
Definition: lightrayrenderer.h:62
QOpenGLBuffer * m_staticVertexBuffer
Definition: lightrayrenderer.h:63
void resetDynamicRays()
Removes all dynamic rays. It is suggested to do so every frame.
Definition: lightrayrenderer.cpp:90
QOpenGLBuffer * m_dynamicIndexBuffer
Definition: lightrayrenderer.h:57