Helper class to store rendering parameters. More...
#include <Graphic3d_RenderingParams.hxx>
Public Member Functions | |
| Graphic3d_RenderingParams () | |
| Creates default rendering parameters. | |
| Standard_ShortReal | ResolutionRatio () const |
| Returns resolution ratio. | |
| void | DumpJson (Standard_OStream &theOStream, Standard_Integer 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 | |
| Standard_ShortReal | 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 | |
| Standard_Integer | PbrEnvPow2Size |
| size of IBL maps side can be calculated as 2^PbrEnvPow2Size (> 0), 9 by default | |
| Standard_Integer | PbrEnvSpecMapNbLevels |
| number of levels used in specular IBL map (> 1), 6 by default | |
| Standard_Integer | PbrEnvBakingDiffNbSamples |
| number of samples used in Monte-Carlo integration during diffuse IBL map's spherical harmonics coefficients generation (> 0), 1024 by default | |
| Standard_Integer | PbrEnvBakingSpecNbSamples |
| number of samples used in Monte-Carlo integration during specular IBL map's generation (> 0), 256 by default | |
| 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 | |
| Standard_ShortReal | OitDepthFactor |
| scalar factor [0-1] controlling influence of depth of a fragment to its final coverage (Graphic3d_RTM_BLEND_OIT), 0.0 by default | |
| Standard_Integer | NbOitDepthPeelingLayers |
| number of depth peeling (Graphic3d_RTM_DEPTH_PEELING_OIT) layers, 4 by default | |
| Standard_Integer | NbMsaaSamples |
| number of MSAA samples (should be within 0..GL_MAX_SAMPLES, power-of-two number), 0 by default | |
| Standard_ShortReal | RenderResolutionScale |
| rendering resolution scale factor, 1 by default; incompatible with MSAA (e.g. NbMsaaSamples should be set to 0) | |
| Standard_Integer | ShadowMapResolution |
| shadow texture map resolution, 1024 by default | |
| Standard_ShortReal | ShadowMapBias |
| shadowmap bias, 0.005 by default; | |
| Standard_Boolean | ToEnableDepthPrepass |
| enables/disables depth pre-pass, False by default | |
| Standard_Boolean | ToEnableAlphaToCoverage |
| enables/disables alpha to coverage, True by default | |
Ray-Tracing/Path-Tracing parameters | |
| Standard_Boolean | IsGlobalIlluminationEnabled |
| enables/disables global illumination effects (path tracing) | |
| Standard_Integer | SamplesPerPixel |
| number of samples per pixel (SPP) | |
| Standard_Integer | RaytracingDepth |
| maximum ray-tracing depth, 3 by default | |
| Standard_Boolean | IsShadowEnabled |
| enables/disables shadows rendering, True by default | |
| Standard_Boolean | IsReflectionEnabled |
| enables/disables specular reflections, False by default | |
| Standard_Boolean | IsAntialiasingEnabled |
| enables/disables adaptive anti-aliasing, False by default | |
| Standard_Boolean | IsTransparentShadowEnabled |
| enables/disables light propagation through transparent media, False by default | |
| Standard_Boolean | UseEnvironmentMapBackground |
| enables/disables environment map background | |
| Standard_Boolean | ToIgnoreNormalMapInRayTracing |
| enables/disables normal map ignoring during path tracing; FALSE by default | |
| Standard_Boolean | CoherentPathTracingMode |
| enables/disables 'coherent' tracing mode (single RNG seed within 16x16 image blocks) | |
| Standard_Boolean | AdaptiveScreenSampling |
| enables/disables adaptive screen sampling mode for path tracing, FALSE by default | |
| Standard_Boolean | AdaptiveScreenSamplingAtomic |
| enables/disables usage of atomic float operations within adaptive screen sampling, FALSE by default | |
| Standard_Boolean | ShowSamplingTiles |
| enables/disables debug mode for adaptive screen sampling, FALSE by default | |
| Standard_Boolean | TwoSidedBsdfModels |
| forces path tracing to use two-sided versions of original one-sided scattering models | |
| Standard_ShortReal | RadianceClampingValue |
| maximum radiance value used for clamping radiance estimation. | |
| Standard_Boolean | RebuildRayTracingShaders |
| forces rebuilding ray tracing shaders at the next frame | |
| Standard_Integer | RayTracingTileSize |
| screen tile size, 32 by default (adaptive sampling mode of path tracing); | |
| 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 | |
| Standard_ShortReal | CameraApertureRadius |
| aperture radius of perspective camera used for depth-of-field, 0.0 by default (no DOF) (path tracing only) | |
| Standard_ShortReal | 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 | |
| Standard_ShortReal | Exposure |
| exposure value used for tone mapping (path tracing), 0.0 by default | |
| Standard_ShortReal | 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 | |
| Standard_ShortReal | 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 | |
| Graphic3d_Mat4 | AnaglyphLeft |
| left anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft; | |
| Graphic3d_Mat4 | AnaglyphRight |
| right anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft; | |
| Standard_Boolean | ToReverseStereo |
| flag to reverse stereo pair, FALSE by default | |
| Standard_Boolean | ToSmoothInterlacing |
| flag to smooth output on interlaced displays (improves text readability / reduces line aliasing), TRUE by default | |
| 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 | |
on-screen display parameters | |
| Handle< Graphic3d_TransformPers > | StatsPosition |
| location of stats, upper-left position by default | |
| Handle< Graphic3d_TransformPers > | ChartPosition |
| location of stats chart, upper-right position by default | |
| Graphic3d_Vec2i | ChartSize |
| chart size in pixels, (-1, -1) by default which means that chart will occupy a portion of viewport | |
| Handle< Graphic3d_AspectText3d > | StatsTextAspect |
| stats text aspect | |
| 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 | |
| Standard_Integer | StatsTextHeight |
| stats text size; 16 by default | |
| Standard_Integer | StatsNbFrames |
| number of data frames to collect history; 1 by default | |
| Standard_ShortReal | 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) | |
| 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) | |
Static Public Attributes | |
| static const unsigned int | THE_DEFAULT_RESOLUTION = 72u |
| Default pixels density. | |
| static const Standard_Integer | THE_DEFAULT_DEPTH = 3 |
| Default ray-tracing depth. | |
Helper class to store rendering parameters.
Anaglyph filter presets.
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);
|
| 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 |
|
inline |
Creates default rendering parameters.
| void Graphic3d_RenderingParams::DumpJson | ( | Standard_OStream & | theOStream, |
| Standard_Integer | theDepth = -1 ) const |
Dumps the content of me into the stream.
|
inline |
Returns resolution ratio.
| Standard_Boolean Graphic3d_RenderingParams::AdaptiveScreenSampling |
enables/disables adaptive screen sampling mode for path tracing, FALSE by default
| Standard_Boolean Graphic3d_RenderingParams::AdaptiveScreenSamplingAtomic |
enables/disables usage of atomic float operations within adaptive screen sampling, FALSE by default
| Anaglyph Graphic3d_RenderingParams::AnaglyphFilter |
filter for anaglyph output, Anaglyph_RedCyan_Optimized by default
| Graphic3d_Mat4 Graphic3d_RenderingParams::AnaglyphLeft |
left anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft;
| Graphic3d_Mat4 Graphic3d_RenderingParams::AnaglyphRight |
right anaglyph filter (in normalized colorspace), Color = AnaglyphRight * theColorRight + AnaglyphLeft * theColorLeft;
| Standard_ShortReal Graphic3d_RenderingParams::CameraApertureRadius |
aperture radius of perspective camera used for depth-of-field, 0.0 by default (no DOF) (path tracing only)
| Standard_ShortReal Graphic3d_RenderingParams::CameraFocalPlaneDist |
focal distance of perspective camera used for depth-of field, 1.0 by default (path tracing only)
| Handle< Graphic3d_TransformPers > Graphic3d_RenderingParams::ChartPosition |
location of stats chart, upper-right position by default
| Graphic3d_Vec2i Graphic3d_RenderingParams::ChartSize |
chart size in pixels, (-1, -1) by default which means that chart will occupy a portion of viewport
| Standard_Boolean Graphic3d_RenderingParams::CoherentPathTracingMode |
enables/disables 'coherent' tracing mode (single RNG seed within 16x16 image blocks)
| 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)
| Standard_ShortReal Graphic3d_RenderingParams::Exposure |
exposure value used for tone mapping (path tracing), 0.0 by default
| 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
| FrustumCulling Graphic3d_RenderingParams::FrustumCullingState |
state of frustum culling optimization; FrustumCulling_On by default
| Standard_ShortReal Graphic3d_RenderingParams::HmdFov2d |
sharp field of view range in degrees for displaying on-screen 2D elements, 30.0 by default;
| Standard_Boolean Graphic3d_RenderingParams::IsAntialiasingEnabled |
enables/disables adaptive anti-aliasing, False by default
| Standard_Boolean Graphic3d_RenderingParams::IsGlobalIlluminationEnabled |
enables/disables global illumination effects (path tracing)
| Standard_Boolean Graphic3d_RenderingParams::IsReflectionEnabled |
enables/disables specular reflections, False by default
| Standard_Boolean Graphic3d_RenderingParams::IsShadowEnabled |
enables/disables shadows rendering, True by default
| Standard_Boolean Graphic3d_RenderingParams::IsTransparentShadowEnabled |
enables/disables light propagation through transparent media, False by default
| Standard_ShortReal 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
| Graphic3d_RenderingMode Graphic3d_RenderingParams::Method |
specifies rendering mode, Graphic3d_RM_RASTERIZATION by default
| Standard_Integer Graphic3d_RenderingParams::NbMsaaSamples |
number of MSAA samples (should be within 0..GL_MAX_SAMPLES, power-of-two number), 0 by default
| Standard_Integer Graphic3d_RenderingParams::NbOitDepthPeelingLayers |
number of depth peeling (Graphic3d_RTM_DEPTH_PEELING_OIT) layers, 4 by default
| 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
| Standard_ShortReal 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
| 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
| 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
| Standard_Integer Graphic3d_RenderingParams::PbrEnvBakingSpecNbSamples |
number of samples used in Monte-Carlo integration during specular IBL map's generation (> 0), 256 by default
| Standard_Integer Graphic3d_RenderingParams::PbrEnvPow2Size |
size of IBL maps side can be calculated as 2^PbrEnvPow2Size (> 0), 9 by default
| Standard_Integer Graphic3d_RenderingParams::PbrEnvSpecMapNbLevels |
number of levels used in specular IBL map (> 1), 6 by default
| Standard_ShortReal Graphic3d_RenderingParams::RadianceClampingValue |
maximum radiance value used for clamping radiance estimation.
| Standard_Integer Graphic3d_RenderingParams::RaytracingDepth |
maximum ray-tracing depth, 3 by default
| Standard_Integer Graphic3d_RenderingParams::RayTracingTileSize |
screen tile size, 32 by default (adaptive sampling mode of path tracing);
| Standard_Boolean Graphic3d_RenderingParams::RebuildRayTracingShaders |
forces rebuilding ray tracing shaders at the next frame
| Standard_ShortReal Graphic3d_RenderingParams::RenderResolutionScale |
rendering resolution scale factor, 1 by default; incompatible with MSAA (e.g. NbMsaaSamples should be set to 0)
| 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).
| Standard_Integer Graphic3d_RenderingParams::SamplesPerPixel |
number of samples per pixel (SPP)
| Graphic3d_TypeOfShadingModel Graphic3d_RenderingParams::ShadingModel |
specified default shading model, Graphic3d_TypeOfShadingModel_Phong by default
| Standard_ShortReal Graphic3d_RenderingParams::ShadowMapBias |
shadowmap bias, 0.005 by default;
| Standard_Integer Graphic3d_RenderingParams::ShadowMapResolution |
shadow texture map resolution, 1024 by default
| Standard_Boolean Graphic3d_RenderingParams::ShowSamplingTiles |
enables/disables debug mode for adaptive screen sampling, FALSE by default
| Standard_ShortReal Graphic3d_RenderingParams::StatsMaxChartTime |
upper time limit within frame chart in seconds; 0.1 seconds by default (100 ms or 10 FPS)
| Standard_Integer Graphic3d_RenderingParams::StatsNbFrames |
number of data frames to collect history; 1 by default
| Handle< Graphic3d_TransformPers > Graphic3d_RenderingParams::StatsPosition |
location of stats, upper-left position by default
| Handle< Graphic3d_AspectText3d > Graphic3d_RenderingParams::StatsTextAspect |
stats text aspect
| Standard_Integer Graphic3d_RenderingParams::StatsTextHeight |
stats text size; 16 by default
| 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
| Graphic3d_StereoMode Graphic3d_RenderingParams::StereoMode |
stereoscopic output mode, Graphic3d_StereoMode_QuadBuffer by default
|
static |
Default ray-tracing depth.
|
static |
Default pixels density.
| Standard_Boolean Graphic3d_RenderingParams::ToEnableAlphaToCoverage |
enables/disables alpha to coverage, True by default
| Standard_Boolean Graphic3d_RenderingParams::ToEnableDepthPrepass |
enables/disables depth pre-pass, False by default
| Standard_Boolean Graphic3d_RenderingParams::ToIgnoreNormalMapInRayTracing |
enables/disables normal map ignoring during path tracing; FALSE by default
| 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
| Graphic3d_ToneMappingMethod Graphic3d_RenderingParams::ToneMappingMethod |
specifies tone mapping method for path tracing, Graphic3d_ToneMappingMethod_Disabled by default
| Standard_Boolean Graphic3d_RenderingParams::ToReverseStereo |
flag to reverse stereo pair, FALSE by default
| 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)
| Standard_Boolean Graphic3d_RenderingParams::ToSmoothInterlacing |
flag to smooth output on interlaced displays (improves text readability / reduces line aliasing), TRUE by default
| Graphic3d_RenderTransparentMethod Graphic3d_RenderingParams::TransparencyMethod |
specifies rendering method for transparent graphics
| Standard_Boolean Graphic3d_RenderingParams::TwoSidedBsdfModels |
forces path tracing to use two-sided versions of original one-sided scattering models
| Standard_Boolean Graphic3d_RenderingParams::UseEnvironmentMapBackground |
enables/disables environment map background
| Standard_ShortReal Graphic3d_RenderingParams::WhitePoint |
white point value used in filmic tone mapping (path tracing), 1.0 by default