View Issue Details

IDProjectCategoryView StatusLast Update
0032200Open CASCADEOCCT:Visualizationpublic2021-04-03 12:50
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0032200: Visualization, TKOpenGl - unify Phong/PBR light space calculations
DescriptionCurrently Phong/PBR rely use different spaces for calculations - PBR uses World space, while Phong uses View space.

It is proposed eliminating this disparity.
Steps To ReproduceN/A

pload MODELING VISUALIZATION
vclear
vinit View1
vzbufftrihedron
psphere s 1
vdisplay -dispMode 1 s
vfit
vrenderparams -shadingModel PHONG
vzoom 0.001
# OK
vrenderparams -shadingModel PBR
# bug - trihedron light intensity depends on zoom level
TagsNo tags attached.
Test case numberNot required

Relationships

child of 0032042 closedbugmaster Visualization, TKOpenGl - pre-multiply headlight flag into light source position 

Activities

git

2021-03-05 23:31

administrator   ~0099452

Branch CR32200 has been created by kgv.

SHA-1: fe3675c00a929b567b483a168903a3adff996407


Detailed log of new commits:

Author: kgv
Date: Fri Mar 5 23:06:50 2021 +0300

    0032200: Visualization, TKOpenGl - unify Phong/PBR light space calculations
    
    Phong shading now uses World space calculations.

git

2021-03-06 00:27

administrator   ~0099453

Branch CR32200 has been updated forcibly by kgv.

SHA-1: 96a1d224371deeaea36b17e82278b123b3d9c53e

git

2021-03-06 01:52

administrator   ~0099454

Branch CR32200 has been updated forcibly by kgv.

SHA-1: b128ee61e7ecc9433dcdf83b1ef0c13ad6d4044b

git

2021-03-06 02:46

administrator   ~0099456

Branch CR32200 has been updated forcibly by kgv.

SHA-1: b90670ec16900adc22c4ae212e02c3091b2df70e

git

2021-03-06 03:22

administrator   ~0099457

Branch CR32200_1 has been created by kgv.

SHA-1: 9b22a099741bc1855ba1d08533ad6e3314dceaf6


Detailed log of new commits:

Author: kgv
Date: Fri Mar 5 23:06:50 2021 +0300

    0032200: Visualization, TKOpenGl - unify Phong/PBR light space calculations
    
    Graphic3d_ShaderManager - Phong shading now uses World space calculations.
    OpenGl_ShaderManager::pushLightSourceState() - fixed unnormalized direction of headlight source.

Author: kgv
Date: Sat Mar 6 03:22:05 2021 +0300

    0032198: Visualization, TKOpenGl - per-vertex lighting ignores back/front material colors
    
    Graphic3d_ShaderManager::stdComputeLighting() now multiplies vertex color by material color.

Author: kgv
Date: Fri Mar 5 17:26:47 2021 +0300

    0032201: Visualization, TKOpenGl - unify Phong/PBR material properties getters
    
    Graphic3d_ShaderManager::stdComputeLighting() - implementation has been adjusted
    for better consistency between PBR / non-PBR.
    
    OpenGl_Material definition has been modified to join Front/Back pair into a single uniform variable.
    Common material definition now occupies 4x2 vec4 instead of 5x2 vec4.
    
    Getters of Common material properties within Declarations.glsl
    have been renamed to match PBR material syntax (e.g. take IsFront flag as function argument).
    Auxliary macros (like occTextureColor()) has been renamed (like occMaterialBaseColor())
    and adjusted to return material property directly instead of taking it as argument.

kgv

2021-03-06 10:21

developer   ~0099463

Patch is ready for review
- OCCT: branch CR32200_1.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32200-master-KGV/

git

2021-03-06 14:34

administrator   ~0099508

Branch CR32200_1 has been updated forcibly by kgv.

SHA-1: a77ebac2a2dc265c9bd6182100ba50537ea05741

osa

2021-03-17 13:59

developer   ~0099547

The patch was reviewed without remarks

bugmaster

2021-03-20 12:49

administrator   ~0099612

Combination -
OCCT branch : IR-2021-03-19
master SHA - d209b3176e21010e096833052698f1c0da5b04d5
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-03-19 SHA - 6baf3a921c29525981c0ad7881214c9b20ffe3c1
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17753.85000000016 / 17750.250000000156 [+0.02%]
Products
Total CPU difference: 11481.660000000102 / 11540.5800000001 [-0.51%]
Windows-64-VC14:
OCCT
Total CPU difference: 19361.09375 / 19341.28125 [+0.10%]
Products
Total CPU difference: 12879.75 / 12869.921875 [+0.08%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-04-03 12:50

administrator   ~0100044

Branch CR32200 has been deleted by inv.

SHA-1: b90670ec16900adc22c4ae212e02c3091b2df70e

git

2021-04-03 12:50

administrator   ~0100045

Branch CR32200_1 has been deleted by inv.

SHA-1: a77ebac2a2dc265c9bd6182100ba50537ea05741

Related Changesets

occt: master b470ebea

2021-03-05 20:06:50

kgv


Committer: bugmaster Details Diff
0032200: Visualization, TKOpenGl - unify Phong/PBR light space calculations

Graphic3d_ShaderManager - Phong shading now uses World space calculations.
OpenGl_ShaderManager::pushLightSourceState() - fixed unnormalized direction of headlight source.
Affected Issues
0032200
mod - src/Graphic3d/Graphic3d_ShaderManager.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff File
mod - src/Shaders/DirectionalLightShadow.glsl Diff File
mod - src/Shaders/PhongDirectionalLight.glsl Diff File
mod - src/Shaders/PhongPointLight.glsl Diff File
mod - src/Shaders/PhongSpotLight.glsl Diff File
mod - src/Shaders/Shaders_DirectionalLightShadow_glsl.pxx Diff File
mod - src/Shaders/Shaders_PhongDirectionalLight_glsl.pxx Diff File
mod - src/Shaders/Shaders_PhongPointLight_glsl.pxx Diff File
mod - src/Shaders/Shaders_PhongSpotLight_glsl.pxx Diff File

Issue History

Date Modified Username Field Change
2021-03-05 23:28 kgv New Issue
2021-03-05 23:28 kgv Assigned To => kgv
2021-03-05 23:31 git Note Added: 0099452
2021-03-06 00:27 git Note Added: 0099453
2021-03-06 01:52 git Note Added: 0099454
2021-03-06 02:46 git Note Added: 0099456
2021-03-06 02:48 kgv Steps to Reproduce Updated
2021-03-06 02:48 kgv Relationship added child of 0032042
2021-03-06 03:22 git Note Added: 0099457
2021-03-06 10:21 kgv Note Added: 0099463
2021-03-06 10:21 kgv Assigned To kgv => osa
2021-03-06 10:21 kgv Status new => resolved
2021-03-06 14:34 git Note Added: 0099508
2021-03-17 13:59 osa Note Added: 0099547
2021-03-17 13:59 osa Assigned To osa => bugmaster
2021-03-17 13:59 osa Status resolved => reviewed
2021-03-20 12:49 bugmaster Note Added: 0099612
2021-03-20 12:49 bugmaster Status reviewed => tested
2021-03-20 12:57 bugmaster Test case number => Not required
2021-03-23 21:46 bugmaster Changeset attached => occt master b470ebea
2021-03-23 21:46 bugmaster Status tested => verified
2021-03-23 21:46 bugmaster Resolution open => fixed
2021-04-03 12:50 git Note Added: 0100044
2021-04-03 12:50 git Note Added: 0100045