View Issue Details

IDProjectCategoryView StatusLast Update
0030640Open CASCADEOCCT:Visualizationpublic2021-12-17 18:41
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0030640: Visualization, Graphic3d_Camera - add option creating Projection matrix with [0,1] depth range
DescriptionCurrent Graphic3d_Camera implementation relies on conventional OpenGL NDC definition with depth range mapped to [-1,1] range (same as for other axes).

There are, however, another convention mapping depth into [0,1] range, adopted by Vulkan and Direct3D graphic APIs.
It is desired providing an option within Graphic3d_Camera computing suitable Projection matrix in this case.
TagsNo tags attached.
Test case numberv3d/shadows/dir3

Relationships

parent of 0030631 newkgv Visualization - Vulkan graphic driver prototype 
related to 0030638 closedapn Visualization, TKOpenGl - load OpenGL 4.5 functions within OpenGl_Context 
Not all the children of this issue are yet resolved or closed.

Activities

git

2019-04-08 19:53

administrator   ~0083540

Branch CR30640 has been created by kgv.

SHA-1: b31357a052c8f27a13bdbab71af70005e6eb378c


Detailed log of new commits:

Author: kgv
Date: Mon Apr 8 19:47:20 2019 +0300

    0030640: Visualization, Graphic3d_Camera - add option creating Projection matrix with [0,1] depth range
    
    Added new property Graphic3d_Camera::IsZeroToOneDepth() and OpenGl_Caps::useZeroToOneDepth
    for activating [0,1] depth range instead of [-1,1] range using glClipControl() within OpenGL 4.5+.

git

2019-04-09 00:31

administrator   ~0083543

Branch CR30640 has been updated forcibly by kgv.

SHA-1: 2e8b47c9ff2154bbe7ad7d117ce5f21478d9688e

git

2019-04-09 00:51

administrator   ~0083544

Branch CR30640 has been updated forcibly by kgv.

SHA-1: 1c78e0a59bf9886b36f1cafeca510c637216656f

git

2019-04-09 10:14

administrator   ~0083549

Branch CR30640 has been updated forcibly by kgv.

SHA-1: 5b5f819f516cedbbfe31ae257fa656574c790cbb

git

2021-03-03 15:53

administrator   ~0099339

Branch CR30640_1 has been created by kgv.

SHA-1: c1e1ba657125afe5566cc8371157bceb681bb155


Detailed log of new commits:

Author: kgv
Date: Wed Mar 3 14:58:46 2021 +0300

    0030640: Visualization, Graphic3d_Camera - add option creating Projection matrix with [0,1] depth range
    
    Added new property Graphic3d_Camera::IsZeroToOneDepth() and OpenGl_Caps::useZeroToOneDepth
    for activating [0,1] depth range instead of [-1,1] range using glClipControl() within OpenGL 4.5+.

git

2021-03-03 16:40

administrator   ~0099340

Branch CR30640_1 has been updated forcibly by kgv.

SHA-1: d4c1b0ab723b747dd4af560b0c005923e32d1656

git

2021-03-03 19:50

administrator   ~0099345

Branch CR30640_1 has been updated forcibly by kgv.

SHA-1: 09e0661c69f5ca4d4555067383caee92323b4101

git

2021-03-03 20:34

administrator   ~0099347

Branch CR30640_1 has been updated forcibly by kgv.

SHA-1: ea59d0d5952c001fdac8e34b615cae0dcc912fdd

git

2021-03-03 20:45

administrator   ~0099348

Branch CR30640_1 has been updated forcibly by kgv.

SHA-1: 7ecd3b5171cf28870c71cf6683868c7ac0746b27

git

2021-03-03 21:14

administrator   ~0099350

Branch CR30640_1 has been updated forcibly by kgv.

SHA-1: a80ee4bf62cedbdab1d7c086ec5520a0a0c63d4c

git

2021-03-03 21:26

administrator   ~0099351

Branch CR30640_1 has been updated forcibly by kgv.

SHA-1: 95f0e18f234ebb4790750be2ca4240929775dfee

git

2021-03-03 21:26

administrator   ~0099352

Branch CR30640_1_test has been created by kgv.

SHA-1: 3df203f6b200a2fe9921e35aad531cada6d117ee


Detailed log of new commits:

Author: kgv
Date: Wed Mar 3 21:26:57 2021 +0300

    Test zero2one depth

kgv

2021-03-03 22:54

developer   ~0099354

Patch is ready for review
- OCCT: branch CR30640_1;
- OCC Products: branch CR30640_1.

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

osa

2021-03-05 09:43

developer   ~0099414

The patches were reviewed

bugmaster

2021-03-06 12:16

administrator   ~0099477

