API Documentation
Loading...
Searching...
No Matches
GLESGraphicsPipeline.h
Go to the documentation of this file.
1#pragma once
6namespace NDEVR
7{
8
9 class GLESGraphicsWindow;
10 /**--------------------------------------------------------------------------------------------------
11 \brief Creates and manages the resources necessary for rendering a single Viewport within the OpenGL
12 pipeline. May be run on a single thread for each Viewport.
13 *-----------------------------------------------------------------------------------------------**/
15 {
16 public:
19 , m_device(session->device().as<GraphicsDevice>())
20 , m_window(nullptr)
21 , m_session(session)
22 {}
24 virtual bool runCommand(GraphicsUpdateArguments&) override
25 {
26 return true;
27 }
28 virtual void commit(GraphicsUpdateArguments&) override {};
29 virtual void updateUniformBuffer(GraphicsUpdateArguments&) override;
30 virtual bool createPipeline(GraphicsUpdateArguments& args) override
31 {
32 args.setModelRecreation(false);
34 return true;
35 };
36 //virtual void setDevice(const DynamicPointer<GraphicsDevice>& instance) = 0;
37 virtual const ConstPointer<GraphicsDevice>& device() const override { return m_device; }
38 virtual const DynamicPointer<GraphicsDevice>& device() override { return m_device; }
39 virtual bool hasCommand() const override
40 {
41 return true;
42 };
43 virtual void drawFrame(GraphicsUpdateArguments& args) override;
44 virtual void ensureLastRenderComplete() override
45 {
46
47 }
48 virtual void cleanup() override
49 {
50
51 }
52 virtual void setWindowInstance(WindowInstance* instance) override;
53 virtual void cleanResources() override
54 {
55
56 }
57 virtual void init(GraphicsUpdateArguments&) override
58 {
59
60 }
65
66 };
67}
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Definition GraphicsPipeline.h:42
A hash-based key-value store, useful for quick associative lookups.
Definition Dictionary.h:59
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:319
Creates and manages the resources necessary for rendering a single Viewport within the OpenGL.
Definition GLESGraphicsPipeline.h:15
virtual const DynamicPointer< GraphicsDevice > & device() override
Definition GLESGraphicsPipeline.h:38
virtual ~GLESGraphicsPipeline()
Definition GLESGraphicsPipeline.h:23
virtual void cleanup() override
Definition GLESGraphicsPipeline.h:48
virtual void ensureLastRenderComplete() override
Definition GLESGraphicsPipeline.h:44
virtual void cleanResources() override
Definition GLESGraphicsPipeline.h:53
Dictionary< uint04, Time > m_last_update_times
Definition GLESGraphicsPipeline.h:61
virtual bool createPipeline(GraphicsUpdateArguments &args) override
Definition GLESGraphicsPipeline.h:30
virtual void setWindowInstance(WindowInstance *instance) override
Definition GLESGraphicsWindow.cpp:56
virtual void drawFrame(GraphicsUpdateArguments &args) override
Definition GLESGraphicsWindow.cpp:20
virtual void commit(GraphicsUpdateArguments &) override
Definition GLESGraphicsPipeline.h:28
DynamicPointer< GraphicsDevice > m_device
Definition GLESGraphicsPipeline.h:62
virtual void updateUniformBuffer(GraphicsUpdateArguments &) override
Definition GLESGraphicsWindow.cpp:16
virtual void init(GraphicsUpdateArguments &) override
Definition GLESGraphicsPipeline.h:57
virtual const ConstPointer< GraphicsDevice > & device() const override
Definition GLESGraphicsPipeline.h:37
GLESGraphicsPipeline(GLESGraphicsSession *session)
Definition GLESGraphicsPipeline.h:17
virtual bool hasCommand() const override
Definition GLESGraphicsPipeline.h:39
GLESGraphicsWindow * m_window
Definition GLESGraphicsPipeline.h:63
virtual bool runCommand(GraphicsUpdateArguments &) override
Definition GLESGraphicsPipeline.h:24
GLESGraphicsSession * m_session
Definition GLESGraphicsPipeline.h:64
Creates and manages the resources necessary for converting a DesignObjectLookup into 3D rendered.
Definition GLESGraphicsSession.h:23
The core Window used to render a viewport with OpenGL.
Definition GLESGraphicsWindow.h:22
Definition GraphicsDevice.h:8
Definition GraphicsPipeline.h:45
Definition GraphicsUpdateArguments.h:40
void finishPipelineRecreation()
Definition GraphicsUpdateArguments.cpp:29
void setModelRecreation(bool needed)
Definition GraphicsUpdateArguments.cpp:34
Definition ACIColor.h:37