Open CASCADE Technology  7.5.0
Public Types | Public Member Functions | Data Fields | Static Public Attributes

Graphic3d_RenderingParams Class Reference

Helper class to store rendering parameters. More...

#include <Graphic3d_RenderingParams.hxx>

Public Types

enum  Anaglyph {
  Anaglyph_RedCyan_Simple, Anaglyph_RedCyan_Optimized, Anaglyph_YellowBlue_Simple, Anaglyph_YellowBlue_Optimized,
  Anaglyph_GreenMagenta_Simple, Anaglyph_UserDefined
}
 Anaglyph filter presets. More...
 
enum  PerfCounters {
  PerfCounters_NONE = 0x000, PerfCounters_FrameRate = 0x001, PerfCounters_CPU = 0x002, PerfCounters_Layers = 0x004,
  PerfCounters_Structures = 0x008, PerfCounters_Groups = 0x010, PerfCounters_GroupArrays = 0x020, PerfCounters_Triangles = 0x040,
  PerfCounters_Points = 0x080, PerfCounters_Lines = 0x100, PerfCounters_EstimMem = 0x200, PerfCounters_FrameTime = 0x400,
  PerfCounters_FrameTimeMax = 0x800, PerfCounters_SkipImmediate = 0x1000, PerfCounters_Basic = PerfCounters_FrameRate | PerfCounters_CPU | PerfCounters_Layers | PerfCounters_Structures, PerfCounters_Extended,
  PerfCounters_All
}
 Statistics display flags. If not specified otherwise, the counter value is computed for a single rendered frame. More...
 
enum  FrustumCulling { FrustumCulling_Off, FrustumCulling_On, FrustumCulling_NoUpdate }
 State of frustum culling optimization. More...
 

Public Member Functions

 Graphic3d_RenderingParams ()
 Creates default rendering parameters. More...
 
Standard_ShortReal ResolutionRatio () const
 Returns resolution ratio. More...
 
void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream. More...
 

Data Fields

Graphic3d_RenderingMode Method
 specifies rendering mode, Graphic3d_RM_RASTERIZATION by default More...
 
Graphic3d_RenderTransparentMethod TransparencyMethod
 specifies rendering method for transparent graphics More...
 
Standard_ShortReal LineFeather
 line feater width in pixels (> 0.0), 1.0 by default; high values produce blurred results, small values produce sharp (aliased) edges More...
 
Standard_Integer PbrEnvPow2Size
 size of IBL maps side can be calculated as 2^PbrEnvPow2Size (> 0), 9 by default More...
 
Standard_Integer PbrEnvSpecMapNbLevels
 number of levels used in specular IBL map (> 1), 6 by default More...
 
Standard_Integer PbrEnvBakingDiffNbSamples
 number of samples used in Monte-Carlo integration during diffuse IBL map's spherical harmonics coefficients generation (> 0), 1024 by default More...
 
Standard_Integer PbrEnvBakingSpecNbSamples
 number of samples used in Monte-Carlo integration during specular IBL map's generation (> 0), 256 by default More...
 
Standard_ShortReal PbrEnvBakingProbability
 controls strength of samples reducing strategy during specular IBL map's generation (see 'SpecIBLMapSamplesFactor' function for detail explanation) [0.0, 1.0], 0.99 by default More...
 
Standard_ShortReal OitDepthFactor
 scalar factor [0-1] controlling influence of depth of a fragment to its final coverage More...
 
Standard_Integer NbMsaaSamples
 number of MSAA samples (should be within 0..GL_MAX_SAMPLES, power-of-two number), 0 by default More...
 
Standard_ShortReal RenderResolutionScale
 rendering resolution scale factor, 1 by default; incompatible with MSAA (e.g. NbMsaaSamples should be set to 0) More...
 
Standard_Boolean ToEnableDepthPrepass
 enables/disables depth pre-pass, False by default More...
 
Standard_Boolean ToEnableAlphaToCoverage
 enables/disables alpha to coverage, True by default More...
 
Standard_Boolean IsGlobalIlluminationEnabled
 enables/disables global illumination effects (path tracing) More...
 
