Game of Ur 0.3.3
This is a computer adaptation of Game of Ur, written in C++ mainly using SDL and OpenGL.
Loading...
Searching...
No Matches
ToyMaker::ViewportNode::RenderConfiguration Struct Reference

A collection of data that specifies the behaviour and properties of the RenderSystem and target texture associated with this viewport. More...

#include <scene_system.hpp>

Public Types

enum class  ResizeType : uint8_t { OFF =0 , VIEWPORT_DIMENSIONS , TEXTURE_DIMENSIONS }
 Different resize configurations available for this Viewport node that dictate how render textures (from the render pipeline proper) are mapped to this node's target texture.
 
enum class  ResizeMode : uint8_t { FIXED_ASPECT =0 , EXPAND_VERTICALLY , EXPAND_HORIZONTALLY , EXPAND_FILL }
 Determines which dimensions the end result of the viewport is allowed to expand on.
 
enum class  UpdateMode : uint8_t {
  NEVER =0 , ONCE , ON_FETCH , ON_FETCH_CAP_FPS ,
  ON_RENDER , ON_RENDER_CAP_FPS
}
 Configuration value determining when and how often render updates take place for this viewport.
 
using RenderType = RenderSet::RenderType
 Specifies the type of render pipeline requested by this viewport.
 

Public Attributes

ResizeType mResizeType { ResizeType::VIEWPORT_DIMENSIONS }
 The type of resizing/scaling behaviour from render->target texture for this viewport.
 
ResizeMode mResizeMode { ResizeMode::EXPAND_HORIZONTALLY }
 The resizing/scaling behaviour from render-> target texture for this viewport.
 
RenderType mRenderType { RenderType::BASIC_3D }
 The type of render pipelien requested by this viewport.
 
glm::u16vec2 mBaseDimensions { 800, 600 }
 The design dimensions for this viewport, specified at the time of its development.
 
glm::u16vec2 mComputedDimensions { 800, 600 }
 The dimensions finally computed for this viewport, per request from other parts of the application.
 
glm::u16vec2 mRequestedDimensions { 800, 600 }
 The dimensions requested by other parts of the application, to which this viewport's render texture may need to be resized.
 
float mRenderScale { 1.f }
 A multiplier applied (in case resizing is enabled) determining multiplier to the base or computed dimensions used for the rendering texture.
 
UpdateMode mUpdateMode { UpdateMode::ON_RENDER_CAP_FPS }
 The frequency of rendering updates in real time made on this viewport.
 
float mFPSCap { 60.f }
 If an FPS capped update mode is used, specifies the value of that cap.
 

Detailed Description

A collection of data that specifies the behaviour and properties of the RenderSystem and target texture associated with this viewport.

Member Data Documentation

◆ mFPSCap

float ToyMaker::ViewportNode::RenderConfiguration::mFPSCap { 60.f }

If an FPS capped update mode is used, specifies the value of that cap.

See also
mUpdateMode

◆ mRenderScale

float ToyMaker::ViewportNode::RenderConfiguration::mRenderScale { 1.f }

A multiplier applied (in case resizing is enabled) determining multiplier to the base or computed dimensions used for the rendering texture.

  • For texture resizing: renderDimensions = renderScale * baseDimensions.
  • For viewport resizing: renderDimensions = renderScale * computedDimensions.

The target texture will always be exactly requested dimensions.


The documentation for this struct was generated from the following file: