DiscussionsIssue archiveOCCT:Visualization

Archived issue #0027286

Visualization, TKOpenGl - avoid using light index within built-in GLSL programs for simplest configuration

Open CASCADEOCCT:Visualizationclosed10 public notes

Search issues

Description

Some broken OpenGL ES drivers fail on compiling the simplest GLSL lighting program. The proposed patch workarounds this problem.

Steps to reproduce

N/A

Public activity

10 archived notes

Participants are labeled by their role within this record.

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

[revision removed]


Detailed log of new commits:

Author: Author
Date: Fri Mar 18 11:56:02 2016 +0300

    0027286: Visualization, TKOpenGl - avoid using light index within built-in GLSL programs for simplest configuration
    
    OpenGl_ShaderManager::stdComputeLighting() - handle single directional light specifically
    for compatibility with broken OpenGL ES drivers.
02Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Mar 23 12:41:05 2016 +0300

    Added test cases for using built-in GLSL shading programs.

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

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Mar 23 12:42:17 2016 +0300

    0027286: Visualization, TKOpenGl - avoid using light index within built-in GLSL programs for simplest configuration
    
    OpenGl_ShaderManager::stdComputeLighting() - handle single directional light specifically
    for compatibility with broken OpenGL ES drivers.
    
    Added test cases using built-in GLSL shading programs.
04Author
Patch is ready for review in branch CR27286_1.
05Commenter 5
Branch CR27286_1 reviewed without remarks, ready for testing.
06Commenter 6
Dear Commenter 1,
Branch CR27286_1 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: 68 (68 on master)
Windows: 0 (0 on master)
MacOS :1113

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
http://occt-tests/CR27286-1-master-OCCT/Debian70-64/v3d/glsl/gouraud_dir1.html
http://occt-tests/CR27286-1-master-OCCT/Windows-64-VC10/v3d/glsl/gouraud_dir1.html
v3d glsl gouraud_dir1: OK
http://occt-tests/CR27286-1-master-OCCT/Debian70-64/v3d/glsl/gouraud_dir2.html
http://occt-tests/CR27286-1-master-OCCT/Windows-64-VC10/v3d/glsl/gouraud_dir2.html
v3d glsl gouraud_dir2: OK
http://occt-tests/CR27286-1-master-OCCT/Debian70-64/v3d/glsl/phong_dir1.html
http://occt-tests/CR27286-1-master-OCCT/Windows-64-VC10/v3d/glsl/phong_dir1.html
v3d glsl phong_dir1: OK
http://occt-tests/CR27286-1-master-OCCT/Debian70-64/v3d/glsl/phong_dir2.html
http://occt-tests/CR27286-1-master-OCCT/Windows-64-VC10/v3d/glsl/phong_dir2.html
v3d glsl phong_dir2: OK

Testing on Linux:
occt component :
Total MEMORY difference: 89014944 / 90317345 [-1.44%]
Total CPU difference: 19228.990000000053 / 19527.21000000009 [-1.53%]
products component :
Total MEMORY difference: 25506086 / 25421542 [+0.33%]
Total CPU difference: 5263.73999999999 / 5392.869999999985 [-2.39%]

Testing on Windows:
occt component :
Total MEMORY difference: 57466716 / 57488011 [-0.04%]
Total CPU difference: 18014.823878898846 / 17687.970583698847 [+1.85%]
products component :
Total MEMORY difference: 17839798 / 17805226 [+0.19%]
Total CPU difference: 5125.272454099953 / 5113.307177399962 [+0.23%]

There are no differences in images found by testdiff.
07Commenter 7
Dear Commenter 1,
Branch CR27286_1 is TESTED.
08Commenter 8
Please assign the issue back to Open CASCADE project, it was reassigned by mistake.
09Commenter 2
Branch [archived branch] has been deleted by Author.

[revision removed]
10Commenter 2
Branch [archived branch] has been deleted by Author.

[revision removed]