Standard_Integer SamplesPerPixel
 number of samples per pixel (SPP) More...
 
Standard_Integer RaytracingDepth
 maximum ray-tracing depth, 3 by default More...
 
Standard_Boolean IsShadowEnabled
 enables/disables shadows rendering, True by default More...
 
Standard_Boolean IsReflectionEnabled
 enables/disables specular reflections, False by default More...
 
Standard_Boolean IsAntialiasingEnabled
 enables/disables adaptive anti-aliasing, False by default More...
 
Standard_Boolean IsTransparentShadowEnabled
 enables/disables light propagation through transparent media, False by default More...
 
Standard_Boolean UseEnvironmentMapBackground
 enables/disables environment map background More...
 
Standard_Boolean ToIgnoreNormalMapInRayTracing
 enables/disables normal map ignoring during path tracing; FALSE by default More...
 
Standard_Boolean CoherentPathTracingMode
 enables/disables 'coherent' tracing mode (single RNG seed within 16x16 image blocks) More...
 
Standard_Boolean AdaptiveScreenSampling
 enables/disables adaptive screen sampling mode for path tracing, FALSE by default More...
 
Standard_Boolean AdaptiveScreenSamplingAtomic
 enables/disables usage of atomic float operations within adaptive screen sampling, FALSE by default More...
 
Standard_Boolean ShowSamplingTiles
 enables/disables debug mode for adaptive screen sampling, FALSE by default More...
 
Standard_Boolean TwoSidedBsdfModels
 forces path tracing to use two-sided versions of original one-sided scattering models More...
 
Standard_ShortReal RadianceClampingValue
 maximum radiance value used for clamping radiance estimation. More...
 
Standard_Boolean RebuildRayTracingShaders
 forces rebuilding ray tracing shaders at the next frame More...
 
Standard_Integer RayTracingTileSize
 screen tile size, 32 by default (adaptive sampling mode of path tracing); More...
 
Standard_Integer NbRayTracingTiles
 maximum number of screen tiles per frame, 256 by default (adaptive sampling mode of path tracing); this parameter limits the number of tiles to be rendered per redraw, increasing Viewer interactivity, but also increasing the time for achieving a good quality; -1 means no limit More...
 
Standard_ShortReal CameraApertureRadius
 aperture radius of perspective camera used for depth-of-field, 0.0 by default (no DOF) (path tracing only) More...
 
Standard_ShortReal CameraFocalPlaneDist
 focal distance of perspective camera used for depth-of field, 1.0 by default (path tracing only) More...
 
FrustumCulling FrustumCullingState
 state of frustum culling optimization; FrustumCulling_On by default More...
 
Graphic3d_ToneMappingMethod ToneMappingMethod
 specifies tone mapping method for path tracing, Graphic3d_ToneMappingMethod_Disabled by default More...
 
Standard_ShortReal Exposure
 exposure value used for tone mapping (path tracing), 0.0 by default More...
 
Standard_ShortReal WhitePoint
 white point value used in filmic tone mapping (path tracing), 1.0 by default More...
 
Graphic3d_StereoMode StereoMode
 stereoscopic output mode, Graphic3d_StereoMode_QuadBuffer by default More...
 
Standard_ShortReal HmdFov2d
 sharp field of view range in degrees for displaying on-screen 2D elements, 30.0 by default; More...
 
Anaglyph AnaglyphFilter
 filter for anaglyph output, Anaglyph_RedCyan_Optimized by default More...
 
Graphic3d_Mat4 AnaglyphLeft
 left anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft; More...
 
Graphic3d_Mat4 AnaglyphRight
 right anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft; More...
 
Standard_Boolean ToReverseStereo
 flag to reverse stereo pair, FALSE by default More...
 
Standard_Boolean ToMirrorComposer
 if output device is an external composer - mirror rendering results in window in addition to sending frame to composer, TRUE by default More...
 
Handle< Graphic3d_TransformPersStatsPosition
 location of stats, upper-left position by default More...
 
