MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0022582Open CASCADE[OCCT] OCCT:Visualizationpublic2011-06-07 17:062017-09-20 14:32
Reporterapl 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformOSAllOS Version
Product Version 
Target Version[OCCT] 7.1.0Fixed in Version[OCCT] 7.1.0 
Summary0022582: Visualization - provide an API for dumping a sub-region of the viewport
DescriptionThe tile printing algorithm has been implemented with the 0022337 patch. This
algorithm prints the scene in high resolution without quality loss.

It looks reasonable to remove printing functionality at all (since it has been implemented only for Windows platform and does not evaluate) and move tiling capabilities to general image dump.
Steps To Reproducetest bugs vis bug22582
TagsNo tags attached.
Test case numberv3d glsl tiles
Attached Filespng file icon makers_tiles_KO.png (21,052 bytes) 2016-08-07 12:48
png file icon trsf_pers_tiles_KO.png (69,214 bytes) 2016-08-07 12:49

- Relationships
related to 0022337closedbugmaster Community V3d_View::Print crashes in OCCT 6.5.0 
parent of 0027836closedbugmaster Open CASCADE Visualization, TKOpenGl - gradient background is lost at some camera positions 
parent of 0029127closedbugmaster Open CASCADE Visualization - V3d_View::ToPixMap() crashes on tiled rendering without FBO 
related to 0022696assignedsan Community Image dump of 3D Viewer is limited to Video hardware limits 
related to 0023049closedbugmaster Open CASCADE Optimize packaging and dependencies of visualization libraries 
related to 0024349closedbugmaster Community Document name of V3d::View printouts is very long and cannot be changed by the application 
related to 0027763closedbugmaster Open CASCADE Visualization - remove V3d_View::Print() method 
related to 0027860closedkgv Open CASCADE Visualization - clean up Transformation Persistence API 

-  Notes
(0048375)
git (administrator)
2015-11-19 14:15

Branch CR22582 has been created by isz.

SHA-1: 5654a9d78cd294d54b983c56c057290a6bb32b10


Detailed log of new commits:

Author: isz
Date: Thu Nov 19 14:05:51 2015 +0300

    0022582: Visualization - share tile printing algorithm for dumping a 3D scene
    
    Tile algorithm for dumping is implemented. Added new option "-tile" for draw command "vdump". Test case bug22582 was added.
(0048384)
kgv (developer)
2015-11-19 15:22

It is suggested to move tiling functionality into the base tool defining projection matrices - Graphic3d_Camera.

Graphic3d_Camera class definition should be extended with tile properties (tile top-left corner, tile width and height, full frame width and height) with tile width and height equal to window size. The methods Graphic3d_Camera::UpdateProjection(), ::OrthoProj(), ::PerspectiveProj(), ::StereoEyeProj() should be extended with the logic based on optional tile definition.

V3d_View::ToPixMap() will be left untouched - application will define tiling configuration beforehand, allocate image of extra size (if needed) and would iterate through tiles defining specific tile within new V3d_View method (passing arguments to Graphic3d_Camera instance) and calling V3d_View::ToPixMap(). Method ToPixMap() will pass dump dimensions to camera as tile dimensions.

Draw Harness should be extended with new command defining tile configuration of active view (e.g. usual rendering into window will draw a tile). Command vdump should be extended with option making usual dump with specified tile size.

New test cases should cover all scenarios:
- Orthographic projection.
- Perspective projection (mono).
- Left/Rigth stereographic projection.
- Ray-Tracing, Path-Tracing, Rasterization.
(0056061)
git (administrator)
2016-07-20 16:34

Branch CR22582 has been updated forcibly by osa.

SHA-1: 92e8957036b38a6ba51539c1bc1198e5000824b5
(0056526)
git (administrator)
2016-08-06 14:11

Branch CR22582 has been updated forcibly by kgv.

SHA-1: c6f49156d76acbdb8217e0e6a373714f20fa2db9
(0056527)
git (administrator)
2016-08-06 18:53

Branch CR22582_1 has been created by kgv.

SHA-1: 9ed74937e33359dad386498d2167aaa5f61677a0


Detailed log of new commits:

Author: kgv
Date: Sat Aug 6 18:53:01 2016 +0300

    0022582: Visualization - share tile printing algorithm for dumping a 3D scene
    
    Graphic3d_Camera class was extended with Tile property.
    The method ::UpdateProjection() takes into account Tile configuration.
    
    V3d_View::ToPixMap() dumps big images during iteration through tiles.
(0056531)
git (administrator)
2016-08-07 12:30

Branch CR22582_1 has been updated forcibly by kgv.

SHA-1: 20ec1c676aa7b207a4d371f4f6d3abb4cb9ed30a
(0056532)
git (administrator)
2016-08-07 12:39

Branch CR22582_1 has been updated forcibly by kgv.

SHA-1: b1acfb095b090c6d1610f6cc677b1c85cab758a2
(0056533)
kgv (developer)
2016-08-07 13:11

The issues of current prototype:
- Grayscale/texture background is rendered incorrectly (it uses normalized coordinates and thus ignores projection matrix at all).
- Big markers might be skipped by hardware if point is outside the volume leading to marker clipping by tile boundaries (see makers_tiles_KO.png - sample markers.tcl dumped to 2560x1440 with tile size 1024x1024).
- Transformation persistence works (osd2d) incorrectly with tiling.
- Text labels are drawn incorrectly with tiling.
- ZBuffer trihedron is drawn for each tile.

Note that some of the issues are reproducible with vprintview.
(0056534)
git (administrator)
2016-08-07 21:56

Branch CR22582_1 has been updated by kgv.

SHA-1: e79bdc2b058ef5d59fb0da65b32792b48db12816


Detailed log of new commits:

Author: kgv
Date: Sun Aug 7 21:56:16 2016 +0300

    add command vtile

(0056904)
git (administrator)
2016-08-21 11:57

Branch CR22582_2 has been created by kgv.

SHA-1: 35d7863c45752331c7caf6c02b906c36d7c19de9


Detailed log of new commits:

Author: osa
Date: Sun Aug 21 11:53:55 2016 +0300

    0022582: Visualization - share tile printing algorithm for dumping a 3D scene
    
    Graphic3d_Camera class was extended with Tile property.
    The method ::UpdateProjection() takes into account Tile configuration.
    
    V3d_View::ToPixMap() dumps big images during iteration through tiles.
(0056905)
git (administrator)
2016-08-21 15:41

Branch CR22582_2 has been updated forcibly by kgv.

SHA-1: 3511c0b241f3e917aacbde357fcbb9e137449adb
(0056908)
git (administrator)
2016-08-21 22:03

Branch CR22582_3 has been created by kgv.

SHA-1: 1ead1b23e6c34d788209340c63951a02abd7bbfa


Detailed log of new commits:

Author: osa
Date: Sun Aug 21 21:55:10 2016 +0300

    0022582: Visualization - provide an API for dumping a sub-region of the viewport
    
    Graphic3d_Camera definition has been exended by optional Tile property (Graphic3d_CameraTile structure).
    V3d_View::ToPixMap() now performs tiled dump when image size exceeds hardware limits.
    
    OpenGl_Context now tracks viewport values.
    Draw Harness command vdump has been extended with new argument -tileSize.
(0056910)
git (administrator)
2016-08-21 22:22

Branch CR22582_3 has been updated forcibly by kgv.

SHA-1: ee96fb7a2f6d05342349cba0f03d531960fb67ce
(0056945)
git (administrator)
2016-08-22 23:11

Branch CR22582_3 has been updated forcibly by kgv.

SHA-1: 3a6259792af8b39a9bdb17646f0833ff8241589a
(0056946)
kgv (developer)
2016-08-22 23:15

Please test the patch.
(0056994)
git (administrator)
2016-08-23 17:16

Branch CR22582_3 has been updated forcibly by kgv.

SHA-1: dea6f4b527b7dd17d2d946b26db05045d26c5d96
(0056995)
kgv (developer)
2016-08-23 17:17

Patch has been rebased onto updated 0027796.
(0057039)
apv (tester)
2016-08-24 18:51

Dear BugMaster,

Branch CR22582_3 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: dea6f4b527b7dd17d2d946b26db05045d26c5d96

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1138

Regressions/Differences:
http://occt-tests/CR22582_3-master-OCCT/Debian70-64/summary.html [^]
http://occt-tests/CR22582_3-master-OCCT/Windows-64-VC10/summary.html [^]
bugs vis bug26344

