DiscussionsIssue archiveOCCT:Visualization

Archived issue #0022696

Visualization - Image dump of 3D Viewer is limited to Video hardware limits

CommunityOCCT:Visualizationclosed2 public notes

Search issues

Description

http://www.opencascade.org/org/forum/thread_21376/

Detected problems with Image dumping functionality:
- vdump command doesn't check returned handle for NULL (possible when launched on hardware without OpenGL FBO support).
- vdump, this is suggested to show appropriate error message to do not fool user (when dumping failed, when image saving failed, when dumped image has lesser resolution, etc.). Currently no any error message provided.
- V3d_View::ToPixMap(), in case of hardware limits returned image contains cut dump with black areas at top and right but with total resolution equal to requested. Possible solutions - return NULL handle when limits exceeded or return correct dump with reduced dimensions.
- V3d_View::ToPixMap() doesn't support tiled dump (was introduced for printing functionality, OCC22337) thus always limited to GPU hardware limits (however it is 8192x8192 or 16384x16384 on modern hardware!).
- V3d_View::ToPixMap() should also detect allocation errors of auxiliary FBOs (not only target FBO). Although texture size limits is the same for MSAA and normal textures, MSAA textures requires much more memory making allocation errors highly possible -> therefore, it is better apply tiling / use tiles smaller then maximum texture limit.
- Image_PixMap, allocation errors should probably be detected and re-raise constructor exception.

Steps to reproduce

Test case for each problem is hardware and platform dependent!
Notice that there are more problems with Intel graphics.

vinit;
box b 1 2 3;
vdisplay b;
vfit;
vsetdispmode 1;
vdump dpm.jpg depth 18000 18000;

Public activity

2 archived notes

Participants are labeled by their role within this record.

01Commenter 1
*RESTORED*
2011-12-12 08:09 san Relationship added related to 0022337
02Author
Dear Commenter 1,

please close the issue.

OCCT now provides tools for tiled dump, which can be used by application.
For the moment, there is no blocking necessity for making this routine automatic - can be considered in future.

Related records