Archived issue #0024381
Visualization, TKOpenGl - revise matrices stack and usage of temporary matrices
Description
Current implementation of matrices is complicated.
Not all places are correctly processed for GLSL rendering (e.g. text).
Matrices stack (glPushMatrix) should be either simulated or withdrawn.
Not all places are correctly processed for GLSL rendering (e.g. text).
Matrices stack (glPushMatrix) should be either simulated or withdrawn.
Public activity
51 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Participant.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 11:17:29 2014 +0400
Eliminating matrix operations from z-buffer trihedron.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 11:17:29 2014 +0400
Eliminating matrix operations from z-buffer trihedron.
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 13:29:40 2014 +0400
Eliminating glPushMatrix/glPopMatrix.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 13:29:40 2014 +0400
Eliminating glPushMatrix/glPopMatrix.
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 14:41:57 2014 +0400
Eliminating OpenGl matrix operations from OpenGl_Text.cxx.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 14:41:57 2014 +0400
Eliminating OpenGl matrix operations from OpenGl_Text.cxx.
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 15:13:36 2014 +0400
Eliminating OpenGL matrix operations from OpenGl_Structure.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 15:13:36 2014 +0400
Eliminating OpenGL matrix operations from OpenGl_Structure.
Branch [archived branch] has been created by Participant.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 16:08:07 2014 +0400
Eliminating OpenGl matrix operations.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 3 16:08:07 2014 +0400
Eliminating OpenGl matrix operations.
Dear duv,
please review (and possibly correct) the patch in branch CR24381_1. Please check all fragments in which camera information can be used.
please review (and possibly correct) the patch in branch CR24381_1. Please check all fragments in which camera information can be used.
Branch [archived branch] has been created by Participant.
[revision removed]
Detailed log of new commits:
Author: duv
Date: Thu Oct 9 18:38:10 2014 +0400
Porting to matrix stack
Author: duv
Date: Tue Oct 7 11:44:52 2014 +0400
Move shaders to OpenGL_Mat4.
Author: duv
Date: Mon Oct 6 18:22:20 2014 +0400
Matrix stack implemented.
[revision removed]
Detailed log of new commits:
Author: duv
Date: Thu Oct 9 18:38:10 2014 +0400
Porting to matrix stack
Author: duv
Date: Tue Oct 7 11:44:52 2014 +0400
Move shaders to OpenGL_Mat4.
Author: duv
Date: Mon Oct 6 18:22:20 2014 +0400
Matrix stack implemented.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Dear kgv,
Please review the patch.
Please review the patch.
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 15 19:51:16 2014 +0400
Move OpenGl_Quadric classes to dedicated files
Author: Author
Date: Wed Oct 15 19:26:39 2014 +0400
OpenGl_Quadric - inherit from OpenGl_PrimitiveArray, eliminate duplicated arrays
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 15 19:51:16 2014 +0400
Move OpenGl_Quadric classes to dedicated files
Author: Author
Date: Wed Oct 15 19:26:39 2014 +0400
OpenGl_Quadric - inherit from OpenGl_PrimitiveArray, eliminate duplicated arrays
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 15 20:43:45 2014 +0400
OpenGl_Trihedron - fix memory leak on OpenGl_Quadric fields allocated dynamically
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 15 20:43:45 2014 +0400
OpenGl_Trihedron - fix memory leak on OpenGl_Quadric fields allocated dynamically
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 11:56:45 2014 +0400
cosmetics
Author: Author
Date: Thu Oct 16 11:26:08 2014 +0400
OpenGl_Trihedron::redrawZBuffer() - do not use glPushAttrib()/glPopAttrib()
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 11:56:45 2014 +0400
cosmetics
Author: Author
Date: Thu Oct 16 11:26:08 2014 +0400
OpenGl_Trihedron::redrawZBuffer() - do not use glPushAttrib()/glPopAttrib()
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: duv
Date: Thu Oct 16 12:01:51 2014 +0400
0024381: TKOpenGl - revise matrices stack and usage of temporary matrices
[revision removed]
Detailed log of new commits:
Author: duv
Date: Thu Oct 16 12:01:51 2014 +0400
0024381: TKOpenGl - revise matrices stack and usage of temporary matrices
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 13:04:42 2014 +0400
NCollection_Mat4 - fix new compilation errors and warnings
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 13:04:42 2014 +0400
NCollection_Mat4 - fix new compilation errors and warnings
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 14:30:23 2014 +0400
OpenGl_Utils - fix compilation errors on gcc
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 14:30:23 2014 +0400
OpenGl_Utils - fix compilation errors on gcc
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 14:31:41 2014 +0400
0024381: TKOpenGl - revise matrices stack and usage of temporary matrices
Author: Author
Date: Wed Oct 8 12:29:47 2014 +0400
0025303: Visualization, TKOpenGl - dynamically disable unused light sources in generated GLSL program
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 14:31:41 2014 +0400
0024381: TKOpenGl - revise matrices stack and usage of temporary matrices
Author: Author
Date: Wed Oct 8 12:29:47 2014 +0400
0025303: Visualization, TKOpenGl - dynamically disable unused light sources in generated GLSL program
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 15:23:21 2014 +0400
OpenGl_Context::ApplyModelViewMatrix() - fix compiler warning on Android
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 16 15:23:21 2014 +0400
OpenGl_Context::ApplyModelViewMatrix() - fix compiler warning on Android
Please test the patch in branch CR24381_4.
Dear kgv,
Please rebase branch CR24381_4 to new master.
Please rebase branch CR24381_4 to new master.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: duv
Date: Thu Oct 16 14:31:41 2014 +0400
0024381: TKOpenGl - revise matrices stack and usage of temporary matrices
[revision removed]
Detailed log of new commits:
Author: duv
Date: Thu Oct 16 14:31:41 2014 +0400
0024381: TKOpenGl - revise matrices stack and usage of temporary matrices
Please test branch CR24381_5.
Dear Commenter 1,
Branch CR24381_5 was compiled on Linux platform.
There are following compilation errors:
http://jenkins-test-02.nnov.opencascade.com/user/mnt/my-views/view/CR24381_5/job/mnt-CR24381_5-master_build_occt_linux/2/parsed_console/
1. ../../../../inc/OpenGl_GlFunctions.hxx:1038: error: ‘PFNGLBINDFRAGDATALOCATIONINDEXEDPROC’ does not name a type
2. ../../../../inc/OpenGl_GlFunctions.hxx:1039: error: ‘PFNGLGETFRAGDATAINDEXPROC’ does not name a type
3. ../../../../inc/OpenGl_GlFunctions.hxx:1043: error: ‘PFNGLGENSAMPLERSPROC’ does not name a type
...
Total: 260 errors
Branch CR24381_5 was compiled on Linux platform.
There are following compilation errors:
http://jenkins-test-02.nnov.opencascade.com/user/mnt/my-views/view/CR24381_5/job/mnt-CR24381_5-master_build_occt_linux/2/parsed_console/
1. ../../../../inc/OpenGl_GlFunctions.hxx:1038: error: ‘PFNGLBINDFRAGDATALOCATIONINDEXEDPROC’ does not name a type
2. ../../../../inc/OpenGl_GlFunctions.hxx:1039: error: ‘PFNGLGETFRAGDATAINDEXPROC’ does not name a type
3. ../../../../inc/OpenGl_GlFunctions.hxx:1043: error: ‘PFNGLGENSAMPLERSPROC’ does not name a type
...
Total: 260 errors
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 22 14:13:41 2014 +0400
OpenGl_Window - revert header inclusion order change
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 22 14:13:41 2014 +0400
OpenGl_Window - revert header inclusion order change
Please try updated branch.
Dear Commenter 1,
Branch CR24381_5 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
[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: 1 (1 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 368829344 / 368919864
Total CPU difference: 47217.09000000007 / 44655.71000000001
Testing on Windows:
Total MEMORY difference: 368829344 / 368919864
Total CPU difference: 47217.09000000007 / 44655.71000000001
There are differences in images found by testdiff:
http://occt-tests/CR24381-5-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24381-5-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
Pay attention to (Linux only):
demo samples dimensions
bugs vis bug25132, bug22368, bug23120, bug24901, bug24224, bug25276, bug23120, bug24902, bug223
Branch CR24381_5 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
[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: 1 (1 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 368829344 / 368919864
Total CPU difference: 47217.09000000007 / 44655.71000000001
Testing on Windows:
Total MEMORY difference: 368829344 / 368919864
Total CPU difference: 47217.09000000007 / 44655.71000000001
There are differences in images found by testdiff:
http://occt-tests/CR24381-5-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24381-5-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
Pay attention to (Linux only):
demo samples dimensions
bugs vis bug25132, bug22368, bug23120, bug24901, bug24224, bug25276, bug23120, bug24902, bug223
Branch [archived branch] has been created by Participant.
[revision removed]
No new revisions were added by this update.
[revision removed]
No new revisions were added by this update.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Dear Commenter 1,
please re-test the patch in branch CR24381_6.
please re-test the patch in branch CR24381_6.
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 24 19:35:06 2014 +0400
Fix problem with capping surfaces.
[revision removed]
Detailed log of new commits:
Author: dbp
Date: Fri Oct 24 19:35:06 2014 +0400
Fix problem with capping surfaces.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Dear Commenter 1,
Branch CR24381_6 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 18 (18 on master)
Windows: 0 (0 on master)
products component:
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 372387260 / 371798320
Total CPU difference: 48110.360000000175 / 48296.50000000005
Testing on Windows:
Total MEMORY difference: 275266560 / 273087684
Total CPU difference: 45199.390625 / 37050.84375
There are differences in images found by testdiff:
http://occt-tests/CR24381-6-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24381-6-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
Pay attention to:
bugs vis bug25276, bug22337
Branch CR24381_6 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 18 (18 on master)
Windows: 0 (0 on master)
products component:
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 372387260 / 371798320
Total CPU difference: 48110.360000000175 / 48296.50000000005
Testing on Windows:
Total MEMORY difference: 275266560 / 273087684
Total CPU difference: 45199.390625 / 37050.84375
There are differences in images found by testdiff:
http://occt-tests/CR24381-6-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24381-6-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
Pay attention to:
bugs vis bug25276, bug22337
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 30 19:42:46 2014 +0400
OpenGl_View::ReleaseGlResources() - release GL resources of trihedron, do not destroy it
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Oct 30 19:42:46 2014 +0400
OpenGl_View::ReleaseGlResources() - release GL resources of trihedron, do not destroy it
Branch [archived branch] has been created by Author.
[revision removed]
No new revisions were added by this update.
[revision removed]
No new revisions were added by this update.
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: duv
Date: Fri Oct 31 10:29:51 2014 +0300
0024381: Visualization, TKOpenGl - revise matrices stack and usage of temporary matrices
0025301: Visualization, TKOpenGl - transpose matrix manually before glUniformMatrix4fv()
OpenGl_View::ReleaseGlResources() - release GL resources of trihedron, do not destroy it
[revision removed]
Detailed log of new commits:
Author: duv
Date: Fri Oct 31 10:29:51 2014 +0300
0024381: Visualization, TKOpenGl - revise matrices stack and usage of temporary matrices
0025301: Visualization, TKOpenGl - transpose matrix manually before glUniformMatrix4fv()
OpenGl_View::ReleaseGlResources() - release GL resources of trihedron, do not destroy it
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Nov 3 20:32:37 2014 +0300
OpenGl_Structure::Render() - fix rebase issue
Author: duv
Date: Fri Oct 31 10:29:51 2014 +0300
0024381: Visualization, TKOpenGl - revise matrices stack and usage of temporary matrices
0025301: Visualization, TKOpenGl - transpose matrix manually before glUniformMatrix4fv()
OpenGl_View::ReleaseGlResources() - release GL resources of trihedron, do not destroy it
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Nov 3 20:32:37 2014 +0300
OpenGl_Structure::Render() - fix rebase issue
Author: duv
Date: Fri Oct 31 10:29:51 2014 +0300
0024381: Visualization, TKOpenGl - revise matrices stack and usage of temporary matrices
0025301: Visualization, TKOpenGl - transpose matrix manually before glUniformMatrix4fv()
OpenGl_View::ReleaseGlResources() - release GL resources of trihedron, do not destroy it
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Nov 3 23:15:55 2014 +0300
OpenGl_View::RedrawScene() - compute proper projection matrix within printer context
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Nov 3 23:15:55 2014 +0300
OpenGl_View::RedrawScene() - compute proper projection matrix within printer context
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: duv
Date: Mon Nov 3 23:18:25 2014 +0300
0024381: Visualization, TKOpenGl - revise matrices stack and usage of temporary matrices
0025301: Visualization, TKOpenGl - transpose matrix manually before glUniformMatrix4fv()
OpenGl_View::ReleaseGlResources() - release GL resources of trihedron, do not destroy it
[revision removed]
Detailed log of new commits:
Author: duv
Date: Mon Nov 3 23:18:25 2014 +0300
0024381: Visualization, TKOpenGl - revise matrices stack and usage of temporary matrices
0025301: Visualization, TKOpenGl - transpose matrix manually before glUniformMatrix4fv()
OpenGl_View::ReleaseGlResources() - release GL resources of trihedron, do not destroy it
> Pay attention to: bugs vis bug25276, bug22337
Regressions should be fixed now, please test branch CR24381_9.
Regressions should be fixed now, please test branch CR24381_9.
Branch [archived branch] has been created by Participant.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Oct 31 15:33:12 2014 +0300
0025438: Visualization, TKOpenGl - always setup viewport within OpenGl_Workspace::Redraw()
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Oct 31 15:33:12 2014 +0300
0025438: Visualization, TKOpenGl - always setup viewport within OpenGl_Workspace::Redraw()
Dear Commenter 1,
Branch CR24381_9_CR25438 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 18 (18 on master)
Windows: 0 (0 on master)
products component:
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 372579184 / 373127428
Total CPU difference: 46335.78999999996 / 48561.70000000008
Testing on Windows:
Total MEMORY difference: 274595460 / 274441904
Total CPU difference: 33781.921875 / 34083.171875
Branch CR24381_9_CR25438 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 18 (18 on master)
Windows: 0 (0 on master)
products component:
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 372579184 / 373127428
Total CPU difference: 46335.78999999996 / 48561.70000000008
Testing on Windows:
Total MEMORY difference: 274595460 / 274441904
Total CPU difference: 33781.921875 / 34083.171875
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Related records
- #0025301 · parent of · closedVisualization, TKOpenGl - transpose matrix manually before glUniformMatrix4fv()
- #0025483 · parent of · closedVisualization, TKOpenGl - fix memory leak due to unused stack in OpenGl_StateInterface
- #0025162 · related to · closedVisualization, TKOpenGl - drop GLU library dependency
- #0025328 · related to · closedVisualization, TKOpenGl - support text rendering within built-in GLSL programs
- #0025500 · related to · closedVisualization, TKOpenGl - global trihedron should not inherit transformation from last object
- #0025580 · related to · closedVisualization, TKOpenGl - create GLushort index buffer in OpenGl_Quadric::createArrays() when sufficient
- #0025867 · related to · closedVisualization, TKOpenGl - fix misprint in transformation persistence math
- #0026276 · related to · closedVisualization, TKOpenGl - add missing Standard_EXPORT to matrix management methods in OpenGl_Context
- #0026844 · related to · closedVisualization, OpenGl_Flipper - fix issues within Core Profile and OpenGL ES