Testing cases:
v3d glsl tiles - OK
http://occt-tests/CR22582_3-master-OCCT/Debian70-64/v3d/glsl/tiles.html [^]
http://occt-tests/CR22582_3-master-OCCT/Windows-64-VC10/v3d/glsl/tiles.html [^]

Testing on Linux:
Total MEMORY difference: 90037305 / 89511201 [+0.59%]
Total CPU difference: 19469.86000000012 / 19494.80000000011 [-0.13%]

Testing on Windows:
Total MEMORY difference: 57163992 / 57158685 [+0.01%]
Total CPU difference: 17966.02676609876 / 18084.493925498853 [-0.66%]

There are differences in images found by testdiff:
http://occt-tests/CR22582_3-master-OCCT/Debian70-64/diff-Debian70-64.html [^]
http://occt-tests/CR22582_3-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html [^]
3rdparty fonts A1
bugs vis bug21747_12
bugs vis bug22819
bugs vis bug26344
bugs vis bug12584
bugs vis bug22632
bugs vis bug26312
bugs vis bug21091_1
bugs vis bug21747_14
bugs vis bug25136
bugs vis bug25027
bugs vis bug21747_10
bugs vis bug21747_16
(0057040)
apv (tester)
2016-08-24 18:53

Dear Kirill,

Branch CR22582_3 has been rejected due to:
- regressions/differences/improvements
- differences in images
(0057047)
git (administrator)
2016-08-24 21:42

Branch CR22582_3 has been updated forcibly by kgv.

SHA-1: 11339f106f09f2b0246d234955ff673675f0f386
(0057048)
git (administrator)
2016-08-24 22:59

Branch CR22582_3 has been updated by kgv.

SHA-1: 5fa5368708df210b3e2a82078e96dafdfc972536


Detailed log of new commits:

Author: kgv
Date: Wed Aug 24 22:59:29 2016 +0300

    OpenGl_BackgroundArray - fix Aspect_GFM_CORNER1 and Aspect_GFM_CORNER3

(0057049)
git (administrator)
2016-08-24 23:09

Branch CR22582_3 has been updated by kgv.

SHA-1: d49949e1b3d4196f476a7e3373d201d8ff73972c


Detailed log of new commits:

Author: kgv
Date: Wed Aug 24 23:09:45 2016 +0300

    OpenGl_View::Redraw() - fix dump of immediate Z layers

(0057050)
git (administrator)
2016-08-24 23:16

Branch CR22582_4 has been created by kgv.

SHA-1: aa96284db7c7532e6f17c7f6fc60ab5a5f920a14


Detailed log of new commits:

Author: osa
Date: Sun Aug 21 21:55:10 2016 +0300

    0022582: Visualization - provide an API for dumping a sub-region of the viewport
    
    Graphic3d_Camera definition has been exended by optional Tile property (Graphic3d_CameraTile structure).
    V3d_View::ToPixMap() now performs tiled dump when image size exceeds hardware limits.
    
    OpenGl_View::Redraw() - fixed dump of immediate Z layers in no stereo and no MSAA case.
    
    OpenGl_Context now tracks viewport values.
    Draw Harness command vdump has been extended with new argument -tileSize.
(0057051)
kgv (developer)
2016-08-24 23:16

Please check updated patch in branch CR22582_4.
(0057090)
git (administrator)
2016-08-26 13:48

Branch CR22582_4 has been updated forcibly by apv.

SHA-1: b31fe072d26a86208c7778585f2b72cfa09b6819
(0057091)
apv (tester)
2016-08-26 13:49

Branch CR22582_4 has been rebased on the current master.
(0057287)
apv (tester)
2016-08-30 11:25

Dear BugMaster,

Branch CR22582_4 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: b31fe072d26a86208c7778585f2b72cfa09b6819

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1142

Regressions/Differences:
Not detected

Testing cases:
v3d glsl tiles - OK
http://occt-tests/CR22582_4-master-OCCT/Debian70-64/v3d/glsl/tiles.html [^]
http://occt-tests/CR22582_4-master-OCCT/Windows-64-VC10/v3d/glsl/tiles.html [^]

Testing on Linux:
Total MEMORY difference: 89496900 / 89973920 [-0.53%]
Total CPU difference: 19340.380000000037 / 19309.169999999933 [+0.16%]

Testing on Windows:
Total MEMORY difference: 57089201 / 57104361 [-0.03%]
Total CPU difference: 17938.383388898903 / 18053.48092669886 [-0.64%]
(0059533)
git (administrator)
2016-10-28 21:48

Branch CR22582 has been deleted by kgv.

SHA-1: c6f49156d76acbdb8217e0e6a373714f20fa2db9
(0059534)
git (administrator)
2016-10-28 21:48

Branch CR22582_1 has been deleted by kgv.

SHA-1: e79bdc2b058ef5d59fb0da65b32792b48db12816
(0059535)
git (administrator)
2016-10-28 21:48

Branch CR22582_2 has been deleted by kgv.

SHA-1: 3511c0b241f3e917aacbde357fcbb9e137449adb
(0059536)
git (administrator)
2016-10-28 21:48

Branch CR22582_3 has been deleted by kgv.

SHA-1: d49949e1b3d4196f476a7e3373d201d8ff73972c
(0059537)
git (administrator)
2016-10-28 21:48

Branch CR22582_4 has been deleted by kgv.

SHA-1: b31fe072d26a86208c7778585f2b72cfa09b6819

- Related Changesets
occt: master 3bffef55
Timestamp: 2016-08-21 18:55:10
Author: osa
Committer: bugmaster
Details ] Diff ]
0022582: Visualization - provide an API for dumping a sub-region of the viewport

Graphic3d_Camera definition has been exended by optional Tile property (Graphic3d_CameraTile structure).
V3d_View::ToPixMap() now performs tiled dump when image size exceeds hardware limits.

OpenGl_View::Redraw() - fixed dump of immediate Z layers in no stereo and no MSAA case.

OpenGl_Context now tracks viewport values.
Draw Harness command vdump has been extended with new argument -tileSize.
mod - src/Graphic3d/FILES Diff ] File ]
mod - src/Graphic3d/Graphic3d_Camera.cxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_Camera.hxx Diff ] File ]
add - src/Graphic3d/Graphic3d_CameraTile.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_GraphicDriver.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_TransformPers.hxx Diff ] File ]
mod - src/Graphic3d/Graphic3d_TransformUtils.hxx Diff ] File ]
add - src/Graphic3d/Graphic3d_TypeOfLimit.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_BackgroundArray.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_BackgroundArray.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Context.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Context.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_FrameBuffer.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_GraduatedTrihedron.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_GraphicDriver.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_GraphicDriver.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Structure.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Text.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Text.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_Redraw.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Window.cxx Diff ] File ]
mod - src/V3d/FILES Diff ] File ]
add - src/V3d/V3d_ImageDumpOptions.hxx Diff ] File ]
mod - src/V3d/V3d_View.cxx Diff ] File ]
mod - src/V3d/V3d_View.hxx Diff ] File ]
mod - src/ViewerTest/ViewerTest.cxx Diff ] File ]
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff ] File ]
add - tests/v3d/glsl/tiles Diff ] File ]

- Issue History
Date Modified Username Field Change
2011-06-07 17:07 apl CC => san
2011-06-07 17:12 apl CC => kgv
2011-08-02 11:24 bugmaster Category OCCT:VIZ => OCCT:Visualization
2011-08-09 13:54 san Relationship added related to 0022337
2012-10-23 10:59 kgv Relationship added related to 0022696
2012-10-23 11:07 abv Fixed in Version EMPTY =>
2012-10-23 11:07 abv Target Version => Unscheduled
2012-10-23 11:07 abv Description Updated View Revisions
2014-02-13 11:15 kgv Assigned To bugmaster => apl
2014-02-13 11:15 kgv Target Version Unscheduled => 7.0.0
2014-02-13 11:15 kgv Summary Share tile printing algorithm for dumping a 3D scene => Visualization - share tile printing algorithm for dumping a 3D scene
2014-02-13 11:15 kgv Description Updated View Revisions
2014-02-17 14:34 kgv Relationship added related to 0022697
2014-02-17 14:56 kgv Relationship added related to 0023049
2014-09-29 22:56 kgv Target Version 7.0.0 => 7.1.0
2015-01-30 08:41 kgv Assigned To apl => isz
2015-01-30 08:41 kgv Status new => assigned
2015-11-19 14:15 git Note Added: 0048375
2015-11-19 14:17 isz Steps to Reproduce Updated View Revisions
2015-11-19 15:22 kgv Note Added: 0048384
2016-07-08 17:25 kgv Assigned To isz => osa
2016-07-09 18:41 kgv Relationship added related to 0024349
2016-07-20 16:34 git Note Added: 0056061
2016-08-06 14:11 git Note Added: 0056526
2016-08-06 18:53 git Note Added: 0056527
2016-08-07 12:30 git Note Added: 0056531
2016-08-07 12:39 git Note Added: 0056532
2016-08-07 12:48 kgv File Added: makers_tiles_KO.png
2016-08-07 12:49 kgv File Added: trsf_pers_tiles_KO.png
2016-08-07 13:11 kgv Note Added: 0056533
2016-08-07 21:56 git Note Added: 0056534
2016-08-10 22:07 kgv Relationship added related to 0027763
2016-08-21 11:57 git Note Added: 0056904
2016-08-21 15:37 kgv Summary Visualization - share tile printing algorithm for dumping a 3D scene => Visualization - provide an API for dumping a sub-region of the viewport
2016-08-21 15:37 kgv Description Updated View Revisions
2016-08-21 15:41 git Note Added: 0056905
2016-08-21 22:03 git Note Added: 0056908
2016-08-21 22:22 git Note Added: 0056910
2016-08-22 23:11 git Note Added: 0056945
2016-08-22 23:15 kgv Note Added: 0056946
2016-08-22 23:15 kgv Assigned To osa => bugmaster
2016-08-22 23:15 kgv Status assigned => resolved
2016-08-22 23:15 kgv Status resolved => reviewed
2016-08-23 13:37 apv Assigned To bugmaster => apv
2016-08-23 17:05 kgv Assigned To apv => kgv
2016-08-23 17:05 kgv Status reviewed => assigned
2016-08-23 17:16 git Note Added: 0056994
2016-08-23 17:17 kgv Note Added: 0056995
2016-08-23 17:17 kgv Assigned To kgv => bugmaster
2016-08-23 17:17 kgv Status assigned => resolved
2016-08-23 17:17 kgv Status resolved => reviewed
2016-08-23 17:22 apv Assigned To bugmaster => apv
2016-08-24 13:43 apv Test case number => v3d glsl tiles
2016-08-24 18:51 apv Note Added: 0057039
2016-08-24 18:51 apv Assigned To apv => kgv
2016-08-24 18:51 apv Status reviewed => assigned
2016-08-24 18:53 apv Note Added: 0057040
2016-08-24 21:42 git Note Added: 0057047
2016-08-24 22:59 git Note Added: 0057048
2016-08-24 23:09 git Note Added: 0057049
2016-08-24 23:16 git Note Added: 0057050
2016-08-24 23:16 kgv Note Added: 0057051
2016-08-24 23:16 kgv Assigned To kgv => bugmaster
2016-08-24 23:16 kgv Status assigned => resolved
2016-08-24 23:17 kgv Status resolved => reviewed
2016-08-26 08:42 apv Assigned To bugmaster => apv
2016-08-26 13:48 git Note Added: 0057090
2016-08-26 13:49 apv Note Added: 0057091
2016-08-30 11:25 apv Note Added: 0057287
2016-08-30 11:25 apv Assigned To apv => bugmaster
2016-08-30 11:25 apv Status reviewed => tested
2016-09-02 10:27 bugmaster Changeset attached => occt master 3bffef55
2016-09-02 10:27 bugmaster Status tested => verified
2016-09-02 10:27 bugmaster Resolution open => fixed
2016-09-03 21:06 kgv Relationship added parent of 0027836
2016-09-10 14:37 kgv Relationship added related to 0027860
2016-10-28 21:48 git Note Added: 0059533
2016-10-28 21:48 git Note Added: 0059534
2016-10-28 21:48 git Note Added: 0059535
2016-10-28 21:48 git Note Added: 0059536
2016-10-28 21:48 git Note Added: 0059537
2016-12-09 16:30 user533 Status verified => closed
2016-12-09 16:38 user533 Fixed in Version => 7.1.0
2017-09-20 14:32 kgv Relationship added parent of 0029127


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker