Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | 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 , PerfCounters_CPU = 0x002 , PerfCounters_Layers = 0x004 ,
  PerfCounters_Structures = 0x008 , PerfCounters_Groups , PerfCounters_GroupArrays , PerfCounters_Triangles = 0x040 ,
  PerfCounters_Points = 0x080 , PerfCounters_Lines = 0x100 , PerfCounters_EstimMem = 0x200 , PerfCounters_FrameTime ,
  PerfCounters_FrameTimeMax = 0x800 , PerfCounters_SkipImmediate = 0x1000 , PerfCounters_Basic , PerfCounters_Extended ,
  PerfCounters_All = PerfCounters_Extended | PerfCounters_FrameTime | PerfCounters_FrameTimeMax
}
 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.
 
float ResolutionRatio () const
 Returns resolution ratio.
 
void DumpJson (Standard_OStream &theOStream, int theDepth=-1) const
 Dumps the content of me into the stream.
 

Data Fields

general parameters
Graphic3d_RenderingMode Method
 specifies rendering mode, Graphic3d_RM_RASTERIZATION by default
 
Graphic3d_TypeOfShadingModel ShadingModel
 specified default shading model, Graphic3d_TypeOfShadingModel_Phong by default
 
Graphic3d_RenderTransparentMethod TransparencyMethod
 specifies rendering method for transparent graphics
 
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).
 
Font_Hinting FontHinting
 enables/disables text hinting within textured fonts, Font_Hinting_Off by default; hinting improves readability of thin text on low-resolution screen, but adds distortions to original font depending on font family and font library version
 
float LineFeather
 line feather width in pixels (> 0.0), 1.0 by default; high values produce blurred results, small values produce sharp (aliased) edges
 
rendering resolution parameters
int PbrEnvPow2Size
 size of IBL maps side can be calculated as 2^PbrEnvPow2Size (> 0), 9 by default
 
int PbrEnvSpecMapNbLevels
 number of levels used in specular IBL map (> 1), 6 by default
 
int PbrEnvBakingDiffNbSamples
 number of samples used in Monte-Carlo integration during diffuse IBL map's spherical harmonics coefficients generation (> 0), 1024 by default
 
int PbrEnvBakingSpecNbSamples
 number of samples used in Monte-Carlo integration during specular IBL map's generation (> 0), 256 by default
 
float 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
 
float OitDepthFactor
 scalar factor [0-1] controlling influence of depth of a fragment to its final coverage (Graphic3d_RTM_BLEND_OIT), 0.0 by default
 
int NbOitDepthPeelingLayers
 number of depth peeling (Graphic3d_RTM_DEPTH_PEELING_OIT) layers, 4 by default
 
int NbMsaaSamples
 number of MSAA samples (should be within 0..GL_MAX_SAMPLES, power-of-two number), 0 by default
 
float RenderResolutionScale
 rendering resolution scale factor, 1 by default; incompatible with MSAA (e.g. NbMsaaSamples should be set to 0)
 
int ShadowMapResolution
 shadow texture map resolution, 1024 by default
 
float ShadowMapBias
 shadowmap bias, 0.005 by default;
 
bool ToEnableDepthPrepass
 enables/disables depth pre-pass, False by default
 
bool ToEnableAlphaToCoverage
 enables/disables alpha to coverage, True by default
 
Ray-Tracing/Path-Tracing parameters
bool IsGlobalIlluminationEnabled
 enables/disables global illumination effects (path tracing)
 
int SamplesPerPixel
 number of samples per pixel (SPP)
 
int RaytracingDepth
 maximum ray-tracing depth, 3 by default
 
bool IsShadowEnabled
 enables/disables shadows rendering, True by default
 
bool IsReflectionEnabled
 enables/disables specular reflections, False by default
 
bool IsAntialiasingEnabled
 enables/disables adaptive anti-aliasing, False by default
 
bool IsTransparentShadowEnabled
 enables/disables light propagation through transparent media, False by default
 
bool UseEnvironmentMapBackground
 enables/disables environment map background
 
bool ToIgnoreNormalMapInRayTracing
 enables/disables normal map ignoring during path tracing; FALSE by default
 
bool CoherentPathTracingMode
 enables/disables 'coherent' tracing mode (single RNG seed within 16x16 image blocks)
 
bool AdaptiveScreenSampling
 enables/disables adaptive screen sampling mode for path tracing, FALSE by default
 
bool AdaptiveScreenSamplingAtomic
 enables/disables usage of atomic float operations within adaptive screen sampling, FALSE by default
 
bool ShowSamplingTiles
 enables/disables debug mode for adaptive screen sampling, FALSE by default
 
bool TwoSidedBsdfModels
 forces path tracing to use two-sided versions of original one-sided scattering models
 
