View Issue Details

IDProjectCategoryView StatusLast Update
0032042Open CASCADEOCCT:Visualizationpublic2021-03-22 20:42
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0032042: Visualization, TKOpenGl - pre-multiply headlight flag into light source position
DescriptionCurrently headlight flag is passed to GLSL program so that transformation has to be applied dynamically.

This looks like unnecessary overcomplication - as camera position remains static within frame, it makes sense premultiplying transformation and passing final headlight position.
TagsNo tags attached.
Test case numberNot required

Relationships

related to 0027750 closedbugmaster Visualization, V3d_View - remove unused functionality ZClipping and ZCueing 
parent of 0032200 closedbugmaster Visualization, TKOpenGl - unify Phong/PBR light space calculations 
related to 0032238 newvpozdyayev Visualization, TKOpenGl - GLSL compilation errors when using ANGLE (OpenGL ES 2.0) with disabled highp 
related to 0032222 closedbugmaster Visualization, V3d_Viewer - use Graphic3d_TOSM_FRAGMENT by default instead of Graphic3d_TOSM_VERTEX 

Activities

git

2021-01-09 23:34

administrator   ~0098022

Branch CR32042 has been created by kgv.

SHA-1: c262aafaff5398237d85c2ab434141501460ab70


Detailed log of new commits:

Author: kgv
Date: Fri Jan 8 00:48:29 2021 +0300

    0032042: Visualization, TKOpenGl - pre-multiply headlight flag into light source position
    
    OpenGl_ShaderManager::pushLightSourceState() now pre-multiplies headlight transformation.
    Built-in shading GLSL programs have been updated to remove special handling if headlight flag;
    also removed redundant pre-normalization of light source direction
    (already normalized implicitly by Graphic3d_CLight interface).
    
    Graphic3d_CLight::SetHeadlight() now raises exception in case of ambient light type.
    OpenGl_ShaderManager::SetLastView() - removed unused property.

git

2021-01-10 02:29

administrator   ~0098032

Branch CR32042 has been updated forcibly by kgv.

SHA-1: f9be7ae44ff09900e41e2b41627ab91bdf803fe9

kgv

2021-01-10 04:25

developer   ~0098036

Patch is ready for review
- OCCT branch: CR32042.

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

osa

2021-01-12 12:17

developer   ~0098088

The patch was reviewed

bugmaster

2021-01-16 13:30

administrator   ~0098147

Combination -
OCCT branch : IR-2021-01-15
master SHA - 6fab0b34288ef3f29ecf4eabc0283540460dbc31
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2021-01-15 SHA - a8521c25e41405ac279e65e1fcde5de75a344b0b
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: 17754.160000000134 / 17720.07000000011 [+0.19%]
Products
Total CPU difference: 12412.630000000105 / 12419.360000000095 [-0.05%]
Windows-64-VC14:
OCCT
Total CPU difference: 19336.3125 / 19330.015625 [+0.03%]
Products
Total CPU difference: 13740.03125 / 13831.828125 [-0.66%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

Related Changesets

occt: master 37f80e16

2021-01-07 21:48:29

kgv


Committer: bugmaster Details Diff
0032042: Visualization, TKOpenGl - pre-multiply headlight flag into light source position

OpenGl_ShaderManager::pushLightSourceState() now pre-multiplies headlight transformation.
Built-in shading GLSL programs have been updated to remove special handling if headlight flag;
also removed redundant pre-normalization of light source direction
(already normalized implicitly by Graphic3d_CLight interface).

Graphic3d_CLight::SetHeadlight() now raises exception in case of ambient light type.
OpenGl_ShaderManager::SetLastView() - removed unused property.
Affected Issues
0032042
mod - src/Graphic3d/Graphic3d_CLight.cxx Diff File
mod - src/Graphic3d/Graphic3d_CLight.hxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.hxx Diff File
mod - src/OpenGl/OpenGl_View.cxx Diff File
mod - src/Shaders/Declarations.glsl Diff File
mod - src/Shaders/Shaders_Declarations_glsl.pxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File

Issue History

Date Modified Username Field Change
2021-01-07 11:20 kgv New Issue
2021-01-07 11:20 kgv Assigned To => kgv
2021-01-07 11:23 kgv Relationship added related to 0027750
2021-01-09 23:34 git Note Added: 0098022
2021-01-10 02:29 git Note Added: 0098032
2021-01-10 04:25 kgv Note Added: 0098036
2021-01-10 04:25 kgv Assigned To kgv => osa
2021-01-10 04:25 kgv Status new => resolved
2021-01-12 12:17 osa Note Added: 0098088
2021-01-12 12:17 osa Assigned To osa => bugmaster
2021-01-12 12:17 osa Status resolved => reviewed
2021-01-16 13:30 bugmaster Note Added: 0098147
2021-01-16 13:30 bugmaster Status reviewed => tested
2021-01-16 13:51 bugmaster Test case number => Not required
2021-01-16 14:12 bugmaster Changeset attached => occt master 37f80e16
2021-01-16 14:12 bugmaster Status tested => verified
2021-01-16 14:12 bugmaster Resolution open => fixed
2021-03-06 02:48 kgv Relationship added parent of 0032200
2021-03-22 20:42 kgv Relationship added related to 0032238
2021-03-22 20:42 kgv Relationship added related to 0032222