42 class ModelPipelineManager;
43 class GraphicsUpdater;
45 class DesignObjectLookup;
56 void render(
bool wait_until_needed,
bool force_render =
true);
67 return m_args.frame_time;
70 m_render_pipeline->cleanup();
101 void _render(
bool wait_until_needed,
bool force_render);
107 WindowInstance* m_window =
nullptr;
110 std::function<void()> m_post_render_function;
112 bool m_request_redraw;
113 volatile uint08 m_pause_time;
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Definition GraphicsPipeline.h:42
A core class where all Design Objects including models, materials, and geometries are stored....
Definition DesignObjectLookup.h:65
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:320
Options that are used for performing an update on a Graphics Engine call.
Definition GraphicsUpdateArguments.h:43
Responsible for updating resources or layouts of data in-between calls to render.
Definition GraphicsUpdater.h:49
A root class that stores an an array of pixel data that can be displayed as an Image.
Definition Image.h:40
A light-weight base class for Log that allows processes to update, without the need for additional in...
Definition ProgressInfo.hpp:48
An object that renders a specific Camera object, typically run on a different thread than the main UI...
Definition Renderer.h:52
void updateSingleThreaded()
void ensureLastRenderComplete()
void updateArgs(bool force_render)
virtual void setCamera(const ConstPointer< Camera > &camera)
DynamicPointer< GraphicsPipeline > pipeline() const
Definition Renderer.h:93
void setFPS(fltp08 fps)
Definition Renderer.h:60
void pause(TimeSpan span)
Time getFrameStartTime() const
Definition Renderer.h:65
Renderer(const DynamicPointer< GraphicsPipeline > &pipeline, const ConstPointer< Camera > &camera, WindowInstance *instance, ProgressInfo *log)
void cleanup()
Definition Renderer.h:69
void grabImageNextRender(Image *image)
ProgressInfo * log()
Definition Renderer.h:73
void setActive(bool is_active)
GraphicsUpdateArguments & getArguments()
Definition Renderer.h:79
GraphicsUpdater * updater() const
Definition Renderer.h:78
bool isActive()
Definition Renderer.h:99
uint04 multisample() const
fltp08 getFPS() const
Definition Renderer.h:61
void grabImage(Image *image)
void setPostRenderFunction(const std::function< void()> &function)
Definition Renderer.h:87
void removeModel(const UUID &model)
void setOverrideMaterial(UUID material)
void render(bool wait_until_needed, bool force_render=true)
void init(DesignObjectLookup *lookup)
void setWindowInstance(WindowInstance *window)
void addScene(const UUID &model)
void addModel(const UUID &model)
const DynamicPointer< GraphicsDevice > & device() const
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:54
Stores a time span, or difference between two times, with an optional start time.
Definition TimeSpan.h:46
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:60
uint64_t uint08
-Defines an alias representing an 8 byte, unsigned integer
Definition BaseValues.hpp:106
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:149