34#include "GraphicsPipeline.h"
35#include <NDEVR/DesignObjectLookup.h>
67 void setScreenDrawAll(
bool screen_draw)
70 it.value() = screen_draw;
72 bool shouldDraw(
const UUID&
id)
const
74 if (!hidden_items.isNull())
76 auto value = hidden_items->find(
id);
77 if (value != hidden_items->end())
80 if (visible_items.isNull())
82 auto value = visible_items->find(
id);
83 return value != visible_items->end();
The equivelent of std::vector but with a bit more control.
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
A core class where all Design Objects including models, materials, and geometries are stored.
A hash-based key-value store, useful for quick associative lookups.
A physical or virtual device used with the NDEVR Rendering Engine.
void finishPipelineRecreation()
Marks pipeline recreation as complete.
bool needsPipelineRecreation() const
Checks whether the pipeline needs recreation.
fltp04 depth_bias
Depth bias for polygon offset.
bool isDrawing() const
Checks whether a draw operation is currently in progress.
Time refresh_command_time
Time of the last command refresh.
Buffer< bool > should_draw_cache
Cached draw flags for models.
Dictionary< UUID, bool > needs_screen_draw
Per-camera screen draw flags.
std::function< void()> ensure_render_complete
Callback to ensure the previous render is complete.
bool m_needs_buffer_recreation
Whether buffers need recreation.
RGBColor background_color
Viewport background color.
void setBufferRecreation(bool needed)
Sets whether buffer recreation is needed.
DesignObjectLookup * lookup
The design object lookup.
Material override_material
Material override applied to all objects.
void * frame_resource
Opaque per-frame resource handle.
Image * grab_image
Target image for screen capture.
Time frame_time
Timestamp of the current frame.
void setPipelineRecreationNeeded()
Marks the pipeline as needing recreation.
ConstPointer< Set< UUID > > hidden_items
Set of explicitly hidden item UUIDs.
Vector< 2, uint04 > window_size
Viewport width and height in pixels.
UUID camera
UUID of the camera being rendered.
GraphicsUpdateArguments()
Default constructor.
uint04 frame_index
Index of the current frame in the swap chain.
uint04 multisample_count
Number of multisample samples.
ConstPointer< Set< UUID > > visible_items
Set of explicitly visible item UUIDs (null = show all).
uint04 frame_count
Total number of frames rendered.
bool m_needs_pipeline_recreation
Whether the pipeline needs recreation.
bool needsBufferRecreation() const
Checks whether buffers need recreation.
GraphicsDevice * device
The active graphics device.
bool is_grab_image
Whether an image grab is pending.
~GraphicsUpdateArguments()
Destructor.
A root class that stores an an array of pixel data that can be displayed as an Image.
A light-weight wrapper that will be a no-op if there is not a valid log reference,...
Container responsible for storing and setting the appearance of a Model or Geometry within the NDEVR ...
Represents a color in the RGB space with optional alpha transparency.
Represents a timestamp with utilities for manipulation and conversion.
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
A fixed-size array with N dimensions used as the basis for geometric and mathematical types.
The primary namespace for the NDEVR SDK.
float fltp04
Defines an alias representing a 4 byte floating-point number Bit layout is as follows: -Sign: 1 bit a...
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...