View Issue Details

IDProjectCategoryView StatusLast Update
0030412Open CASCADEOCCT:Visualizationpublic2019-01-12 14:42
ReporterosaAssigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030412: Visualization, TKV3d - add presentation of camera frustum
DescriptionUpdate computation algorithm of frustum points and planes in scope of frustum culling.
Use this frustum computation logic to build new interactive object presentation (camera frustum).
Add Draw command to display camera frustum in curent state (it can be useful to check frustum culling for example).
Steps To Reproducebugs/vis/bug30412
TagsNo tags attached.
Test case numberugs/vis/bug30412

Attached Files

  • CameraFrustumPresentation.png (4,442 bytes)

Relationships

related to 0030223 closedapn Visualization, TKOpenGl - frustum culling does not clip objects within perspective camera 
related to 0024307 closedapn TKOpenGl - efficient culling of large number of presentations 
related to 0030434 closedbugmaster Visualization, TKV3d - add "NoUpdate" state of frustum culling optimization 

Activities

git

2018-12-17 12:23

administrator   ~0081537

Branch CR30412 has been created by osa.

SHA-1: 6026510d1fd9b57c6e3f5e126ba7119c7330ac62


Detailed log of new commits:

Author: osa
Date: Mon Dec 17 12:01:17 2018 +0300

    0030412: Visualization, TKV3d - add presentation of camera frustum.
    
    1) Add method Graphic3d_Camera::GetFrustumPoints() to get corner points of camera frustum.
    2) Refactoring of methods OpenGl_BVHTreeSelector::isFullOut(...) and OpenGl_BVHTreeSelector::CacheClipPtsProjections()
    3) Change computation algorithm of frustum planes (build them by corner points)
    4) Add interactive object to draw camera frustum (AIS_CameraFrustum).
    5) Add new Draw command "vcamerafrustum" to display camera frustum.

osa

2018-12-17 12:24

developer  

CameraFrustumPresentation.png (4,442 bytes)

git

2018-12-20 17:47

administrator   ~0081580

Branch CR30412 has been updated by osa.

SHA-1: b7d7f0c8c7fae6f07c6733f8c3478ca7b70c54c5


Detailed log of new commits:

Author: osa
Date: Thu Dec 20 17:39:04 2018 +0300

    kgv remarks

git

2018-12-28 18:59

administrator   ~0081650

Branch CR30412 has been updated forcibly by osa.

SHA-1: 845a6a9ed6e67b55cf7cab1444e2b61d55a9fcfa

git

2019-01-09 10:55

administrator   ~0081688

Branch CR30412_1 has been created by osa.

SHA-1: fbd80a8f3bb45e2d52e944a108e701b8a22ccdaf


Detailed log of new commits:

Author: osa
Date: Mon Dec 17 12:01:17 2018 +0300

    0030412: Visualization, TKV3d - add presentation of camera frustum.
    
    1) Add method Graphic3d_Camera::GetFrustumPoints() to get corner points of camera frustum.
    2) Refactoring of methods OpenGl_BVHTreeSelector::isFullOut(...) and OpenGl_BVHTreeSelector::CacheClipPtsProjections()
    3) Change computation algorithm of frustum planes (build them by corner points)
    4) Add interactive object to draw camera frustum (AIS_CameraFrustum).
    5) Add new Draw command "vcamerafrustum" to display camera frustum.

git

2019-01-09 18:31

administrator   ~0081691

Branch CR30412_1 has been updated forcibly by osa.

SHA-1: 354439a0b64608cb3bb9ee3fc80198e0dfb0ceef

osa

2019-01-09 18:44

developer   ~0081694

Dear Kirill, please review

git

2019-01-10 00:58

administrator   ~0081696

Branch CR30412_1 has been updated by kgv.

SHA-1: 73dafa4dbf6312410c924fce7dc4a13d452c2d53


Detailed log of new commits:

Author: kgv
Date: Wed Jan 9 23:58:35 2019 +0300

    # cosmetics; vcamerafrustum merged into vcamera; detect presentation by edges by default

git

2019-01-10 01:00

administrator   ~0081697

Branch CR30412_2 has been created by kgv.

SHA-1: fa3c840b8b59d191f92eef932d08f91f54e7b129


Detailed log of new commits:

Author: osa
Date: Mon Dec 17 12:01:17 2018 +0300

    0030412: Visualization, TKV3d - add presentation of camera frustum
    
    1) Added method Graphic3d_Camera::FrustumPoints() returning corner points of camera frustum.
    2) Refactored methods OpenGl_BVHTreeSelector::isFullOut(...) and OpenGl_BVHTreeSelector::CacheClipPtsProjections()
    3) Changed computation algorithm of frustum planes (build them by corner points)
    4) Added interactive object AIS_CameraFrustum to draw camera frustum.
    5) Extended Draw command "vcamera" with option displaying camera frustum.

git

2019-01-10 03:11

administrator   ~0081698

Branch CR30412_2 has been updated forcibly by kgv.

SHA-1: edf18e4714177fc4b04f5c7a4df43e305f0dd1c0

kgv

2019-01-10 03:12

developer   ~0081699

Please take the patch.

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

bugmaster

2019-01-10 16:43

administrator   ~0081723

