View Issue Details

IDProjectCategoryView StatusLast Update
0030748CommunityOCCT:Visualizationpublic2019-07-08 12:58
ReporterVico Liang Assigned Tokgv  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.4.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030748: Visualization - Marker displayed in immediate layer ruins QT Quick view controls
DescriptionGet the latest code from git and build for Android.
Use Qt Quick as UI and setup OpenGL ES context as AndroidQt sample.
When moving mouse under the shape with markers, the QT quick controls are filled with black background as picture "ill-status.jpg" depicted.
An correct image is uploaded to depict the normal case "normal-status.jpg".

The issue won't occur in current release version occt7.3.0. It also occurs on ios and uwp platform, So this should be an regression.


TagsNo tags attached.
Test case numberNot needed

Attached Files

  • ill-status.jpg (352,962 bytes)
  • normal-status.jpg (393,434 bytes)

Relationships

related to 0030374 closedapn Open CASCADE Visualization, TKOpenGl - activate texture unit Graphic3d_TextureUnit_1 after OpenGl_LayerList::renderTransparent() 
child of 0030571 closedapn Open CASCADE Visualization, TKOpenGl - mapped texture is ignored while drawing points 

Activities

Vico Liang

2019-05-27 18:35

developer  

ill-status.jpg (352,962 bytes)

Vico Liang

2019-05-27 18:36

developer  

normal-status.jpg (393,434 bytes)

kgv

2019-05-27 18:43

developer   ~0084676

This is unrelated to OCCT, but to Qt/OCCT interoperability of shared OpenGL context. The OpenGL state affecting rendering of Qt elements should be manually restored after OCCT 3D Viewer.

Vico Liang

2019-05-27 18:55

developer   ~0084677

so i'm curious why it works in occt7.3.0. do you mean it's a new behavior of occt current dev version? would you please give more hint about how to do on qt side? thanks in advance.

Vico Liang

2019-05-27 19:00

developer   ~0084678

other shape like edge, face works well. if the marker not in immediate layer, it works well too. It just occurs for marker in immediate layer. what's the problem behind it? please guide. thanks.

Vico Liang

2019-05-27 19:21

developer   ~0084679

Even don't need to draw marker actually, SetGroupPrimitivesAspect/SetPrimitivesAspect with Aspect with marker type will reproduce the issue.

myAspects = new Graphic3d_Aspects();
myAspects->SetMarkerType(Aspect_TOM_O);
aGroup->SetGroupPrimitivesAspect(myAspects);

Vico Liang

2019-06-11 05:18

developer   ~0084979

Dear kgv, could you please take a look at this issue? It's a regression failure. The same code works for OCCT 7.3.0, but fails in master branch. Thanks.

kgv

2019-06-18 16:26

developer   ~0085124

Last edited: 2019-06-18 16:28

I'm unable reproducing the issue nor find any changes related to this.
Could you please prepare a reproducible sample?
Which version of Qt is used?

> would you please give more hint about how to do on qt side?
Actually this is not Qt, but OpenGL/OpenGL ES global state, which should be smoothed between renderers not knowing anything about each other.

Both Qt and OCCT tries to avoid unnecessary OpenGL state changes, leading to possible rendering issues when wrong state is assumed. There is a plenty of states known to cause issues with Qt like GL_UNPACK_ALIGNMENT, multi-texturing, active GLSL program.

See, for example, similar screenshot for 0030374.

Vico Liang

2019-06-22 19:01

developer   ~0085232

Dear kgv,

It's rather complicated to prepare a sample to reproduce the issue. could your please check issue 0030571 ? It relates to point marker display. Currently this is the only hint. I will try to prepare a sample to reproduce this, but it may need a little more time.

git

2019-06-22 19:51

administrator   ~0085233

Branch CR30748 has been created by kgv.

SHA-1: 0c33a0bf4d320a4afef435687477636a570100b3


Detailed log of new commits:

Author: kgv
Date: Sat Jun 22 19:50:10 2019 +0300

    0030748: Visualization - Marker displayed in immediate layer ruins QT Quick view controls
    
    OpenGl_Workspace::ResetAppliedAspect() now resets active texture unit to GL_TEXTURE0.

