View Issue Details

IDProjectCategoryView StatusLast Update
0031129Open CASCADEOCCT:Visualizationpublic2021-09-26 15:06
Reporterkgv Assigned Tokgv  
PrioritynormalSeverityminor 
Status newResolutionopen 
Target Version7.7.0 
Summary0031129: Visualization - revise background / environment API
DescriptionExisting API for configuring viewer background / environment is unreliable.
There is no public getter returning current state, too many setters, PBR supports only Cubemap and Ray Tracing supports only Equirectangular panorama, different ways for using environment for lighting / background (V3d_View::SetBackgroundCubeMap() for PBR and Graphic3d_RenderingParams::UseEnvironmentMapBackground for RaT Tracing), Graphic3d_TextureEnv/Graphic3d_CubeMap have no relationship although has similar nature, and result depends on the order of called methods.

OpenGl_View::myBackgroundType is inaccessible outside. OpenGl_View::myBackgroundCubeMap can be left defined after OpenGl_View::SetBackgroundImage (Handle(Graphic3d_TextureMap)()) without any option to make it active as background again.

It is proposed to:
- Move background / environment properties to Graphic3d_RenderingParams (preserving a couple of old V3d_View methods for compatibility). No setter is needed to switch state - renderer should be able tracking change.
- Support Cubemap within Ray-Tracing. Preserving support of equirectangular panorama to be considered, if not troublesome.
- Provide dedicated properties for Background Environment and IBL Environment.
  IBL environment setup could be moved to Ambient Light source definition.
  Renderer should be able reusing OpenGL resource created for Background Environment for baking IBL Environment when they are the same using normal resource sharing mechanism. Remove Graphic3d_RenderingParams::UseEnvironmentMapBackground flag.
TagsNo tags attached.
Test case number

Relationships

related to 0031105 newiko Open CASCADE Visualization, TKOpenGl - provide built-in environment maps 
parent of 0031225 closedbugmaster Open CASCADE Visualization, TKOpenGl - support cubemap for environment texture within Ray-Tracing 
parent of 0032590 closedkgv Open CASCADE Visualization, V3d_View - improve API for setting Image Based Lighting 
related to 0030982 closedbugmaster Open CASCADE Visualization, OpenGl_View::MinMaxValues() - do not add background quad into depth range 
related to 0031683 closedabv Community Visualization - V3d_View::SetBackgroundImage() should accept Image_PixMap 
child of 0030700 closedapn Open CASCADE Visualization, TKOpenGl - support PBR Metallic-Roughness shading model 
child of 0030807 closedapn Open CASCADE Visualization, TKOpenGl - supporting cubemaps 
child of 0030592 closedbugmaster Open CASCADE Draw Harness, ViewerTest - provide vbackground command unifying vsetbg, vsetbgmode, vsetgradientbg, vsetgrbgmode, vsetcolorbg 

Activities

git

2021-09-26 13:20

administrator   ~0104378

Branch CR31129 has been created by kgv.

SHA-1: 54c7f11b6b45fcd47f32aa962b96bd18e4b6bdb4


Detailed log of new commits:

Author: kgv
Date: Sun Sep 26 13:03:25 2021 +0300

    0031129: Visualization - revise background / environment API

Issue History

Date Modified Username Field Change
2019-11-05 10:48 kgv New Issue
2019-11-05 10:48 kgv Assigned To => kgv
2019-11-05 10:48 kgv Relationship added related to 0031105
2019-11-05 10:49 kgv Relationship added child of 0030700
2019-11-05 10:49 kgv Relationship added child of 0030807
2019-11-05 10:49 kgv Relationship added child of 0030592
2019-11-05 10:50 kgv Description Updated
2019-11-22 15:50 kgv Relationship added related to 0030982
2019-12-06 10:33 kgv Relationship added parent of 0031225
2020-07-23 09:12 kgv Relationship added related to 0031683
2020-09-21 17:42 kgv Target Version 7.5.0 => 7.6.0
2021-01-12 13:44 kgv Description Updated
2021-08-24 14:19 kgv Target Version 7.6.0 => 7.7.0
2021-09-25 10:34 kgv Description Updated
2021-09-26 13:20 git Note Added: 0104378
2021-09-26 15:06 kgv Relationship added parent of 0032590