float RadianceClampingValue
 maximum radiance value used for clamping radiance estimation.
 
bool RebuildRayTracingShaders
 forces rebuilding ray tracing shaders at the next frame
 
int RayTracingTileSize
 screen tile size, 32 by default (adaptive sampling mode of path tracing);
 
int 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
 
float CameraApertureRadius
 aperture radius of perspective camera used for depth-of-field, 0.0 by default (no DOF) (path tracing only)
 
float CameraFocalPlaneDist
 focal distance of perspective camera used for depth-of field, 1.0 by default (path tracing only)
 
FrustumCulling FrustumCullingState
 state of frustum culling optimization; FrustumCulling_On by default
 
Graphic3d_ToneMappingMethod ToneMappingMethod
 specifies tone mapping method for path tracing, Graphic3d_ToneMappingMethod_Disabled by default
 
float Exposure
 exposure value used for tone mapping (path tracing), 0.0 by default
 
float WhitePoint
 white point value used in filmic tone mapping (path tracing), 1.0 by default
 
VR / stereoscopic parameters
Graphic3d_StereoMode StereoMode
 stereoscopic output mode, Graphic3d_StereoMode_QuadBuffer by default
 
float HmdFov2d
 sharp field of view range in degrees for displaying on-screen 2D elements, 30.0 by default;
 
Anaglyph AnaglyphFilter
 filter for anaglyph output, Anaglyph_RedCyan_Optimized by default
 
NCollection_Mat4< floatAnaglyphLeft
 left anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft;
 
NCollection_Mat4< floatAnaglyphRight
 right anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft;
 
bool ToReverseStereo
 flag to reverse stereo pair, FALSE by default
 
bool ToSmoothInterlacing
 flag to smooth output on interlaced displays (improves text readability / reduces line aliasing), TRUE by default
 
bool ToMirrorComposer
 if output device is an external composer - mirror rendering results in window in addition to sending frame to composer, TRUE by default
 
on-screen display parameters
occ::handle< Graphic3d_TransformPersStatsPosition
 location of stats, upper-left position by default
 
occ::handle< Graphic3d_TransformPersChartPosition
 location of stats chart, upper-right position by default
 
NCollection_Vec2< intChartSize
 chart size in pixels, (-1, -1) by default which means that chart will occupy a portion of viewport
 
occ::handle< Graphic3d_AspectText3dStatsTextAspect
 stats text aspect
 
float 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
 
int StatsTextHeight
 stats text size; 16 by default
 
int StatsNbFrames
 number of data frames to collect history; 1 by default
 
float StatsMaxChartTime
 upper time limit within frame chart in seconds; 0.1 seconds by default (100 ms or 10 FPS)
 
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)
 
bool 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)
 

Static Public Attributes

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

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,
int theDepth = -1 ) const

Dumps the content of me into the stream.

◆ ResolutionRatio()

float Graphic3d_RenderingParams::ResolutionRatio ( ) const
inline

Returns resolution ratio.

Field Documentation

◆ AdaptiveScreenSampling

bool Graphic3d_RenderingParams::AdaptiveScreenSampling

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

◆ AdaptiveScreenSamplingAtomic

bool 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

NCollection_Mat4<float> Graphic3d_RenderingParams::AnaglyphLeft

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

◆ AnaglyphRight

NCollection_Mat4<float> Graphic3d_RenderingParams::AnaglyphRight

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

◆ CameraApertureRadius

float Graphic3d_RenderingParams::CameraApertureRadius

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

◆ CameraFocalPlaneDist

float Graphic3d_RenderingParams::CameraFocalPlaneDist

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

◆ ChartPosition

occ::handle<Graphic3d_TransformPers> Graphic3d_RenderingParams::ChartPosition

location of stats chart, upper-right position by default

◆ ChartSize

NCollection_Vec2<int> Graphic3d_RenderingParams::ChartSize

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

◆ CoherentPathTracingMode

bool 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

float Graphic3d_RenderingParams::Exposure

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

◆ FontHinting

Font_Hinting Graphic3d_RenderingParams::FontHinting

enables/disables text hinting within textured fonts, Font_Hinting_Off by default; hinting improves readability of thin text on low-resolution screen, but adds distortions to original font depending on font family and font library version

◆ FrustumCullingState

FrustumCulling Graphic3d_RenderingParams::FrustumCullingState

state of frustum culling optimization; FrustumCulling_On by default

◆ HmdFov2d

float Graphic3d_RenderingParams::HmdFov2d

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

◆ IsAntialiasingEnabled

bool Graphic3d_RenderingParams::IsAntialiasingEnabled

enables/disables adaptive anti-aliasing, False by default

◆ IsGlobalIlluminationEnabled

bool Graphic3d_RenderingParams::IsGlobalIlluminationEnabled

