DiscussionsIssue archiveOCCT:Visualization

Archived issue #0025147

Visualization, TKOpenGl - support EGL as alternative to GLX

Open CASCADEOCCT:Visualizationclosed31 public notes

Search issues

Description

EGL is a universal interface between OpenGL and native platform window systems.
On some systems it can be used as an alternative to traditional interfaces (WGL on Windows, GLX on systems with Xlib), but some support EGL as main API (Wayland, Android, BlackBerry 10).

Public activity

31 archived notes

Participants are labeled by their role within this record.

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

[revision removed]


This branch includes the following new commits:

       new 23b7001 0025147: Visualization, TKOpenGl - support EGL as alternative to GLX


Detailed log of new commits:

[revision removed]
Author: Author
Date: Thu Aug 14 19:35:16 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX
02Commenter 2
Branch [archived branch] has been updated forcibly by Author.

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

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Aug 26 21:33:22 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX
04Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Aug 27 00:13:14 2014 +0400

    TKOpenGl - disable usage of Display Lists on OpenGL ES

Author: Author
Date: Wed Aug 27 00:09:14 2014 +0400

    OpenGl_PrimitiveArray - disable glPointSize() calls on OpenGL ES 2.0+

Author: Author
Date: Wed Aug 27 00:08:34 2014 +0400

    OpenGl_VertexBuffer - disable binding method for fixed pipeline on OpenGL ES 2.0+

Author: Author
Date: Wed Aug 27 00:06:32 2014 +0400

    TKOpenGl - temporarily disable GLU calls

Author: Author
Date: Wed Aug 27 00:03:53 2014 +0400

    OpenGl_Core - filter OpenGL ES 2.0 functions

05Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Aug 27 03:20:46 2014 +0400

    OpenGl_GraphicDriver - request OpenGL ES 1.1 context using EGL

Author: Author
Date: Wed Aug 27 03:20:09 2014 +0400

    TKOpenGl - adopt compilation within OpenGL ES 1.1

Author: Author
Date: Wed Aug 27 03:15:58 2014 +0400

    OpenGl 2D layers - disable usage of Display Lists in OpenGL ES context

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

[revision removed]


Detailed log of new commits:

Author: Author
Date: Thu Sep 4 16:37:03 2014 +0400

    Visualization, TKOpenGl - disable functions unavailable on OpenGL ES 2.0

Author: Author
Date: Thu Sep 4 14:07:27 2014 +0400

    0025215: Porting to Android - fix minor issues
    
    STEPConstruct_AP203Context = pw_gecos member of passwd struct disabled in android case.
    Standard_Atomic - correct usage of __atomic_inc()/__atomic_dec().
    Standard_CLocaleSentry - Android doesn't support locales in the C library.
    Standard_MMgrOpt - use "/dev/zero" and "/dev/null" for allocation of memory blocks on Android.

Author: Author
Date: Thu Sep 4 16:37:27 2014 +0400

    Visualization, TKOpenGl - setup EGL context

Author: Author
Date: Thu Sep 4 15:50:28 2014 +0400

    0025216: WNT_Window - remove unused fields and types (WNT_WindowData)
    
    Clean up InterfaceGraphic.hxx
07Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
08Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Fri Sep 5 08:47:32 2014 +0400

    OSD_Chronometer - fix compilation on Android

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

[revision removed]


Detailed log of new commits:

Author: Author
Date: Thu Sep 4 16:37:27 2014 +0400

    Visualization, TKOpenGl - setup EGL context

Author: Author
Date: Thu Sep 4 15:50:28 2014 +0400

    0025216: WNT_Window - remove unused fields and types (WNT_WindowData)
    
    Clean up InterfaceGraphic.hxx

Author: ibs
Date: Thu Aug 28 12:14:30 2014 +0400

    gl2ps using and install directives disabled for android

Author: Author
Date: Wed Aug 27 12:31:51 2014 +0400

    0025148: Visualization - drop TKNIS toolkit

Author: Author
Date: Fri Sep 5 12:36:17 2014 +0400

    0025219: Visualization, TKOpenGl - disable code paths unavailable on OpenGL ES 2.0

Author: Author
Date: Fri Sep 5 09:15:37 2014 +0400

    0025213: Visualization, TKOpenGl - do not use deprecated built-ins in GLSL shaders
    
    Inherit NCollection_Buffer from Standard_Transient, do not use incomplete NCollection_Handle.
    
    OpenGl_Context, add methods ActiveProgram(),BindProgram()
    to manage currently active GLSL program.
    Add method ::ToUseVbo().
    
    OpenGl_ShaderProgram, setup locations of pre-defined vertex attributes
    occVertex, occNormal, occTexCoord, occColor before linkage.
    Remove methods OpenGl_ShaderProgram::Bind(), ::BindWithVariables()
    and ::Unbind() - OpenGl_Context::BindProgram() should be used instead.
    
    Introduce class OpenGl_VertexBufferCompat, which emulates VBO
    behavior on systems without VBO (compatibility with broken OpenGL drivers on Windows).
    
    OpenGl_PrimitiveArray - use OpenGl_VertexBufferCompat when VBO is unavailable,
    remove duplicated code. Use OpenGl_VertexBuffer::HasNormalAttribute()
    method to activate lighting.
    
    OpenGl_Text - use OpenGl_VertexBufferCompat, eliminate duplicated code.
    
    Changes in OpenGl_VertexBuffer, drop methods BindFixed()/UnbindFixed().
    Superseded by new methods BindAllAttributes()/UnbindAllAttributes()
    which handle active GLSL program, when it is set.

Author: Author
Date: Fri Sep 5 08:50:24 2014 +0400

    0025215: Porting to Android - fix minor issues
    
    STEPConstruct_AP203Context = pw_gecos member of passwd struct disabled in android case.
    Standard_Atomic - correct usage of __atomic_inc()/__atomic_dec().
    Standard_CLocaleSentry - Android doesn't support locales in the C library.
    Standard_MMgrOpt - use "/dev/zero" and "/dev/null" for allocation of memory blocks on Android.
    OSD_Chronometer - fix compilation on Android.
10Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Fri Sep 5 14:21:07 2014 +0400

    OSD_Disk, OSD_signal - fix compilation issues on Android

11Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
12Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
13Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
14Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Fri Sep 12 12:40:19 2014 +0400

    swap buffers turned off

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

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Sep 17 15:46:21 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX
    
    Aspect_Window - add interface methods NativeHandle() and NativeParentHandle().
    OpenGl_Window - pass OpenGl_GraphicDriver instance to the constructor.
    OpenGl_Caps - add option to disable buffers swap at the end of frame redraw.
16Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Sep 17 15:46:21 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX
    
    Aspect_Window - add interface methods NativeHandle() and NativeParentHandle().
    OpenGl_Window - pass OpenGl_GraphicDriver instance to the constructor.
    OpenGl_Caps - add option to disable buffers swap at the end of frame redraw.
17Author
Dear Commenter 1,

please test patch in branch CR25147_6.
18Commenter 2
Branch [archived branch] has been deleted by Author.

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

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

Number of compiler warnings:

occt component :
Linux: 15 (15 on master)
Windows: 1 (0 on master)

There is new additional compilation warning on Windows platform:
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/job/mnt-CR25147_6-master_build_occt_windows/5/warnings30Result/
OpenGl_GraphicDriver.cxx:54, MSBuild, Priority: Normal
'theToStealActiveContext' : unreferenced formal parameter

products component :
Linux: 11 (11 on master)
Windows: 3 (3 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 397792364 / 397680656
Total CPU difference: 48318.670000000006 / 46596.30000000006
products component :
Total MEMORY difference: 124706268 / 124607824
Total CPU difference: 15974.219999999987 / 14765.679999999953

Testing on Windows:
occt component :
Total MEMORY difference: 254484208 / 279236240
Total CPU difference: 32776.671875 / 39387.8125
products component :
Total MEMORY difference: 66797116 / 66961000
Total CPU difference: 11111.59375 / 11236.0625

There are no differences in images found by testdiff.
21Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Sep 30 18:51:16 2014 +0400

    fix unused argument warning

Author: Author
Date: Mon Sep 29 18:06:51 2014 +0400

    trash

22Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
23Author
Warning has been fixed.
24Commenter 24
Dear Commenter 1,
Branch CR25147_6 from occt git-repository (and master from products git-repository) was compiled on Linux and Windows platforms and tested on Release mode.
[revision removed]

Number of compiler warnings:

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

products component :
Linux: 11 (11 on master)
Windows: 3 (3 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 398008632 / 397669948
Total CPU difference: 48305.18000000008 / 46596.14000000006
products component :
Total MEMORY difference: 124706732 / 124645448
Total CPU difference: 15551.68999999998 / 14771.669999999953

Testing on Windows:
occt component :
Total MEMORY difference: 250292288 / 251148280
Total CPU difference: 35558.453125 / 38607.0625
products component :
Total MEMORY difference: 70534312 / 66631884
Total CPU difference: 10207.296875 / 11155.78125

There are no differences in images found by testdiff.
25Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Thu Oct 2 13:46:27 2014 +0400

    0025282: Visualization, OpenGl_PrimitiveArray - provide built-in GLSL programs as alternative to FFP
    
    Enumerations Visual3d_TypeOfModel, V3d_TypeOfShadingModel.
    - Remove unused values V3d_MULTICOLOR, V3d_HIDDEN, Visual3d_TOM_INTERP_COLOR.
    - Add per-pixel shading mode - V3d_PHONG, Visual3d_TOM_FRAGMENT.
    
    Draw Harness command vrenderparams.
    Add option -shadingModel to setup Shading Model.
    
    OpenGl_Caps::ffpEnable - new option to switch FFP/built-in GLSL programs.
    OpenGl_ShaderManager - add built-in GLSL programs.
    
    Draw Harness command vcaps.
    - Fix command syntax to meet coding rules.
    - Add option -ffp to activate/disable built-in GLSL programs.
    
    GLSL API changes.
    - Rename vertex attribute occColor -> occVertColor.
    - Introduce vec4 occColor uniform variable for light-less shaders.
    - Introduce float occPointSize uniform variable for marker programs.
    
    OpenGl_VertexBuffer::bindAttribute() - activate normalization for non-GL_FLOAT types,
    since color attribute is defined as 32-bit vector of 4 unsigned byte values.
    
    OpenGl_Context - add methods SetColor4fv() and SetPointSize()
    for parameters redirection to active GLSL program
    (as alternative to glColor4fv() and glPointSize()).
    
    OpenGl_ShaderProgram - define default precision for float types
    in Fragment Shader within OpenGL ES 2.0+ context.
    
    OpenGl_AspectMarker, initialize Aspect_TOM_O_POINT display list
    in the same way as sprite texture.
    
    OpenGl_Texture, do not use sized internal formats on OpenGL ES.

Author: Author
Date: Thu Oct 2 13:43:33 2014 +0400

    0025147: Visualization, TKOpenGl - support EGL as alternative to GLX
    
    Aspect_Window - add interface methods NativeHandle() and NativeParentHandle().
    OpenGl_Window - pass OpenGl_GraphicDriver instance to the constructor.
    OpenGl_Caps - add option to disable buffers swap at the end of frame redraw.
26Author
Please use branch CR25147_25282 for IR, rebased on #0025147 (resolving trivial merge conflict).
27Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
28Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
29Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
30Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
31Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records