MNE-CPP  0.1.9
A Framework for Electrophysiology
pervertextessphongalphamaterial.h
Go to the documentation of this file.
1 //=============================================================================================================
35 #ifndef DISP3DLIB_PERVERTEXTESSPHONGALPHAMATERIAL_H
36 #define DISP3DLIB_PERVERTEXTESSPHONGALPHAMATERIAL_H
37 
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 
42 #include "../../../disp3D_global.h"
44 
45 //=============================================================================================================
46 // QT INCLUDES
47 //=============================================================================================================
48 
49 #include <QPointer>
50 
51 //=============================================================================================================
52 // EIGEN INCLUDES
53 //=============================================================================================================
54 
55 //=============================================================================================================
56 // FORWARD DECLARATIONS
57 //=============================================================================================================
58 
59 namespace Qt3DRender {
60  class QParameter;
61  class QShaderProgram;
62  class QFilterKey;
63  class QTechnique;
64  class QRenderPass;
65  class QGraphicsApiFilter;
66 }
67 
68 //=============================================================================================================
69 // DEFINE NAMESPACE DISP3DLIB
70 //=============================================================================================================
71 
72 namespace DISP3DLIB
73 {
74 
75 //=============================================================================================================
76 // DISP3DLIB FORWARD DECLARATIONS
77 //=============================================================================================================
78 
79 //=============================================================================================================
86 {
87  Q_OBJECT
88 
89 public:
90  //=========================================================================================================
97  explicit PerVertexTessPhongAlphaMaterial(bool bUseSortPolicy = false, Qt3DCore::QNode *parent = nullptr);
98 
99  //=========================================================================================================
103  ~PerVertexTessPhongAlphaMaterial() = default;
104 
105 private:
106  //=========================================================================================================
110  void init() override;
111 
112  //=========================================================================================================
116  void setShaderCode() override;
117 
118  QPointer<Qt3DRender::QParameter> m_pInnerTessParameter;
119  QPointer<Qt3DRender::QParameter> m_pOuterTessParameter;
120  QPointer<Qt3DRender::QParameter> m_pTriangleScaleParameter;
121 
122  QPointer<Qt3DRender::QTechnique> m_pVertexGL4Technique;
123  QPointer<Qt3DRender::QRenderPass> m_pVertexGL4RenderPass;
124  QPointer<Qt3DRender::QShaderProgram> m_pVertexGL4Shader;
125 };
126 } // namespace DISP3DLIB
127 
128 #endif // DISP3DLIB_PERVERTEXTESSPHONGALPHAMATERIAL_H
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55
AbstractPhongAlphaMaterial class declaration.
This abstract class is used as a base class for all materials that are using the phong alpha lightini...
PerVertexTessPhongAlphaMaterial is provides a Qt3D material with own shader support.