MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030748Community[OCCT] OCCT:Visualizationpublic2019-05-27 18:352019-07-08 12:58
ReporterVico Liang 
Assigned Tokgv 
PrioritynormalSeverityminor 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.4.0* 
Target Version[OCCT] 7.4.0*Fixed in Version 
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 Filesjpg file icon ill-status.jpg (352,962 bytes) 2019-05-27 18:35
jpg file icon normal-status.jpg (393,434 bytes) 2019-05-27 18:36

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

-  Notes
(0084676)
kgv (developer)
2019-05-27 18:43

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.
(0084677)
Vico Liang (developer)
2019-05-27 18:55

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.
(0084678)
Vico Liang (developer)
2019-05-27 19:00

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.
(0084679)
Vico Liang (developer)
2019-05-27 19:21

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);
(0084979)
Vico Liang (developer)
2019-06-11 05:18

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.
(0085124)
kgv (developer)
2019-06-18 16:26
edited on: 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.

(0085232)
Vico Liang (developer)
2019-06-22 19:01

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.
(0085233)
git (administrator)
2019-06-22 19:51

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.
(0085234)
kgv (developer)
2019-06-22 19:51
edited on: 2019-06-22 19:51

Does patch in branch CR30748 make any difference?

(0085235)
Vico Liang (developer)
2019-06-24 05:07

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.
(0085242)
kgv (developer)
2019-06-24 09:54

Please take the patch.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30748-master-KGV [^]
(0085250)
apn (administrator)
2019-06-24 12:10

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
(0085481)
git (administrator)
2019-07-08 12:58

Branch CR30748 has been deleted by inv.

SHA-1: 0c33a0bf4d320a4afef435687477636a570100b3

- Related Changesets
occt: master 0c33a0bf
Timestamp: 2019-06-22 16:50:10
Author: 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.
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 View Revisions
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 View Revisions
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


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker