SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
glshadersimple.h
Go to the documentation of this file.
1 // Copyright (C) 2016 F4EXB //
3 // written by Edouard Griffiths //
4 // //
5 // This program is free software; you can redistribute it and/or modify //
6 // it under the terms of the GNU General Public License as published by //
7 // the Free Software Foundation as version 3 of the License, or //
8 // (at your option) any later version. //
9 // //
10 // This program is distributed in the hope that it will be useful, //
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
13 // GNU General Public License V3 for more details. //
14 // //
15 // You should have received a copy of the GNU General Public License //
16 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
18 
19 #ifndef INCLUDE_GUI_GLSHADERSIMPLE_H_
20 #define INCLUDE_GUI_GLSHADERSIMPLE_H_
21 
22 #include <QString>
23 #include <QOpenGLFunctions>
24 
25 #include "export.h"
26 
27 class QOpenGLShaderProgram;
28 class QMatrix4x4;
29 class QVector4D;
30 
32 {
33 public:
35  ~GLShaderSimple();
36 
37  void initializeGL();
38  void drawPoints(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
39  void drawPolyline(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
40  void drawSegments(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
41  void drawContour(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
42  void drawSurface(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
43  void cleanup();
44 
45 private:
46  void draw(unsigned int mode, const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
47 
48  QOpenGLShaderProgram *m_program;
51  static const QString m_vertexShaderSourceSimple;
52  static const QString m_fragmentShaderSourceColored;
53 };
54 
55 #endif /* INCLUDE_GUI_GLSHADERSIMPLE_H_ */
static const QString m_fragmentShaderSourceColored
#define SDRGUI_API
Definition: export.h:52
static const QString m_vertexShaderSourceSimple
QOpenGLShaderProgram * m_program