MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
networkmaterial.cpp
Go to the documentation of this file.
1//=============================================================================================================
35//=============================================================================================================
36// INCLUDES
37//=============================================================================================================
38
39#include "networkmaterial.h"
40
41//=============================================================================================================
42// QT INCLUDES
43//=============================================================================================================
44
45#include <Qt3DRender/qshaderprogram.h>
46#include <QFilterKey>
47
48#include <QUrl>
49#include <QVector3D>
50#include <QVector4D>
51
52//=============================================================================================================
53// USED NAMESPACES
54//=============================================================================================================
55
56using namespace DISP3DLIB;
57using namespace Qt3DRender;
58
59//=============================================================================================================
60// DEFINE MEMBER METHODS
61//=============================================================================================================
62
63NetworkMaterial::NetworkMaterial(bool bUseSortPolicy, QNode *parent)
64: AbstractPhongAlphaMaterial(bUseSortPolicy, parent)
65, m_pVertexGL3Shader(new QShaderProgram())
66, m_pVertexES2Shader(new QShaderProgram())
67{
68 init();
69 setShaderCode();
70}
71
72//=============================================================================================================
73
74void NetworkMaterial::setShaderCode()
75{
76 m_pVertexGL3Shader->setVertexShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/engine/model/materials/shaders/gl3/network.vert"))));
77 m_pVertexGL3Shader->setFragmentShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/engine/model/materials/shaders/gl3/network.frag"))));
78
79 m_pVertexES2Shader->setVertexShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/engine/model/materials/shaders/es2/network.vert"))));
80 m_pVertexES2Shader->setFragmentShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/engine/model/materials/shaders/es2/network.frag"))));
81
82 addShaderToRenderPass(QStringLiteral("pVertexGL3RenderPass"), m_pVertexGL3Shader);
83 addShaderToRenderPass(QStringLiteral("pVertexGL2RenderPass"), m_pVertexES2Shader);
84 addShaderToRenderPass(QStringLiteral("pVertexES2RenderPass"), m_pVertexES2Shader);
85}
86
87//=============================================================================================================
NetworkMaterial class declaration.
This abstract class is used as a base class for all materials that are using the phong alpha lightini...
virtual void addShaderToRenderPass(const QString &sObjectName, Qt3DRender::QShaderProgram *pShaderProgramm)
NetworkMaterial(bool bUseSortPolicy=false, Qt3DCore::QNode *parent=nullptr)