7 #include <QOpenGLFunctions_3_3_Core>
12 class DataBoundingBox;
16 typedef std::shared_ptr<Renderer>
pointer;
17 virtual void draw(Matrix4f perspectiveMatrix, Matrix4f viewingMatrix,
float zNear,
float zFar,
bool mode2D) = 0;
18 virtual void postDraw();
32 virtual void stopPipeline();
38 virtual void setDisabled(
bool disabled);
43 virtual bool isDisabled()
const;
44 void setView(
View* view);
45 void setSynchronizedRendering(
bool synched);
46 bool getSynchronizedRendering()
const;
49 virtual void execute()
override;
56 void createShaderProgram(std::vector<std::string> shaderFilenames, std::string programName =
"default");
57 void attachShader(std::string filename, std::string programName =
"default");
58 void activateShader(std::string programName =
"default");
59 void deactivateShader();
60 uint getShaderProgram(std::string programName =
"default");
61 void setShaderUniform(std::string name, Matrix4f matrix, std::string shaderProgramName =
"default");
62 void setShaderUniform(std::string name, Affine3f matrix, std::string shaderProgramName =
"default");
63 void setShaderUniform(std::string name, Vector3f vector, std::string shaderProgramName =
"default");
64 void setShaderUniform(std::string name,
float value, std::string shaderProgramName =
"default");
65 void setShaderUniform(std::string name,
bool value, std::string shaderProgramName =
"default");
66 void setShaderUniform(std::string name,
int value, std::string shaderProgramName =
"default");
67 int getShaderUniformLocation(std::string name, std::string shaderProgramName =
"default");
70 bool mHasRendered =
true;
72 bool m_synchedRendering =
true;
79 bool m_disabled =
false;
102 std::unordered_map<std::string, uint> mShaderProgramIDs;