Combination -
OCCT branch : CR30412_2 SHA - fa3c840b8b59d191f92eef932d08f91f54e7b129
Products branch : master SHA - 0b9df64a156abd5cbfbfccb15967b46cdabfe1f8
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: 16362.730000000083 / 16388.860000000008 [-0.16%]
Products
Total CPU difference: 7153.750000000044 / 7167.61000000003 [-0.19%]
Windows-64-VC14:
OCCT
Total CPU difference: 17766.59375 / 17753.9375 [+0.07%]
Products
Total CPU difference: 8595.21875 / 8592.53125 [+0.03%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

bugmaster

2019-01-11 10:33

administrator   ~0081746

Fix has been tested in framework of WEEK-2

Combination -
OCCT branch : WEEK-2 SHA - e86ab0bbd895a6609d2b948088ffe4f46e3a5f64
Products branch : WEEK-2 SHA - 0b9df64a156abd5cbfbfccb15967b46cdabfe1f8
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: 16371.970000000036 / 16388.860000000008 [-0.10%]
Products
Total CPU difference: 7159.450000000021 / 7172.62000000003 [-0.18%]
Windows-64-VC14:
OCCT
Total CPU difference: 17753.953125 / 17753.9375 [+0.00%]
Products
Total CPU difference: 8592.859375 / 8592.53125 [+0.00%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-01-12 14:42

administrator   ~0081766

Branch CR30412_2 has been deleted by inv.

SHA-1: edf18e4714177fc4b04f5c7a4df43e305f0dd1c0

git

2019-01-12 14:42

administrator   ~0081767

Branch CR30412_1 has been deleted by inv.

SHA-1: 73dafa4dbf6312410c924fce7dc4a13d452c2d53

git

2019-01-12 14:42

administrator   ~0081769

Branch CR30412 has been deleted by inv.

SHA-1: 845a6a9ed6e67b55cf7cab1444e2b61d55a9fcfa

Related Changesets

occt: master 30a1b24e

2018-12-17 09:01:17

osa


Committer: bugmaster Details Diff
0030412: Visualization, TKV3d - add presentation of camera frustum

1) Added method Graphic3d_Camera::FrustumPoints() returning corner points of camera frustum.
2) Refactored methods OpenGl_BVHTreeSelector::isFullOut(...) and OpenGl_BVHTreeSelector::CacheClipPtsProjections()
3) Changed computation algorithm of frustum planes (build them by corner points)
4) Added interactive object AIS_CameraFrustum to draw camera frustum.
5) Extended Draw command "vcamera" with option displaying camera frustum.
Affected Issues
0030412
add - src/AIS/AIS_CameraFrustum.cxx Diff File
add - src/AIS/AIS_CameraFrustum.hxx Diff File
mod - src/AIS/FILES Diff File
mod - src/Graphic3d/Graphic3d_Camera.cxx Diff File
mod - src/Graphic3d/Graphic3d_Camera.hxx Diff File
mod - src/OpenGl/OpenGl_BVHTreeSelector.cxx Diff File
mod - src/OpenGl/OpenGl_BVHTreeSelector.hxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
add - tests/bugs/vis/bug30412 Diff File

Issue History

Date Modified Username Field Change
2018-12-13 08:43 osa New Issue
2018-12-13 08:43 osa Assigned To => kgv
2018-12-13 08:43 osa Assigned To kgv => osa
2018-12-13 08:44 osa Status new => assigned
2018-12-13 10:45 kgv Relationship added related to 0030223
2018-12-13 10:46 kgv Relationship added related to 0024307
2018-12-17 12:23 git Note Added: 0081537
2018-12-17 12:24 osa File Added: CameraFrustumPresentation.png
2018-12-20 17:47 git Note Added: 0081580
2018-12-28 18:59 git Note Added: 0081650
2019-01-09 10:55 git Note Added: 0081688
2019-01-09 18:31 git Note Added: 0081691
2019-01-09 18:44 osa Note Added: 0081694
2019-01-09 18:44 osa Assigned To osa => kgv
2019-01-09 18:44 osa Status assigned => resolved
2019-01-09 18:44 osa Steps to Reproduce Updated
2019-01-10 00:58 git Note Added: 0081696
2019-01-10 01:00 git Note Added: 0081697
2019-01-10 03:11 git Note Added: 0081698
2019-01-10 03:12 kgv Note Added: 0081699
2019-01-10 03:12 kgv Assigned To kgv => bugmaster
2019-01-10 03:12 kgv Severity minor => feature
2019-01-10 03:12 kgv Status resolved => reviewed
2019-01-10 03:12 kgv Product Version 7.4.0 =>
2019-01-10 12:17 kgv Relationship added related to 0030434
2019-01-10 16:40 bugmaster Test case number => ugs/vis/bug30412
2019-01-10 16:43 bugmaster Note Added: 0081723
2019-01-11 10:33 bugmaster Note Added: 0081746
2019-01-11 10:33 bugmaster Status reviewed => tested
2019-01-12 14:34 bugmaster Changeset attached => occt master 30a1b24e
2019-01-12 14:34 bugmaster Status tested => verified
2019-01-12 14:34 bugmaster Resolution open => fixed
2019-01-12 14:42 git Note Added: 0081766
2019-01-12 14:42 git Note Added: 0081767
2019-01-12 14:42 git Note Added: 0081769