View Issue Details

IDProjectCategoryView StatusLast Update
0001626FreeCADFeaturepublic2018-10-05 23:49
Reporterobbe Assigned To 
PrioritylowSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version0.14 
Summary0001626: Transparency not respected when highlighting
DescriptionWhen a surface is highlighted the transparency of the material is not respected, causing sudden hiding of object behind the surface.

I find this bad user experience since your view can change quite drastic as things gets obscured.
Steps To Reproduce1. Create random solid and set transparency to 80 % or so.
2. Place random solid behind the first solid.
3. Hover mouse over the first solid and what the second solid jump in and out of visibility.

Naturally this applies to all geometries.
Tags#lowhangingfruit, transparency
FreeCAD Information

Relationships

related to 0000848 closedabdullah PartDesign [PartDesign] Keep Transparency and Colors when adding a feature 
related to 0001029 closedyorik FreeCAD Transparency lost in compound 
related to 0002806 closedyorik FreeCAD Loading a boolean objects Transparency get lost 
related to 0003028 assignedabdullah PartDesign [PartDesign] Per face colors and keeping colors when adding a feature 

Activities

obbe

2014-07-22 13:31

reporter   ~0004824

I should perhaps mention that this also applies to selecting a geometry in the tree.

wmayer

2015-01-15 21:40

administrator   ~0005658

glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glColor4f(1.0f, 1.0f, 1.0f, 0.5f);

    renderShape(...);

    glDisable(GL_BLEND);

Kunda1

2017-01-17 20:55

administrator   ~0007856

Forum thread: http://forum.freecadweb.org/viewtopic.php?f=10&t=19993

Kunda1

2018-02-07 16:03

administrator   ~0010928

The code snippet is just a reminder for myself what to test.
But fact is that OpenInventor works totally different in case transparency has been applied to a face set compared to normal rendering. Usually when no transparency is set it calls its GLRender method where it first checks with shouldGLRender if an update is required and if yes it does the actual rendering. However, if transparency is set it does all the rendering inside shouldGLRender and this returns with false so that GLRender actually does nothing.

So, the point is to grasp the rendering logic and implement it in our custom Inventor node classes.

wmayer
From https://forum.freecadweb.org/viewtopic.php?p=213895#p213895

Issue History

Date Modified Username Field Change
2014-07-22 13:29 obbe New Issue
2014-07-22 13:31 obbe Note Added: 0004824
2015-01-15 21:40 wmayer Note Added: 0005658
2015-01-24 15:08 wmayer Target Version => 0.16
2016-01-19 01:55 yorik Target Version 0.16 =>
2017-01-17 20:55 Kunda1 Note Added: 0007856
2017-02-02 17:42 Kunda1 Tag Attached: #lowhangingfruit
2017-02-10 04:59 Kunda1 Tag Attached: transparency
2017-02-10 05:07 Kunda1 Relationship added related to 0000848
2017-02-10 05:07 Kunda1 Relationship added related to 0001029
2017-02-10 05:09 Kunda1 Relationship added related to 0002806
2018-02-07 16:03 Kunda1 Note Added: 0010928
2018-05-30 23:47 Kunda1 Relationship added related to 0003028
2018-10-05 23:49 Kunda1 Severity trivial => minor