kgv

2019-06-22 19:51

developer   ~0085234

Last edited: 2019-06-22 19:51

Does patch in branch CR30748 make any difference?

Vico Liang

2019-06-24 05:07

developer   ~0085235

Dear kgv, It works well. It save me much time to prepare a sample case to reproduce the issue. Thank you so much for the fix.

kgv

2019-06-24 09:54

developer   ~0085242

Please take the patch.

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

apn

2019-06-24 12:10

administrator   ~0085250

Combination -
OCCT branch : CR30748
master SHA - 0c33a0bf4d320a4afef435687477636a570100b3
d67d4b811012eef8913d3c535c29654d0acf3c4c
Products branch : master SHA - c08b242c9da615bfdf83ca463321740d4cc22898
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: 16476.210000000094 / 16513.620000000094 [-0.23%]
Products
Total CPU difference: 10526.460000000054 / 10515.620000000044 [+0.10%]
Windows-64-VC14:
OCCT
Total CPU difference: 17815.421875 / 17822.375 [-0.04%]
Products
Total CPU difference: 12104.4375 / 12126.671875 [-0.18%]

Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-07-08 12:58

administrator   ~0085481

Branch CR30748 has been deleted by inv.

SHA-1: 0c33a0bf4d320a4afef435687477636a570100b3

Related Changesets

occt: master 0c33a0bf

2019-06-22 16:50:10

kgv

Details Diff
0030748: Visualization - Marker displayed in immediate layer ruins QT Quick view controls

OpenGl_Workspace::ResetAppliedAspect() now resets active texture unit to GL_TEXTURE0.
Affected Issues
0030748
mod - src/OpenGl/OpenGl_Workspace.cxx Diff File

Issue History

Date Modified Username Field Change
2019-05-27 18:35 Vico Liang New Issue
2019-05-27 18:35 Vico Liang Assigned To => kgv
2019-05-27 18:35 Vico Liang File Added: ill-status.jpg
2019-05-27 18:36 Vico Liang File Added: normal-status.jpg
2019-05-27 18:43 kgv Note Added: 0084676
2019-05-27 18:55 Vico Liang Note Added: 0084677
2019-05-27 19:00 Vico Liang Note Added: 0084678
2019-05-27 19:21 Vico Liang Note Added: 0084679
2019-06-11 05:18 Vico Liang Note Added: 0084979
2019-06-18 16:26 kgv Note Added: 0085124
2019-06-18 16:26 kgv Assigned To kgv => Vico Liang
2019-06-18 16:26 kgv Status new => feedback
2019-06-18 16:27 kgv Relationship added related to 0030374
2019-06-18 16:28 kgv Note Edited: 0085124
2019-06-22 19:01 Vico Liang Note Added: 0085232
2019-06-22 19:02 Vico Liang Relationship added related to 0030571
2019-06-22 19:51 git Note Added: 0085233
2019-06-22 19:51 kgv Note Added: 0085234
2019-06-22 19:51 kgv Note Edited: 0085234
2019-06-24 05:07 Vico Liang Note Added: 0085235
2019-06-24 08:07 kgv Relationship replaced child of 0030571
2019-06-24 09:54 kgv Note Added: 0085242
2019-06-24 09:54 kgv Assigned To Vico Liang => bugmaster
2019-06-24 09:54 kgv Severity block => minor
2019-06-24 09:54 kgv Status feedback => reviewed
2019-06-24 09:54 kgv Product Version => 7.4.0
2019-06-24 12:10 apn Test case number => Not needed
2019-06-24 12:10 apn Note Added: 0085250
2019-06-24 12:10 apn Status reviewed => tested
2019-07-01 17:28 kgv Changeset attached => occt master 0c33a0bf
2019-07-01 17:28 kgv Assigned To bugmaster => kgv
2019-07-01 17:28 kgv Status tested => verified
2019-07-01 17:28 kgv Resolution open => fixed
2019-07-08 12:58 git Note Added: 0085481