View Issue Details

IDProjectCategoryView StatusLast Update
0025213Open CASCADEOCCT:Visualizationpublic2014-11-11 12:58
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version6.8.0Fixed in Version6.8.0 
Summary0025213: Visualization, TKOpenGl - do not use deprecated built-ins in GLSL shaders
DescriptionFollowing built-ins should be replaced by custom attributes:
#ifdef VERTEX_SHADER
  #define occColor    gl_Color          //!< Vertex color
  #define occNormal   gl_Normal         //!< Normal  coordinates
  #define occVertex   gl_Vertex         //!< Vertex  coordinates
  #define occTexCoord gl_MultiTexCoord0 //!< Texture coordinates
#endif

TagsNo tags attached.
Test case numberNot needed

Relationships

child of 0025146 closedbugmaster Open CASCADE Porting to Android 
child of 0024838 closedbugmaster Open CASCADE Visualization, TKOpenGl - make general rendering path compatible with OpenGL 3.1+ core profiles 

Activities

git

2014-09-03 19:48

administrator   ~0031329

Branch CR25213 has been created by kgv.

SHA-1: 25f7238ef8406d263af114fafe562810e02819d5


Detailed log of new commits:

Author: kgv
Date: Wed Sep 3 19:48:45 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.
    
    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.
    
    Changes in OpenGl_VertexBuffer, drop methods BindFixed()/UnbindFixed().
    Superseded by new methods BindAllAttributes()/UnbindAllAttributes()
    which handle active GLSL program, when it is set.

git

2014-09-04 09:52

administrator   ~0031334

Branch CR25213 has been updated by kgv.

SHA-1: a7f32fcb35a95252e5c3c7c1cadee32ef68e1d45


Detailed log of new commits:

Author: kgv
Date: Thu Sep 4 09:52:37 2014 +0400

    OpenGl_Text - use OpenGl_VertexBufferCompat, eliminate duplicated code

kgv

2014-09-04 09:53

developer   ~0031335

Patch is ready for review in branch CR25213.

git

2014-09-04 13:00

administrator   ~0031350

Branch CR25213 has been updated by kgv.

SHA-1: 785852de50fe1ca763097db2af085dce414d8466


Detailed log of new commits:

Author: kgv
Date: Thu Sep 4 13:00:40 2014 +0400

    OpenGl_Context - add method ::ToUseVbo()

git

2014-09-04 13:02

administrator   ~0031351

Branch CR25213 has been updated by kgv.

SHA-1: 14614b5cf3b2e50e7ed8cb67c61844d0a013c049


Detailed log of new commits:

Author: kgv
Date: Thu Sep 4 13:02:07 2014 +0400

    OpenGl_VertexBufferCompat - cosmetics

git

2014-09-04 14:18

administrator   ~0031362

Branch CR25213_1 has been created by kgv.

SHA-1: d5603924c3930cf6b1cf74e3c56087b8b1c5abf5


Detailed log of new commits:

Author: kgv
Date: Thu Sep 4 14:18:32 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.

san

2014-09-04 15:58

developer   ~0031381

Branch CR25213 reviewed without remarks, ready for testing.

git

2014-09-04 20:13

administrator   ~0031390

Branch CR25213_1 has been updated by kgv.

SHA-1: abb85116d72c69f3a69603da0c90120f76d9ae3d


Detailed log of new commits:

Author: kgv
Date: Thu Sep 4 20:13:13 2014 +0400

    Fix compilation issues on Android

kgv

2014-09-04 20:20

developer   ~0031391

Branch has been update to fix compilation issues on gcc.

git

2014-09-05 09:11

administrator   ~0031397

Branch CR25213_1 has been updated by kgv.

SHA-1: daa30eb47d6862d2b2571b979d17fec77696766b


Detailed log of new commits:

Author: kgv
Date: Fri Sep 5 09:11:45 2014 +0400

    Eliminate duplicated enumeration OpenGl_VertexAttribute - use Graphic3d_TypeOfAttribute directly

git

2014-09-05 09:15

administrator   ~0031398

Branch CR25213_2 has been created by kgv.

SHA-1: 497a3d5d8c1430a068183f2c8185394fa07903b3


Detailed log of new commits:

Author: kgv
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.

kgv

2014-09-05 09:18

developer   ~0031399

Please use corrected patch in branch CR25213_2 for testing.

git

2014-09-05 15:03

administrator   ~0031418

Branch CR25213_2 has been updated forcibly by mkv.

SHA-1: ef910178296c2a68a5e4f142ed8fd8806b2017cd

mkv

2014-09-08 12:39

tester   ~0031441

Dear kgv,
Branch CR25213_2 from occt git-repository (and master from products git-repository) was compiled on Linux and Windows platforms and tested.

There are compilation errors on Products part:
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/CR25213_2/job/mnt-CR25213_2-master_build_occt_products_linux/1/parsed_console/
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx: In function ‘Standard_Integer listsel(Draw_Interpretor&, Standard_Integer, const char**)’:
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:438: error: expected initializer before ‘<’ token
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:439: error: ‘Handle_ListNodesElems’ was not declared in this scope
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:439: error: template argument 2 is invalid
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:439: error: invalid type in declaration before ‘;’ token
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:449: error: expected ‘;’ before ‘aLists’
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:450: error: request for member ‘Add’ in ‘aSelLists’, which is of non-class type ‘int’
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:450: error: ‘aLists’ was not declared in this scope
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:459: error: request for member ‘Extent’ in ‘aSelLists’, which is of non-class type ‘int’
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:461: error: request for member ‘FindKey’ in ‘aSelLists’, which is of non-class type ‘int’
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:466: error: expected initializer before ‘&’ token
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:467: error: ‘aLists’ was not declared in this scope
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:473: error: request for member ‘Extent’ in ‘aSelLists’, which is of non-class type ‘int’
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:476: error: ‘aLists’ was not declared in this scope
../../../../src/OMFTest/OMFTest_DisplayCommands.cxx:482: error: request for member ‘Extent’ in ‘aSelLists’, which is of non-class type ‘int’
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/CR25213_2/job/mnt-CR25213_2-master_build_occt_products_windows/1/parsed_console/
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(438): error C2143: syntax error : missing ';' before '<'
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(438): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(439): error C2065: 'Handle_ListNodesElems' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(439): error C2133: 'aSelLists' : unknown size
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(439): error C2512: 'NCollection_IndexedDataMap' : no appropriate default constructor available
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(449): error C2065: 'Handle_ListNodesElems' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(449): error C2146: syntax error : missing ';' before identifier 'aLists'
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(449): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(450): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(452): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(452): error C2227: left of '->nodes' must point to class/struct/union/generic type
18> type is ''unknown-type''
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(452): error C2228: left of '.Append' must have class/struct/union
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(454): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(454): error C2227: left of '->elems' must point to class/struct/union/generic type
18> type is ''unknown-type''
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(454): error C2228: left of '.Append' must have class/struct/union
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(461): error C2662: 'NCollection_IndexedDataMap<TheKeyType,TheItemType,Hasher>::FindKey' : cannot convert 'this' pointer from 'NCollection_IndexedDataMap' to 'const NCollection_IndexedDataMap<TheKeyType,TheItemType,Hasher> &'
18> Reason: cannot convert from 'NCollection_IndexedDataMap' to 'const NCollection_IndexedDataMap<TheKeyType,TheItemType,Hasher>'
18> Conversion requires a second user-defined-conversion operator or constructor
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(466): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(466): error C2143: syntax error : missing ';' before '&'
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(466): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(466): error C3849: function-style call on an expression of type 'NCollection_IndexedDataMap' would lose const and/or volatile qualifiers for all 2 available operator overloads
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(467): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(467): error C2227: left of '->nodes' must point to class/struct/union/generic type
18> type is ''unknown-type''
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(467): error C2228: left of '.IsEmpty' must have class/struct/union
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(470): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(470): error C2227: left of '->nodes' must point to class/struct/union/generic type
18> type is ''unknown-type''
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(473): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(473): error C2227: left of '->elems' must point to class/struct/union/generic type
18> type is ''unknown-type''
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(473): error C2228: left of '.IsEmpty' must have class/struct/union
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(476): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(476): error C2227: left of '->elems' must point to class/struct/union/generic type
18> type is ''unknown-type''
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(476): error C2228: left of '.IsEmpty' must have class/struct/union
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(479): error C2065: 'aLists' : undeclared identifier
18>..\..\..\src\OMFTest\OMFTest_DisplayCommands.cxx(479): error C2227: left of '->elems' must point to class/struct/union/generic type
18> type is ''unknown-type''
37>LINK : fatal error LNK1181: cannot open input file 'TKOMFTest.lib'

kgv

2014-09-08 12:59

developer   ~0031442

Dear bugmaster,

please use branch CR25213_2 for Products which fixes compilation issue due to missing header inclusion.

mkv

2014-09-09 11:37

tester   ~0031505

Dear BugMaster,
Branch CR25213_2 from occt git-repository and CR25213_2 from products git-repository was compiled on Linux and Windows platforms and tested.
SHA-1: ef910178296c2a68a5e4f142ed8fd8806b2017cd
SHA-1: 12fc7cdad6e5f454864f6ec77eee2e0d4f8dbed5

Number of compiler warnings:

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

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

Regressions/Differences:
http://occt-tests/CR25213-2-master-occt/Windows-32-VC10/summary.html

http://occt-tests/CR25213-2-master-products/Windows-32-VC10/sat/read_parallel_1/E4.html
sat read_parallel_1(011) E4

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 354476152 / 355062900
Total CPU difference: 47568.15000000013 / 45685.42000000011
products component :
Total MEMORY difference: 109682316 / 109576272
Total CPU difference: 18410.48999999996 / 18117.239999999958

Testing on Windows:
occt component :
Total MEMORY difference: 239162212 / 239597336
Total CPU difference: 35491.0 / 36004.359375
products component :
Total MEMORY difference: 66479496 / 66379124
Total CPU difference: 11458.59375 / 12339.59375

There are following differences in images found by testdiff:
http://occt-tests/CR25213-2-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR25213-2-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
v3d raytrace

git

2014-09-09 17:52

administrator   ~0031526

Branch CR25213_2 has been updated by kgv.

SHA-1: 4b9a94442d2cac9ed70defb796b2b5d3e2c44cbc


Detailed log of new commits:

Author: kgv
Date: Tue Sep 9 17:01:15 2014 +0400

    Fix argument of method OpenGl_VertexBufferCompat::Release() according to changes in 0025133

git

2014-09-09 19:48

administrator   ~0031530

Branch CR25213_2 has been updated by kgv.

SHA-1: d6cfd3569f6f97208593d19454a7cb35eb1d814d


Detailed log of new commits:

Author: kgv
Date: Tue Sep 9 19:48:51 2014 +0400

    OpenGl_PrimitiveArray - do not nullify data arrays with disabled VBO for compatibility with ray-tracing

kgv

2014-09-09 19:49

developer   ~0031531

Two issues have been fixed - please re-test branch CR25213_2.

mkv

2014-09-10 15:08

tester   ~0031572

Last edited: 2014-09-10 15:12

Dear BugMaster,
Branch CR25213_2 from occt git-repository and CR25213_2 from products git-repository was compiled on Linux and Windows platforms and tested on Release mode.
SHA-1: d6cfd3569f6f97208593d19454a7cb35eb1d814d
SHA-1: 12fc7cdad6e5f454864f6ec77eee2e0d4f8dbed5

Number of compiler warnings:

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

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

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 354315148 / 355188820
Total CPU difference: 46835.33000000002 / 45791.1700000001
products component :
Total MEMORY difference: 109726420 / 109576272
Total CPU difference: 19285.32999999996 / 18117.239999999958
Testing on Windows:
occt component :
Total MEMORY difference: 242093848 / 241837776
Total CPU difference: 34667.625 / 36476.171875
products component :
Total MEMORY difference: 66370656 / 66458348
Total CPU difference: 10434.8125 / 12369.875

There are following differences in images found by testdiff:
http://occt-tests/CR25213-2-CR25213-2-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR25213-2-CR25213-2-occt/Windows-32-VC10/diff-Windows-32-VC10.html
IMAGE bugs vis bug24131_markers: bug24131_markers_bitmaps.png differs

mkv

2014-09-10 15:18

tester   ~0031573

Dear BugMaster,
Branch CR25213_2 from occt git-repository and CR25213_2 from products git-repository was compiled on Linux and Windows platforms and tested on Debug mode.
SHA-1: d6cfd3569f6f97208593d19454a7cb35eb1d814d
SHA-1: 12fc7cdad6e5f454864f6ec77eee2e0d4f8dbed5

Regressions/Differences:
http://occt-tests/CR25213-2-CR25213-2-occt-deb/Debian60-64/bugs/modalg_5/bug24157_2.html
bugs modalg_5(010) bug24157_2

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 424466072 / 424425780
Total CPU difference: 154798.82000000027 / 156098.93999999927
products component :
Total MEMORY difference: 127989428 / 127711396
Total CPU difference: 37301.829999999965 / 38645.71999999994

Testing on Windows:
occt component :
Total MEMORY difference: 334668156 / 333506940
Total CPU difference: 113316.03125 / 103958.890625
products component :
Total MEMORY difference: 89130240 / 88982112
Total CPU difference: 24980.0625 / 27927.25

There are following differences in images found by testdiff:
http://occt-tests/CR25213-2-CR25213-2-occt-deb/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR25213-2-CR25213-2-occt-deb/Windows-32-VC10/diff-Windows-32-VC10.html
IMAGE bugs vis bug24131_markers: bug24131_markers_bitmaps.png differs

git

2014-09-10 16:14

administrator   ~0031580

Branch CR25213_2 has been updated by kgv.

SHA-1: 40c2ce06a4b98e5eb35f2cf7040a44afd8662f7f


Detailed log of new commits:

Author: kgv
Date: Wed Sep 10 16:14:53 2014 +0400

    OpenGl_PrimitiveArray - build VBO when points sprites are disabled

kgv

2014-09-10 16:19

developer   ~0031581

Dear bugmaster,

branch CR25213_2 has been updated to fix regression of rendering Aspect_TOM_O_POINT marker without sprites. Please re-test.

Time difference of test case bugs/modalg_5(010)/bug24157_2 in debug mode - is irrelevant to the patch (ViewerTest viewer is not created).

git

2014-09-10 18:47

administrator   ~0031598

Branch CR25213_2 has been updated forcibly by mkv.

SHA-1: 555a625b1464f78d08dc62aaca12beb4a0429fd7

git

2014-09-17 13:02

administrator   ~0031796

Branch CR25213_3 has been created by kgv.

SHA-1: 1b3ac94bd7affa039105db7d57e0c450e73231f4


Detailed log of new commits:

Author: kgv
Date: Wed Sep 17 13:02:32 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.

mkv

2014-09-17 14:15

tester   ~0031802

Dear BugMaster,
Branch CR25213_2 from occt git-repository (and CR25213_2 from products git-repository) was compiled on Linux and Windows platforms and tested on Release mode.
SHA-1: 555a625b1464f78d08dc62aaca12beb4a0429fd7
SHA-1: 12fc7cdad6e5f454864f6ec77eee2e0d4f8dbed5

Number of compiler warnings:

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

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

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 354291876 / 355172612
Total CPU difference: 46470.11000000008 / 45790.1300000001
products component :
Total MEMORY difference: 109667852 / 109538648
Total CPU difference: 19060.769999999957 / 18111.489999999958

Testing on Windows:
occt component :
Total MEMORY difference: 242031296 / 241830184
Total CPU difference: 33816.84375 / 36476.0625
products component :
Total MEMORY difference: 66435664 / 66486588
Total CPU difference: 14174.09375 / 12374.765625

There are no differences in images found by testdiff.

mkv

2014-09-17 14:15

tester   ~0031803

Dear BugMaster,
Branch CR25213_2 from occt git-repository (and CR25213_2 from products git-repository) was compiled on Linux and Windows platforms and tested on Debug mode.
SHA-1: 555a625b1464f78d08dc62aaca12beb4a0429fd7
SHA-1: 12fc7cdad6e5f454864f6ec77eee2e0d4f8dbed5

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 425541696 / 425809128
Total CPU difference: 156501.27999999886 / 156885.96999999927
products component :
Total MEMORY difference: 128032496 / 127757472
Total CPU difference: 39876.719999999994 / 38671.12999999995

Testing on Windows:
occt component :
Total MEMORY difference: 334986776 / 333602308
Total CPU difference: 113033.328125 / 104843.1875
products component :
Total MEMORY difference: 88578696 / 88911144
Total CPU difference: 22263.859375 / 27884.84375

There are no differences in images found by testdiff.

abv

2014-09-17 16:59

manager   ~0031819

Note that branch CR25213_3 contains the same changes as CR25213_2, just rebased on current master and squashed to single commit

mkv

2014-09-18 14:23

tester   ~0031860

Dear BugMaster,
Branch CR25213_3 from occt git-repository and CR25213_2from products git-repository was compiled on Linux and Windows platforms and tested on Release mode.
SHA-1: 1b3ac94bd7affa039105db7d57e0c450e73231f4
SHA-1: 12fc7cdad6e5f454864f6ec77eee2e0d4f8dbed5

Number of compiler warnings:

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

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

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 354982276 / 355200988
Total CPU difference: 45865.28999999998 / 45410.48000000016
products component :
Total MEMORY difference: 110006836 / 110030920
Total CPU difference: 18089.899999999972 / 17726.57999999998

Testing on Windows:
occt component :
Total MEMORY difference: 242979052 / 242172840
Total CPU difference: 39368.0 / 42815.5625
products component :
Total MEMORY difference: 66747132 / 66634836
Total CPU difference: 11645.03125 / 10516.90625

There are no differences in images found by testdiff.

git

2014-09-29 23:13

administrator   ~0032343

Branch CR25213_2 has been deleted by kgv.

SHA-1: 555a625b1464f78d08dc62aaca12beb4a0429fd7

git

2014-09-29 23:21

administrator   ~0032356

Branch CR25213 has been deleted by kgv.

SHA-1: 14614b5cf3b2e50e7ed8cb67c61844d0a013c049

git

2014-09-29 23:21

administrator   ~0032357

Branch CR25213_1 has been deleted by kgv.

SHA-1: daa30eb47d6862d2b2571b979d17fec77696766b

git

2014-09-29 23:24

administrator   ~0032362

Branch CR25213_3 has been deleted by kgv.

SHA-1: 1b3ac94bd7affa039105db7d57e0c450e73231f4

Related Changesets

occt: master 7d3e64ef

2014-09-17 09:02:32

kgv


Committer: bugmaster Details Diff
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.
Affected Issues
0025213
mod - src/Graphic3d/Graphic3d_ArrayOfPrimitives.cxx Diff File
mod - src/Graphic3d/Graphic3d_BoundBuffer.hxx Diff File
mod - src/Graphic3d/Graphic3d_Buffer.hxx Diff File
mod - src/Graphic3d/Graphic3d_IndexBuffer.hxx Diff File
mod - src/Image/Image_PixMap.cxx Diff File
mod - src/Image/Image_PixMapData.hxx Diff File
mod - src/NCollection/NCollection_AlignedAllocator.cxx Diff File
mod - src/NCollection/NCollection_Buffer.hxx Diff File
mod - src/OpenGl/FILES Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx Diff File
mod - src/OpenGl/OpenGl_PrimitiveArray.hxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderManager.hxx Diff File
mod - src/OpenGl/OpenGl_ShaderProgram.cxx Diff File
mod - src/OpenGl/OpenGl_ShaderProgram.hxx Diff File
mod - src/OpenGl/OpenGl_Text.cxx Diff File
mod - src/OpenGl/OpenGl_Text.hxx Diff File
mod - src/OpenGl/OpenGl_TextFormatter.cxx Diff File
mod - src/OpenGl/OpenGl_TextFormatter.hxx Diff File
mod - src/OpenGl/OpenGl_VertexBuffer.cxx Diff File
mod - src/OpenGl/OpenGl_VertexBuffer.hxx Diff File
add - src/OpenGl/OpenGl_VertexBuffer.lxx Diff File
add - src/OpenGl/OpenGl_VertexBufferCompat.cxx Diff File
add - src/OpenGl/OpenGl_VertexBufferCompat.hxx Diff File
mod - src/OpenGl/OpenGl_View_2.cxx Diff File
mod - src/OpenGl/OpenGl_Workspace_Raytrace.cxx Diff File
mod - src/Shaders/Declarations.glsl Diff File
mod - src/Shaders/RaytraceBase.vs Diff File

Issue History

Date Modified Username Field Change
2014-09-03 17:50 kgv New Issue
2014-09-03 17:50 kgv Assigned To => kgv
2014-09-03 17:50 kgv Relationship added child of 0025146
2014-09-03 19:48 git Note Added: 0031329
2014-09-03 21:46 kgv Relationship added child of 0024838
2014-09-04 09:52 git Note Added: 0031334
2014-09-04 09:53 kgv Note Added: 0031335
2014-09-04 09:53 kgv Assigned To kgv => san
2014-09-04 09:53 kgv Status new => resolved
2014-09-04 09:53 kgv Description Updated
2014-09-04 13:00 git Note Added: 0031350
2014-09-04 13:02 git Note Added: 0031351
2014-09-04 14:18 git Note Added: 0031362
2014-09-04 15:58 san Note Added: 0031381
2014-09-04 15:58 san Assigned To san => bugmaster
2014-09-04 15:58 san Status resolved => reviewed
2014-09-04 18:45 mkv Assigned To bugmaster => mkv
2014-09-04 20:13 git Note Added: 0031390
2014-09-04 20:20 kgv Note Added: 0031391
2014-09-05 09:11 git Note Added: 0031397
2014-09-05 09:15 git Note Added: 0031398
2014-09-05 09:18 kgv Note Added: 0031399
2014-09-05 15:03 git Note Added: 0031418
2014-09-08 12:39 mkv Note Added: 0031441
2014-09-08 12:39 mkv Test case number => Not needed
2014-09-08 12:39 mkv Assigned To mkv => kgv
2014-09-08 12:39 mkv Status reviewed => assigned
2014-09-08 12:59 kgv Note Added: 0031442
2014-09-08 12:59 kgv Assigned To kgv => bugmaster
2014-09-08 12:59 kgv Status assigned => resolved
2014-09-08 13:00 kgv Status resolved => reviewed
2014-09-08 17:34 mkv Assigned To bugmaster => mkv
2014-09-09 11:37 mkv Note Added: 0031505
2014-09-09 11:37 mkv Assigned To mkv => kgv
2014-09-09 11:37 mkv Status reviewed => assigned
2014-09-09 17:52 git Note Added: 0031526
2014-09-09 19:48 git Note Added: 0031530
2014-09-09 19:49 kgv Note Added: 0031531
2014-09-09 19:49 kgv Assigned To kgv => bugmaster
2014-09-09 19:49 kgv Status assigned => resolved
2014-09-09 19:49 kgv Status resolved => reviewed
2014-09-09 20:33 mkv Assigned To bugmaster => mkv
2014-09-10 15:08 mkv Note Added: 0031572
2014-09-10 15:12 mkv Note Edited: 0031572
2014-09-10 15:18 mkv Note Added: 0031573
2014-09-10 15:18 mkv Assigned To mkv => kgv
2014-09-10 15:18 mkv Status reviewed => assigned
2014-09-10 16:14 git Note Added: 0031580
2014-09-10 16:19 kgv Note Added: 0031581
2014-09-10 16:19 kgv Assigned To kgv => bugmaster
2014-09-10 16:19 kgv Status assigned => resolved
2014-09-10 16:19 kgv Status resolved => reviewed
2014-09-10 18:47 git Note Added: 0031598
2014-09-10 19:18 mkv Assigned To bugmaster => mkv
2014-09-17 13:02 git Note Added: 0031796
2014-09-17 14:15 mkv Note Added: 0031802
2014-09-17 14:15 mkv Note Added: 0031803
2014-09-17 16:59 abv Note Added: 0031819
2014-09-18 13:54 bugmaster Assigned To mkv => bugmaster
2014-09-18 13:54 bugmaster Status reviewed => tested
2014-09-18 14:23 mkv Note Added: 0031860
2014-09-19 13:42 bugmaster Changeset attached => occt master 7d3e64ef
2014-09-19 13:42 bugmaster Status tested => verified
2014-09-19 13:42 bugmaster Resolution open => fixed
2014-09-29 23:13 git Note Added: 0032343
2014-09-29 23:21 git Note Added: 0032356
2014-09-29 23:21 git Note Added: 0032357
2014-09-29 23:24 git Note Added: 0032362
2014-11-11 12:45 aiv Fixed in Version => 6.8.0
2014-11-11 12:58 aiv Status verified => closed