Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
PathTraces.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4#include <QOpenGLFunctions_4_5_Core>
8
9class SceneManager;
10
12public:
13 PathTraces(SceneManager* sceneManager, QOpenGLFunctions_4_5_Core* glFuncs);
14 ~PathTraces() override;
15
16 Shader* getShader() const override { return traceShader; }
17 Mesh* getMesh() const override { return nullptr; }
18 uint32_t getObjectID() const override { return 0; }
19
20 void draw() const override;
21
22 void setEnabled(bool value) { enabled = value; }
23 void setTimeWindow(float value) { timeWindow = value; }
24
25private:
26 SceneManager* sceneManager;
27 QOpenGLFunctions_4_5_Core* gl;
28 GLuint vao = 0;
29 GLuint vbo = 0;
30 Shader* traceShader = nullptr;
31 bool enabled = true;
32 float timeWindow = 2.0f;
33};
Core interfaces for the rendering system supporting both instanced and custom drawing.
Interface for objects with specialized rendering requirements.
Definition IDrawable.h:181
GPU mesh representation with support for instanced rendering.
Definition Mesh.h:58
Shader * getShader() const override
Gets the shader used to render this object.
Definition PathTraces.h:16
uint32_t getObjectID() const override
Gets the unique identifier for this object.
Definition PathTraces.h:18
void setTimeWindow(float value)
Definition PathTraces.h:23
Mesh * getMesh() const override
Gets the mesh geometry for this object.
Definition PathTraces.h:17
void setEnabled(bool value)
Definition PathTraces.h:22
void draw() const override
Performs custom rendering for this object.
~PathTraces() override
Definition Shader.h:6