DiscussionsIssue archiveOCCT:Visualization

Archived issue #0027633

Visualization, TKOpenGl - point sprites are inconsistent within Core and Compatible Profiles

Open CASCADEOCCT:Visualizationclosed13 public notes

Search issues

Description

There are several issues within Point Sprites and Core Profile.
- Simple points can not be displayed due to incomplete GLSL program:
vmarkerstest m0_5 5 -7 0 MarkerType=0 Scale=1.0 PointsOnSide=1
TKOpenGl | Type: Error | ID: 0 | Severity: High | Message:
  Failed to compile shader object. Compilation log:
Fragment shader failed to compile with the following errors:
ERROR: 0:185: error(#0000143) Undeclared identifier: getAlpha
ERROR: 0:185: error(#0000202) No matching overloaded function found: getAlpha
ERROR: error(#273) 2 compilation errors.  No code generated

See OpenGl_ShaderManager::prepareStdProgramFlat().

- Textured markers are drawn upside-down.
  The issue is because current rendering code relies on call
glPointParameteri (GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT);
  which is available on desktop OpenGL (but disabled in OCCT) and unavailable on OpenGL ES.
  See OpenGl_Workspace::setTextureParams.

- Aspect_TOM_BALL is dispayed with transparency.

Steps to reproduce

vcaps -core
test bugs vis bug23654_MarkersRecompute 1

Public activity

13 archived notes

Participants are labeled by their role within this record.

01Author
The first and 3rd issues are regressions after #0026809.

02Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Thu Jun 23 21:24:22 2016 +0300

    0027633: Visualization, TKOpenGl - some point sprites look different within Core Profile
03Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
04Author
Patch is ready for review in branch CR27633.
05Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
06Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Fri Jun 24 11:36:57 2016 +0300

    0027633: Visualization, TKOpenGl - point sprites are inconsistent within Core and Compatible Profiles
    
    OpenGl_ShaderManager::pointSpriteAlphaSrc() now does not return alpha from Red channel
    for RGBA marker texture in Core profile.
    OpenGl_ShaderManager::prepareStdProgramFlat() - restored code for drawing points without texture.
    
    Built-in GLSL programs now flip .y in shaders instead of
    relying on GL_POINT_SPRITE_COORD_ORIGIN unavailable on OpenGL ES.
    
    Added sample markers.tcl (moved from test cases).
    Sample now includes marker_kr.png for testing marker orientation.
07Commenter 7
Branch CR27633 reviewed without remarks, ready for testing.
08Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
09Commenter 9
Dear Commenter 1,
Branch CR27633 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 64 (64 on master)
Windows: 0 (0 on master)
MacOS : 1144

Regressions/Differences/Improvements:
http://occt-tests/CR27633-master-OCCT/Windows-64-VC10/bugs/mesh/bug25378_3_3.html
bugs mesh bug25378_3_3: FAILED

Testing cases:
http://occt-tests/CR27633-master-OCCT/Debian70-64/bugs/vis/bug23654_MarkersRecompute.html
http://occt-tests/CR27633-master-OCCT/Windows-64-VC10/bugs/vis/bug23654_MarkersRecompute.html
bugs vis bug23654_MarkersRecompute: OK
http://occt-tests/CR27633-master-OCCT/Debian70-64/bugs/vis/bug24131_markers_bitmap.html
http://occt-tests/CR27633-master-OCCT/Windows-64-VC10/bugs/vis/bug24131_markers_bitmap.html
bugs vis bug24131_markers_bitmap: OK
http://occt-tests/CR27633-master-OCCT/Debian70-64/bugs/vis/bug24131_markers_core.html
http://occt-tests/CR27633-master-OCCT/Windows-64-VC10/bugs/vis/bug24131_markers_core.html
bugs vis bug24131_markers_core: OK
http://occt-tests/CR27633-master-OCCT/Debian70-64/bugs/vis/bug24131_markers_glsl.html
http://occt-tests/CR27633-master-OCCT/Windows-64-VC10/bugs/vis/bug24131_markers_glsl.html
bugs vis bug24131_markers_glsl: OK
http://occt-tests/CR27633-master-OCCT/Debian70-64/bugs/vis/bug24131_markers_sprites.html
http://occt-tests/CR27633-master-OCCT/Windows-64-VC10/bugs/vis/bug24131_markers_sprites.html
bugs vis bug24131_markers_sprites: OK

Testing on Linux:
occt component :
Total MEMORY difference: 90217088 / 89887581 [+0.37%]
Total CPU difference: 19375.39999999998 / 19413.749999999993 [-0.20%]
products component :
Total MEMORY difference: 30031674 / 30103773 [-0.24%]
Total CPU difference: 5083.76999999997 / 5081.419999999974 [+0.05%]

Testing on Windows:
occt component :
Total MEMORY difference: 57374868 / 57386142 [-0.02%]
Total CPU difference: 18623.742582198687 / 17910.08480749893 [+3.98%]
products component :
Total MEMORY difference: 21235730 / 21200614 [+0.17%]
Total CPU difference: 4906.699452999946 / 4916.777117599947 [-0.20%]

There are following differences in images found by testdiff.
http://occt-tests/CR27633-master-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR27633-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10.html
New behaviour:
IMAGE bugs vis bug23654_MarkersRecompute: bug23654_MarkersRecompute_1.png differs
IMAGE bugs vis bug23654_MarkersRecompute: bug23654_MarkersRecompute_2.png differs
10Commenter 10
Dear kgv,
Branch [archived branch] has been rejected due to:
- regressions/differences/improvements
11Author
I don't see how patch might affect performance in test case bugs/mesh/bug25378_3_3. Could you please re-check this regression?
12Commenter 12
Dear Commenter 1,
Branch CR27633 is TESTED.
13Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records