35#include <NDEVR/Resource.h>
36#include <NDEVR/RGBColor.h>
37#include <NDEVR/Matrix.h>
86 void update(
const void* lock_ptr =
nullptr);
void setSkybox(Skybox *skybox)
Sets the skybox to use for the background environment rendering.
Skybox * skybox()
Returns the currently assigned skybox.
bool m_current_show_grid
Cached state of whether the grid is currently shown.
RGBColor background_color
The solid background color used when no skybox is active.
fltp08 ortho_ratio
The ratio used for orthographic projection scaling.
RGBColor m_current_background_color
Cached current background color for change detection.
bool show_environment
Whether to render the environment (skybox or ambient background).
void update(const void *lock_ptr=nullptr)
Updates the background rendering state, applying any pending changes.
CameraBackground()
Constructs a CameraBackground with default values.
fltp08 m_current_grid_size
Cached current grid size for change detection.
Vector< 3, fltp04 > sun_location
The 3D position of the sun light source in the scene.
Matrix< fltp08 > m_current_transform
The cached current view transform matrix.
bool show_grid
Whether to render the reference grid in the background.
fltp08 grid_size
The spacing between grid lines in scene units.
bool m_current_show_skybox
Cached state of whether the skybox is currently shown.
fltp08 mainGridSize() const
Calculates the effective main grid size based on the current view parameters.
fltp08 fixed_grid_size
A user-specified fixed grid size, overriding automatic calculation when set.
bool m_current_show_environment
Cached state of whether the environment is currently shown.
RGBColor sun_color
The color of the sun light source.
Vector< 2, fltp08 > orthographic_fov
The orthographic field of view dimensions (width, height).
Skybox * m_skybox
The currently assigned skybox for environment rendering.
Templated logic for doing matrix multiplication.
Represents a color in the RGB space with optional alpha transparency.
Contains a 3D box used to render complicated backgrounds for a CameraBackground object.
A fixed-size array with N dimensions used as the basis for geometric and mathematical types.
The primary namespace for the NDEVR SDK.
double fltp08
Defines an alias representing an 8 byte floating-point number.