Handle< Graphic3d_TransformPersChartPosition
 location of stats chart, upper-right position by default More...
 
Graphic3d_Vec2i ChartSize
 chart size in pixels, (-1, -1) by default which means that chart will occupy a portion of viewport More...
 
Handle< Graphic3d_AspectText3dStatsTextAspect
 stats text aspect More...
 
Standard_ShortReal StatsUpdateInterval
 time interval between stats updates in seconds, 1.0 second by default; too often updates might impact performance and will smear text within widgets (especially framerate, which is better averaging); 0.0 interval will force updating on each frame More...
 
Standard_Integer StatsTextHeight
 stats text size; 16 by default More...
 
Standard_Integer StatsNbFrames
 number of data frames to collect history; 1 by default More...
 
Standard_ShortReal StatsMaxChartTime
 upper time limit within frame chart in seconds; 0.1 seconds by default (100 ms or 10 FPS) More...
 
PerfCounters CollectedStats
 performance counters to collect, PerfCounters_Basic by default; too verbose options might impact rendering performance, because some counters might lack caching optimization (and will require expensive iteration through all data structures) More...
 
Standard_Boolean ToShowStats
 display performance statistics, FALSE by default; note that counters specified within CollectedStats will be updated nevertheless of visibility of widget managed by ToShowStats flag (e.g. stats can be retrieved by application for displaying using other methods) More...
 
unsigned int Resolution
 Pixels density (PPI), defines scaling factor for parameters like text size (when defined in screen-space units rather than in 3D) to be properly displayed on device (screen / printer). 72 is default value. Note that using difference resolution in different Views in same Viewer will lead to performance regression (for example, text will be recreated every time). More...
 

Static Public Attributes

static const unsigned int THE_DEFAULT_RESOLUTION = 72u
 Default pixels density. More...
 
static const Standard_Integer THE_DEFAULT_DEPTH = 3
 Default ray-tracing depth. More...
 

Detailed Description

Helper class to store rendering parameters.

Member Enumeration Documentation

◆ Anaglyph

Anaglyph filter presets.

Enumerator
Anaglyph_RedCyan_Simple 

simple filter for Red-Cyan glasses (R+GB)

Anaglyph_RedCyan_Optimized 

optimized filter for Red-Cyan glasses (R+GB)

Anaglyph_YellowBlue_Simple 

simple filter for Yellow-Blue glasses (RG+B)

Anaglyph_YellowBlue_Optimized 

optimized filter for Yellow-Blue glasses (RG+B)

Anaglyph_GreenMagenta_Simple 

simple filter for Green-Magenta glasses (G+RB)

Anaglyph_UserDefined 

use externally specified matrices

◆ FrustumCulling

State of frustum culling optimization.

Enumerator
FrustumCulling_Off 

culling is disabled

FrustumCulling_On 

culling is active, and the list of culled entities is automatically updated before redraw

FrustumCulling_NoUpdate 

culling is active, but the list of culled entities is not updated

◆ PerfCounters

Statistics display flags. If not specified otherwise, the counter value is computed for a single rendered frame.

Enumerator
PerfCounters_NONE 

no stats

PerfCounters_FrameRate 

Frame Rate, frames per second (number of frames within elapsed time)

PerfCounters_CPU 

CPU utilization as frames per second (number of frames within CPU utilization time (rendering thread))

PerfCounters_Layers 

count layers (groups of structures)

PerfCounters_Structures 

count low-level Structures (normal unhighlighted Presentable Object is usually represented by 1 Structure)

PerfCounters_Groups 

count primitive Groups (1 Structure holds 1 or more primitive Group)

PerfCounters_GroupArrays 

count Arrays within Primitive Groups (optimal primitive Group holds 1 Array)

PerfCounters_Triangles 

count Triangles

PerfCounters_Points 

count Points

PerfCounters_Lines 

count Line segments

PerfCounters_EstimMem 

estimated GPU memory usage

PerfCounters_FrameTime 

frame CPU utilization time (rendering thread);

See also
Graphic3d_FrameStatsTimer
PerfCounters_FrameTimeMax 