Combination -
OCCT branch : IR-2021-03-05
master SHA - 58210e5983a7986bc4cd1bec9c0b5cb29828fda4
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-03-05 SHA - b3d022cfefe721ee2ad6db68ca360345d656610b
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: 17744.80000000016 / 17811.87000000015 [-0.38%]
Products
Total CPU difference: 11539.9800000001 / 11543.6500000001 [-0.03%]
Windows-64-VC14:
OCCT
Total CPU difference: 19321.640625 / 19344.390625 [-0.12%]
Products
Total CPU difference: 12868.796875 / 12900.578125 [-0.25%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-03-06 13:25

administrator   ~0099490

Branch CR30640_1_test has been deleted by inv.

SHA-1: 3df203f6b200a2fe9921e35aad531cada6d117ee

git

2021-03-06 13:25

administrator   ~0099491

Branch CR30640_1 has been deleted by inv.

SHA-1: 95f0e18f234ebb4790750be2ca4240929775dfee

git

2021-03-06 13:25

administrator   ~0099506

Branch CR30640 has been deleted by inv.

SHA-1: 5b5f819f516cedbbfe31ae257fa656574c790cbb

Related Changesets

occt: master e70625d6

2021-03-03 11:58:46

kgv


Committer: bugmaster Details Diff
0030640: Visualization, Graphic3d_Camera - add option creating Projection matrix with [0,1] depth range

Added new property Graphic3d_Camera::IsZeroToOneDepth() and OpenGl_Caps::useZeroToOneDepth
for activating [0,1] depth range instead of [-1,1] range using glClipControl() within OpenGL 4.5+.
Affected Issues
0030640
mod - src/Graphic3d/Graphic3d_Camera.cxx Diff File
mod - src/Graphic3d/Graphic3d_Camera.hxx Diff File
mod - src/OpenGl/OpenGl_Caps.cxx Diff File
mod - src/OpenGl/OpenGl_Caps.hxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_GlFunctions.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderProgram.cxx Diff File
mod - src/OpenGl/OpenGl_ShadowMap.cxx Diff File
mod - src/OpenGl/OpenGl_View.hxx Diff File
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File
mod - src/SelectMgr/SelectMgr_BaseFrustum.cxx Diff File
mod - src/SelectMgr/SelectMgr_FrustumBuilder.cxx Diff File
mod - src/SelectMgr/SelectMgr_FrustumBuilder.hxx Diff File
mod - src/SelectMgr/SelectMgr_ViewerSelector.cxx Diff File
mod - src/Shaders/DirectionalLightShadow.glsl Diff File
mod - src/Shaders/PathtraceBase.fs Diff File
mod - src/Shaders/RaytraceBase.fs Diff File
mod - src/Shaders/Shaders_DirectionalLightShadow_glsl.pxx Diff File
mod - src/Shaders/Shaders_PathtraceBase_fs.pxx Diff File
mod - src/Shaders/Shaders_RaytraceBase_fs.pxx Diff File
mod - src/V3d/V3d_View.cxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
add - tests/v3d/shadows/dir3 Diff File

occt-products: master 05273514

2021-03-03 18:26:56

kgv


Committer: bugmaster Details Diff
0030640: Visualization, Graphic3d_Camera - add option creating Projection matrix with [0,1] depth range

Added handling of OpenGl_Caps::useZeroToOneDepth flag within VolumeRender and PrsPointCloud shader generators.
Affected Issues
0030640
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - src/PrsPointCloud/PrsPointCloud_RasterRenderer.hxx Diff File
mod - src/VolumeRender/VolumeRender_RawRenderer.hxx Diff File
mod - src/VolumeRender/VolumeRender_RawRenderer.Shaders.cxx Diff File
mod - src/VolumeRender/VolumeRender_RaytraceRenderer.cxx Diff File
mod - src/VolumeRender/VolumeRender_RaytraceRenderer.hxx Diff File
mod - src/VolumeRender/VolumeRender_ShaderManager.cxx Diff File

Issue History

Date Modified Username Field Change
2019-04-08 19:31 kgv New Issue
2019-04-08 19:31 kgv Assigned To => kgv
2019-04-08 19:31 kgv Relationship added related to 0030638
2019-04-08 19:31 kgv Relationship added parent of 0030631
2019-04-08 19:53 git Note Added: 0083540
2019-04-09 00:31 git Note Added: 0083543
2019-04-09 00:51 git Note Added: 0083544
2019-04-09 10:14 git Note Added: 0083549
2019-09-04 15:43 abv Target Version 7.4.0 => 7.5.0
2020-09-21 17:20 kgv Target Version 7.5.0 => 7.6.0
2021-03-03 15:53 git Note Added: 0099339
2021-03-03 16:40 git Note Added: 0099340
2021-03-03 19:50 git Note Added: 0099345
2021-03-03 20:34 git Note Added: 0099347
2021-03-03 20:45 git Note Added: 0099348
2021-03-03 21:14 git Note Added: 0099350
2021-03-03 21:26 git Note Added: 0099351
2021-03-03 21:26 git Note Added: 0099352
2021-03-03 22:54 kgv Note Added: 0099354
2021-03-03 22:54 kgv Assigned To kgv => osa
2021-03-03 22:54 kgv Status new => resolved
2021-03-05 09:43 osa Note Added: 0099414
2021-03-05 09:43 osa Assigned To osa => bugmaster
2021-03-05 09:43 osa Status resolved => reviewed
2021-03-06 12:16 bugmaster Note Added: 0099477
2021-03-06 12:16 bugmaster Status reviewed => tested
2021-03-06 12:23 bugmaster Test case number => v3d/shadows/dir3
2021-03-06 12:34 bugmaster Changeset attached => occt master e70625d6
2021-03-06 12:34 bugmaster Status tested => verified
2021-03-06 12:34 bugmaster Resolution open => fixed
2021-03-06 13:25 git Note Added: 0099490
2021-03-06 13:25 git Note Added: 0099491
2021-03-06 13:25 git Note Added: 0099506
2021-12-17 18:41 bugmaster Changeset attached => occt-products master 05273514