MNE-CPP  0.1.9
A Framework for Electrophysiology
geometrymultipliermaterial.h
Go to the documentation of this file.
1 //=============================================================================================================
35 #ifndef DISP3DLIB_GEOMETRYMULTIPLIERMATERIAL_H
36 #define DISP3DLIB_GEOMETRYMULTIPLIERMATERIAL_H
37 
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 
42 #include "../../../disp3D_global.h"
44 
45 //=============================================================================================================
46 // QT INCLUDES
47 //=============================================================================================================
48 
49 #include <QPointer>
50 #include <Qt3DRender/QMaterial>
51 
52 //=============================================================================================================
53 // EIGEN INCLUDES
54 //=============================================================================================================
55 
56 //=============================================================================================================
57 // FORWARD DECLARATIONS
58 //=============================================================================================================
59 
60 namespace Qt3DRender {
61  class QEffect;
62  class QParameter;
63  class QShaderProgram;
64  class QFilterKey;
65  class QTechnique;
66  class QRenderPass;
67 }
68 
69 namespace Qtcore {
70  class QColor;
71 }
72 
73 //=============================================================================================================
74 // DEFINE NAMESPACE DISP3DLIB
75 //=============================================================================================================
76 
77 namespace DISP3DLIB {
78 
79 //=============================================================================================================
80 // DISP3DLIB FORWARD DECLARATIONS
81 //=============================================================================================================
82 
83 //=============================================================================================================
91 {
92  Q_OBJECT
93 
94 public:
95 
96  //=========================================================================================================
103  explicit GeometryMultiplierMaterial(bool bUseSortPolicy = false, Qt3DCore::QNode *parent = nullptr);
104 
105  //=========================================================================================================
109  virtual ~GeometryMultiplierMaterial() = default;
110 
111  //=========================================================================================================
117  void setAmbient(const QColor &ambientColor);
118 
119 private:
120 
121  //=========================================================================================================
125  virtual void setShaderCode() override;
126 
127  QPointer<Qt3DRender::QParameter> m_pAmbientColor;
129  QPointer<Qt3DRender::QShaderProgram> m_pVertexES2Shader;
130  QPointer<Qt3DRender::QShaderProgram> m_pVertexGL3Shader;
131 };
132 
133 //=============================================================================================================
134 // INLINE DEFINITIONS
135 //=============================================================================================================
136 } // namespace DISP3DLIB
137 
138 #endif // DISP3DLIB_GEOMETRYMULTIPLIERMATERIAL_H
This abstract class is used as a base class for all materials that are using the phong alpha lightini...
Custom phong alpha material for instanced rendering.
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55
AbstractPhongAlphaMaterial class declaration.