enables/disables global illumination effects (path tracing)

◆ IsReflectionEnabled

bool Graphic3d_RenderingParams::IsReflectionEnabled

enables/disables specular reflections, False by default

◆ IsShadowEnabled

bool Graphic3d_RenderingParams::IsShadowEnabled

enables/disables shadows rendering, True by default

◆ IsTransparentShadowEnabled

bool Graphic3d_RenderingParams::IsTransparentShadowEnabled

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

◆ LineFeather

float Graphic3d_RenderingParams::LineFeather

line feather 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

int Graphic3d_RenderingParams::NbMsaaSamples

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

◆ NbOitDepthPeelingLayers

int Graphic3d_RenderingParams::NbOitDepthPeelingLayers

number of depth peeling (Graphic3d_RTM_DEPTH_PEELING_OIT) layers, 4 by default

◆ NbRayTracingTiles

int 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

float Graphic3d_RenderingParams::OitDepthFactor

scalar factor [0-1] controlling influence of depth of a fragment to its final coverage (Graphic3d_RTM_BLEND_OIT), 0.0 by default

◆ PbrEnvBakingDiffNbSamples

int 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

float 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

int Graphic3d_RenderingParams::PbrEnvBakingSpecNbSamples

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

◆ PbrEnvPow2Size

int Graphic3d_RenderingParams::PbrEnvPow2Size

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

◆ PbrEnvSpecMapNbLevels

int Graphic3d_RenderingParams::PbrEnvSpecMapNbLevels

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

◆ RadianceClampingValue

float Graphic3d_RenderingParams::RadianceClampingValue

maximum radiance value used for clamping radiance estimation.

◆ RaytracingDepth

int Graphic3d_RenderingParams::RaytracingDepth

maximum ray-tracing depth, 3 by default

◆ RayTracingTileSize

int Graphic3d_RenderingParams::RayTracingTileSize

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

◆ RebuildRayTracingShaders

bool Graphic3d_RenderingParams::RebuildRayTracingShaders

forces rebuilding ray tracing shaders at the next frame

◆ RenderResolutionScale

float 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

int Graphic3d_RenderingParams::SamplesPerPixel

number of samples per pixel (SPP)

◆ ShadingModel

Graphic3d_TypeOfShadingModel Graphic3d_RenderingParams::ShadingModel

specified default shading model, Graphic3d_TypeOfShadingModel_Phong by default

◆ ShadowMapBias

float Graphic3d_RenderingParams::ShadowMapBias

shadowmap bias, 0.005 by default;

◆ ShadowMapResolution

int Graphic3d_RenderingParams::ShadowMapResolution

shadow texture map resolution, 1024 by default

◆ ShowSamplingTiles

bool Graphic3d_RenderingParams::ShowSamplingTiles

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

◆ StatsMaxChartTime

float Graphic3d_RenderingParams::StatsMaxChartTime

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

◆ StatsNbFrames

int Graphic3d_RenderingParams::StatsNbFrames

number of data frames to collect history; 1 by default

◆ StatsPosition

occ::handle<Graphic3d_TransformPers> Graphic3d_RenderingParams::StatsPosition

location of stats, upper-left position by default

◆ StatsTextAspect

occ::handle<Graphic3d_AspectText3d> Graphic3d_RenderingParams::StatsTextAspect

stats text aspect

◆ StatsTextHeight

int Graphic3d_RenderingParams::StatsTextHeight

stats text size; 16 by default

◆ StatsUpdateInterval

float 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 int 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

bool Graphic3d_RenderingParams::ToEnableAlphaToCoverage

enables/disables alpha to coverage, True by default

◆ ToEnableDepthPrepass

bool Graphic3d_RenderingParams::ToEnableDepthPrepass

enables/disables depth pre-pass, False by default

◆ ToIgnoreNormalMapInRayTracing

bool Graphic3d_RenderingParams::ToIgnoreNormalMapInRayTracing

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

◆ ToMirrorComposer

bool 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

bool Graphic3d_RenderingParams::ToReverseStereo

flag to reverse stereo pair, FALSE by default

◆ ToShowStats

bool 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)

◆ ToSmoothInterlacing

bool Graphic3d_RenderingParams::ToSmoothInterlacing

flag to smooth output on interlaced displays (improves text readability / reduces line aliasing), TRUE by default

◆ TransparencyMethod

Graphic3d_RenderTransparentMethod Graphic3d_RenderingParams::TransparencyMethod

specifies rendering method for transparent graphics

◆ TwoSidedBsdfModels

bool Graphic3d_RenderingParams::TwoSidedBsdfModels

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

◆ UseEnvironmentMapBackground

bool Graphic3d_RenderingParams::UseEnvironmentMapBackground

enables/disables environment map background

◆ WhitePoint

float 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: