API Documentation
Loading...
Searching...
No Matches
GraphicsSession.h
Go to the documentation of this file.
1#pragma once
2#include "DLLInfo.h"
5#include "Base/Headers/UUID.h"
7namespace NDEVR
8{
9 class Model;
10 class Geometry;
11 class String;
12 class Material;
13 class Scene;
14 enum class PrimitiveProperty;
16 {
17 public:
18 virtual ~GraphicsSession(){}
19 virtual void addModel(const UUID& object);
20 virtual void addCamera(const UUID& object);
21 virtual void addScene(const UUID& scene);
22 virtual void addMaterial(const UUID& material);
23 virtual void addGeometry(const UUID& geo);
24 virtual void readShader(const String& shader) = 0;
25 virtual void removeModel(const UUID& model);
26 virtual void removeMaterial(const UUID& material);
27 virtual void removeGeometry(const UUID& geo);
28 virtual void removeCamera(const UUID& camera);
29 virtual void setupScene(GraphicsUpdateArguments& args);
30 virtual void addRenderObject(GraphicsUpdateArguments& args, Model& model);
31 virtual void addRenderObject(const Scene& scene, const Model& model, const Material& mat, const Geometry& mesh, PrimitiveProperty property) = 0;
33 virtual void postClearAll();
34 virtual UUID uuid() = 0;
35 protected:
38 bool m_needs_model_refresh = true;
39 bool m_needs_command_refresh = false;
40 bool m_needs_clear_all = false;
41 };
42}
#define NDEVR_GRAPHICS_API
Definition DLLInfo.h:74
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition Dictionary.h:48
Definition Pointer.hpp:303
Definition Geometry.h:64
Definition GraphicsPipeline.h:45
Definition GraphicsSession.h:16
Dictionary< UUID, uint04 > m_added_models
Definition GraphicsSession.h:36
Buffer< UUID > m_added_cameras
Definition GraphicsSession.h:37
virtual void addRenderObject(const Scene &scene, const Model &model, const Material &mat, const Geometry &mesh, PrimitiveProperty property)=0
virtual void readShader(const String &shader)=0
virtual UUID uuid()=0
virtual DynamicPointer< GraphicsPipeline > createRenderPipeline()=0
virtual ~GraphicsSession()
Definition GraphicsSession.h:18
Definition GraphicsUpdateArguments.h:40
Definition Material.h:45
Definition Model.h:54
Definition Model.h:491
Definition String.h:40
Definition UUID.h:66
Definition ACIColor.h:37
void addCamera(const DynamicPointer< Camera > &camera, kmldom::DocumentPtr doc)
Definition KMLFactory.cpp:498
PrimitiveProperty
Definition DesignObjectBase.h:44