View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0022582 | Open CASCADE | OCCT:Visualization | public | 2011-06-07 17:06 | 2019-11-22 15:50 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
OS | All | ||||
Target Version | 7.1.0 | Fixed in Version | 7.1.0 | ||
Summary | 0022582: Visualization - provide an API for dumping a sub-region of the viewport | ||||
Description | The 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 Reproduce | test bugs vis bug22582 | ||||
Tags | No tags attached. | ||||
Test case number | v3d glsl tiles | ||||
related to | 0022337 | closed | bugmaster | Community | V3d_View::Print crashes in OCCT 6.5.0 |
parent of | 0027836 | closed | bugmaster | Open CASCADE | Visualization, TKOpenGl - gradient background is lost at some camera positions |
parent of | 0029127 | closed | bugmaster | Open CASCADE | Visualization - V3d_View::ToPixMap() crashes on tiled rendering without FBO |
related to | 0022696 | closed | bugmaster | Community | Visualization - Image dump of 3D Viewer is limited to Video hardware limits |
related to | 0023049 | closed | bugmaster | Open CASCADE | Optimize packaging and dependencies of visualization libraries |
related to | 0024349 | closed | bugmaster | Community | Document name of V3d::View printouts is very long and cannot be changed by the application |
related to | 0027763 | closed | bugmaster | Open CASCADE | Visualization - remove V3d_View::Print() method |
related to | 0027860 | closed | kgv | Open CASCADE | Visualization - clean up Transformation Persistence API |
related to | 0030982 | closed | bugmaster | Open CASCADE | Visualization, OpenGl_View::MinMaxValues() - do not add background quad into depth range |
|
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. |
|
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. |
|
Branch CR22582 has been updated forcibly by osa. SHA-1: 92e8957036b38a6ba51539c1bc1198e5000824b5 |
|
Branch CR22582 has been updated forcibly by kgv. SHA-1: c6f49156d76acbdb8217e0e6a373714f20fa2db9 |
|
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. |
|
Branch CR22582_1 has been updated forcibly by kgv. SHA-1: 20ec1c676aa7b207a4d371f4f6d3abb4cb9ed30a |
|
Branch CR22582_1 has been updated forcibly by kgv. SHA-1: b1acfb095b090c6d1610f6cc677b1c85cab758a2 |
|
makers_tiles_KO.png (21,052 bytes) |
|
trsf_pers_tiles_KO.png (69,214 bytes) |
|
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. |
|
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 |
|
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. |
|
Branch CR22582_2 has been updated forcibly by kgv. SHA-1: 3511c0b241f3e917aacbde357fcbb9e137449adb |
|
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. |
|
Branch CR22582_3 has been updated forcibly by kgv. SHA-1: ee96fb7a2f6d05342349cba0f03d531960fb67ce |
|
Branch CR22582_3 has been updated forcibly by kgv. SHA-1: 3a6259792af8b39a9bdb17646f0833ff8241589a |
|
Please test the patch. |
|
Branch CR22582_3 has been updated forcibly by kgv. SHA-1: dea6f4b527b7dd17d2d946b26db05045d26c5d96 |
|
Patch has been rebased onto updated 0027796. |
|
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 |
|
Dear Kirill, Branch CR22582_3 has been rejected due to: - regressions/differences/improvements - differences in images |
|
Branch CR22582_3 has been updated forcibly by kgv. SHA-1: 11339f106f09f2b0246d234955ff673675f0f386 |
|
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 |
|
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 |
|
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. |
|
Please check updated patch in branch CR22582_4. |
|
Branch CR22582_4 has been updated forcibly by apv. SHA-1: b31fe072d26a86208c7778585f2b72cfa09b6819 |
|
Branch CR22582_4 has been rebased on the current master. |
|
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%] |
|
Branch CR22582 has been deleted by kgv. SHA-1: c6f49156d76acbdb8217e0e6a373714f20fa2db9 |
|
Branch CR22582_1 has been deleted by kgv. SHA-1: e79bdc2b058ef5d59fb0da65b32792b48db12816 |
|
Branch CR22582_2 has been deleted by kgv. SHA-1: 3511c0b241f3e917aacbde357fcbb9e137449adb |
|
Branch CR22582_3 has been deleted by kgv. SHA-1: d49949e1b3d4196f476a7e3373d201d8ff73972c |
|
Branch CR22582_4 has been deleted by kgv. SHA-1: b31fe072d26a86208c7778585f2b72cfa09b6819 |
occt: master 3bffef55 2016-08-21 18:55:10
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. |
Affected Issues 0022582 |
|
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 |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-06-07 17:07 |
|
CC | => san |
2011-06-07 17:12 |
|
CC | => kgv |
2011-08-02 11:24 | bugmaster | Category | OCCT:VIZ => OCCT:Visualization |
2011-08-09 13:54 |
|
Relationship added | related to 0022337 |
2012-10-23 10:59 | kgv | Relationship added | related to 0022696 |
2012-10-23 11:07 |
|
Fixed in Version | EMPTY => |
2012-10-23 11:07 |
|
Target Version | => Unscheduled |
2012-10-23 11:07 |
|
Description Updated | |
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 | |
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 |
|
Steps to Reproduce Updated | |
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 | |
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 |
|
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 |
|
Assigned To | bugmaster => apv |
2016-08-24 13:43 |
|
Test case number | => v3d glsl tiles |
2016-08-24 18:51 |
|
Note Added: 0057039 | |
2016-08-24 18:51 |
|
Assigned To | apv => kgv |
2016-08-24 18:51 |
|
Status | reviewed => assigned |
2016-08-24 18:53 |
|
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 |
|
Assigned To | bugmaster => apv |
2016-08-26 13:48 | git | Note Added: 0057090 | |
2016-08-26 13:49 |
|
Note Added: 0057091 | |
2016-08-30 11:25 |
|
Note Added: 0057287 | |
2016-08-30 11:25 |
|
Assigned To | apv => bugmaster |
2016-08-30 11:25 |
|
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 |
|
Status | verified => closed |
2016-12-09 16:38 |
|
Fixed in Version | => 7.1.0 |
2017-09-20 14:32 | kgv | Relationship added | parent of 0029127 |
2019-11-22 15:50 | kgv | Relationship added | related to 0030982 |