maximum frame times

PerfCounters_SkipImmediate 

do not include immediate viewer updates (e.g. lazy updates without redrawing entire view content) show basic statistics

PerfCounters_Basic 
PerfCounters_Extended 

extended (verbose) statistics

PerfCounters_All 

all counters

Constructor & Destructor Documentation

◆ Graphic3d_RenderingParams()

Graphic3d_RenderingParams::Graphic3d_RenderingParams ( )
inline

Creates default rendering parameters.

Member Function Documentation

◆ DumpJson()

void Graphic3d_RenderingParams::DumpJson ( Standard_OStream theOStream,
Standard_Integer  theDepth = -1 
) const

Dumps the content of me into the stream.

◆ ResolutionRatio()

Standard_ShortReal Graphic3d_RenderingParams::ResolutionRatio ( ) const
inline

Returns resolution ratio.

Field Documentation

◆ AdaptiveScreenSampling

Standard_Boolean Graphic3d_RenderingParams::AdaptiveScreenSampling

enables/disables adaptive screen sampling mode for path tracing, FALSE by default

◆ AdaptiveScreenSamplingAtomic

Standard_Boolean Graphic3d_RenderingParams::AdaptiveScreenSamplingAtomic

enables/disables usage of atomic float operations within adaptive screen sampling, FALSE by default

◆ AnaglyphFilter

Anaglyph Graphic3d_RenderingParams::AnaglyphFilter

filter for anaglyph output, Anaglyph_RedCyan_Optimized by default

◆ AnaglyphLeft

Graphic3d_Mat4 Graphic3d_RenderingParams::AnaglyphLeft

left anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft;

◆ AnaglyphRight

Graphic3d_Mat4 Graphic3d_RenderingParams::AnaglyphRight

right anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft;

◆ CameraApertureRadius

Standard_ShortReal Graphic3d_RenderingParams::CameraApertureRadius

aperture radius of perspective camera used for depth-of-field, 0.0 by default (no DOF) (path tracing only)

◆ CameraFocalPlaneDist

Standard_ShortReal Graphic3d_RenderingParams::CameraFocalPlaneDist

focal distance of perspective camera used for depth-of field, 1.0 by default (path tracing only)

◆ ChartPosition

Handle< Graphic3d_TransformPers > Graphic3d_RenderingParams::ChartPosition

location of stats chart, upper-right position by default

◆ ChartSize

Graphic3d_Vec2i Graphic3d_RenderingParams::ChartSize

chart size in pixels, (-1, -1) by default which means that chart will occupy a portion of viewport

◆ CoherentPathTracingMode

Standard_Boolean Graphic3d_RenderingParams::CoherentPathTracingMode

enables/disables 'coherent' tracing mode (single RNG seed within 16x16 image blocks)

◆ CollectedStats

PerfCounters Graphic3d_RenderingParams::CollectedStats

performance counters to collect, PerfCounters_Basic by default; too verbose options might impact rendering performance, because some counters might lack caching optimization (and will require expensive iteration through all data structures)

◆ Exposure

Standard_ShortReal Graphic3d_RenderingParams::Exposure

exposure value used for tone mapping (path tracing), 0.0 by default

◆ FrustumCullingState

FrustumCulling Graphic3d_RenderingParams::FrustumCullingState

state of frustum culling optimization; FrustumCulling_On by default

◆ HmdFov2d

Standard_ShortReal Graphic3d_RenderingParams::HmdFov2d

sharp field of view range in degrees for displaying on-screen 2D elements, 30.0 by default;

◆ IsAntialiasingEnabled

Standard_Boolean Graphic3d_RenderingParams::IsAntialiasingEnabled

enables/disables adaptive anti-aliasing, False by default

◆ IsGlobalIlluminationEnabled

Standard_Boolean Graphic3d_RenderingParams::IsGlobalIlluminationEnabled

enables/disables global illumination effects (path tracing)

◆ IsReflectionEnabled

Standard_Boolean Graphic3d_RenderingParams::IsReflectionEnabled

enables/disables specular reflections, False by default

◆ IsShadowEnabled

Standard_Boolean Graphic3d_RenderingParams::IsShadowEnabled

enables/disables shadows rendering, True by default

◆ IsTransparentShadowEnabled

Standard_Boolean Graphic3d_RenderingParams::IsTransparentShadowEnabled

enables/disables light propagation through transparent media, False by default

◆ LineFeather

Standard_ShortReal Graphic3d_RenderingParams::LineFeather

line feater width in pixels (> 0.0), 1.0 by default; high values produce blurred results, small values produce sharp (aliased) edges

◆ Method

Graphic3d_RenderingMode Graphic3d_RenderingParams::Method

specifies rendering mode, Graphic3d_RM_RASTERIZATION by default

◆ NbMsaaSamples

Standard_Integer Graphic3d_RenderingParams::NbMsaaSamples

number of MSAA samples (should be within 0..GL_MAX_SAMPLES, power-of-two number), 0 by default

◆ NbRayTracingTiles

Standard_Integer Graphic3d_RenderingParams::NbRayTracingTiles

maximum number of screen tiles per frame, 256 by default (adaptive sampling mode of path tracing); this parameter limits the number of tiles to be rendered per redraw, increasing Viewer interactivity, but also increasing the time for achieving a good quality; -1 means no limit

◆ OitDepthFactor

Standard_ShortReal Graphic3d_RenderingParams::OitDepthFactor

scalar factor [0-1] controlling influence of depth of a fragment to its final coverage

◆ PbrEnvBakingDiffNbSamples

Standard_Integer Graphic3d_RenderingParams::PbrEnvBakingDiffNbSamples

number of samples used in Monte-Carlo integration during diffuse IBL map's spherical harmonics coefficients generation (> 0), 1024 by default

◆ PbrEnvBakingProbability

Standard_ShortReal Graphic3d_RenderingParams::PbrEnvBakingProbability

controls strength of samples reducing strategy during specular IBL map's generation (see 'SpecIBLMapSamplesFactor' function for detail explanation) [0.0, 1.0], 0.99 by default

◆ PbrEnvBakingSpecNbSamples

Standard_Integer Graphic3d_RenderingParams::PbrEnvBakingSpecNbSamples

number of samples used in Monte-Carlo integration during specular IBL map's generation (> 0), 256 by default

◆ PbrEnvPow2Size

Standard_Integer Graphic3d_RenderingParams::PbrEnvPow2Size

size of IBL maps side can be calculated as 2^PbrEnvPow2Size (> 0), 9 by default

◆ PbrEnvSpecMapNbLevels

Standard_Integer Graphic3d_RenderingParams::PbrEnvSpecMapNbLevels

number of levels used in specular IBL map (> 1), 6 by default

◆ RadianceClampingValue

Standard_ShortReal Graphic3d_RenderingParams::RadianceClampingValue

maximum radiance value used for clamping radiance estimation.

◆ RaytracingDepth

Standard_Integer Graphic3d_RenderingParams::RaytracingDepth

maximum ray-tracing depth, 3 by default

◆ RayTracingTileSize

Standard_Integer Graphic3d_RenderingParams::RayTracingTileSize

screen tile size, 32 by default (adaptive sampling mode of path tracing);

◆ RebuildRayTracingShaders

Standard_Boolean Graphic3d_RenderingParams::RebuildRayTracingShaders

forces rebuilding ray tracing shaders at the next frame

◆ RenderResolutionScale

Standard_ShortReal Graphic3d_RenderingParams::RenderResolutionScale

rendering resolution scale factor, 1 by default; incompatible with MSAA (e.g. NbMsaaSamples should be set to 0)

◆ Resolution

unsigned int Graphic3d_RenderingParams::Resolution

Pixels density (PPI), defines scaling factor for parameters like text size (when defined in screen-space units rather than in 3D) to be properly displayed on device (screen / printer). 72 is default value. Note that using difference resolution in different Views in same Viewer will lead to performance regression (for example, text will be recreated every time).

◆ SamplesPerPixel

Standard_Integer Graphic3d_RenderingParams::SamplesPerPixel

number of samples per pixel (SPP)

◆ ShowSamplingTiles

Standard_Boolean Graphic3d_RenderingParams::ShowSamplingTiles

enables/disables debug mode for adaptive screen sampling, FALSE by default

◆ StatsMaxChartTime

Standard_ShortReal Graphic3d_RenderingParams::StatsMaxChartTime

upper time limit within frame chart in seconds; 0.1 seconds by default (100 ms or 10 FPS)

◆ StatsNbFrames

Standard_Integer Graphic3d_RenderingParams::StatsNbFrames

number of data frames to collect history; 1 by default

◆ StatsPosition

Handle< Graphic3d_TransformPers > Graphic3d_RenderingParams::StatsPosition

location of stats, upper-left position by default

◆ StatsTextAspect

Handle< Graphic3d_AspectText3d > Graphic3d_RenderingParams::StatsTextAspect

stats text aspect

◆ StatsTextHeight

Standard_Integer Graphic3d_RenderingParams::StatsTextHeight

stats text size; 16 by default

◆ StatsUpdateInterval

Standard_ShortReal Graphic3d_RenderingParams::StatsUpdateInterval

time interval between stats updates in seconds, 1.0 second by default; too often updates might impact performance and will smear text within widgets (especially framerate, which is better averaging); 0.0 interval will force updating on each frame

◆ StereoMode

Graphic3d_StereoMode Graphic3d_RenderingParams::StereoMode

stereoscopic output mode, Graphic3d_StereoMode_QuadBuffer by default

◆ THE_DEFAULT_DEPTH

const Standard_Integer Graphic3d_RenderingParams::THE_DEFAULT_DEPTH = 3
static

Default ray-tracing depth.

◆ THE_DEFAULT_RESOLUTION

const unsigned int Graphic3d_RenderingParams::THE_DEFAULT_RESOLUTION = 72u
static

Default pixels density.

◆ ToEnableAlphaToCoverage

Standard_Boolean Graphic3d_RenderingParams::ToEnableAlphaToCoverage

enables/disables alpha to coverage, True by default

◆ ToEnableDepthPrepass

Standard_Boolean Graphic3d_RenderingParams::ToEnableDepthPrepass

enables/disables depth pre-pass, False by default

◆ ToIgnoreNormalMapInRayTracing

Standard_Boolean Graphic3d_RenderingParams::ToIgnoreNormalMapInRayTracing

enables/disables normal map ignoring during path tracing; FALSE by default

◆ ToMirrorComposer

Standard_Boolean Graphic3d_RenderingParams::ToMirrorComposer

if output device is an external composer - mirror rendering results in window in addition to sending frame to composer, TRUE by default

◆ ToneMappingMethod

Graphic3d_ToneMappingMethod Graphic3d_RenderingParams::ToneMappingMethod

specifies tone mapping method for path tracing, Graphic3d_ToneMappingMethod_Disabled by default

◆ ToReverseStereo

Standard_Boolean Graphic3d_RenderingParams::ToReverseStereo

flag to reverse stereo pair, FALSE by default

◆ ToShowStats

Standard_Boolean Graphic3d_RenderingParams::ToShowStats

display performance statistics, FALSE by default; note that counters specified within CollectedStats will be updated nevertheless of visibility of widget managed by ToShowStats flag (e.g. stats can be retrieved by application for displaying using other methods)

◆ TransparencyMethod

Graphic3d_RenderTransparentMethod Graphic3d_RenderingParams::TransparencyMethod

specifies rendering method for transparent graphics

◆ TwoSidedBsdfModels

Standard_Boolean Graphic3d_RenderingParams::TwoSidedBsdfModels

forces path tracing to use two-sided versions of original one-sided scattering models

◆ UseEnvironmentMapBackground

Standard_Boolean Graphic3d_RenderingParams::UseEnvironmentMapBackground

enables/disables environment map background

◆ WhitePoint

Standard_ShortReal Graphic3d_RenderingParams::WhitePoint

white point value used in filmic tone mapping (path tracing), 1.0 by default


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