MantisBT - Open CASCADE
View Issue Details
0028487Open CASCADE[OCCT] OCCT:Visualizationpublic2017-02-23 18:312018-03-25 12:01
kgv 
bugmaster 
normalfeature 
closedfixed 
 
[OCCT] 7.2.0[OCCT] 7.2.0 
v3d glsl rendscale
0028487: Visualization, TKOpenGl - add option for rendering with lower resolution
In some cases users have unbalanced configuration - high-resolution display (e.g. 4K) within slow low-end graphics. In these cases, rendering any complex scene with native resolution might be done with too low FPS and bad viewer interactivity, and this issue can not be negated by other rendering options (e.g. complexity of scene/geometry can not be reduced).

It is a common practice to reduce rendered image resolution at application side in case when hardware is not capable providing enough performance for rendering in full (native) resolution.

Of course, it is also possible changing display resolution system-wide (e.g. using up-scaling implementation provided by monitor or GPU driver), but it is not always desirable - e.g. when application works in windowed mode or it is desirable rendering user interface within native resolution while keeping 3D viewer with reduced resolution.

Therefore, it is proposed adding such option to OCCT 3D Viewer to cover such use cases.
pload MODELING VISUALIZATION
box b 1 2 3
vclear
vinit View1
vdisplay b
vfit
vpoint p 0 0 0
vzbufftrihedron
vtrihedron tt

vrenderparams -rendScale 2
No tags attached.
related to 0028177new kgv Community Visualization - MSAA has no effect on clipping planes when using built-in GLSL programs 
png rendscale_100.png (10,471) 2017-02-24 13:58
https://tracker.dev.opencascade.org/
png rendscale_200.png (12,881) 2017-02-24 13:59
https://tracker.dev.opencascade.org/
png rendscale_075.png (23,764) 2017-02-24 13:59
https://tracker.dev.opencascade.org/
png rendscale_050.png (25,507) 2017-02-24 13:59
https://tracker.dev.opencascade.org/
Issue History
2017-02-23 18:31kgvNew Issue
2017-02-23 18:31kgvAssigned To => kgv
2017-02-23 20:51gitNote Added: 0063980
2017-02-24 12:28gitNote Added: 0063981
2017-02-24 13:57gitNote Added: 0063982
2017-02-24 13:58kgvNote Added: 0063983
2017-02-24 13:58kgvAssigned Tokgv => san
2017-02-24 13:58kgvStatusnew => resolved
2017-02-24 13:58kgvFile Added: rendscale_100.png
2017-02-24 13:59kgvFile Added: rendscale_200.png
2017-02-24 13:59kgvFile Added: rendscale_075.png
2017-02-24 13:59kgvFile Added: rendscale_050.png
2017-02-24 14:06kgvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=16100#r16100
2017-02-24 15:22gitNote Added: 0063986
2017-02-25 22:46sanNote Added: 0063995
2017-02-25 22:46sanAssigned Tosan => bugmaster
2017-02-25 22:46sanStatusresolved => reviewed
2017-02-26 19:57gitNote Added: 0063996
2017-02-27 19:16apvAssigned Tobugmaster => apv
2017-02-28 17:08apvTest case number => v3d glsl rendscale
2017-02-28 17:59apvNote Added: 0064038
2017-02-28 17:59apvAssigned Toapv => bugmaster
2017-02-28 17:59apvStatusreviewed => tested
2017-03-03 16:25bugmasterChangeset attached => occt master 56689b27
2017-03-03 16:25bugmasterStatustested => verified
2017-03-03 16:25bugmasterResolutionopen => fixed
2017-03-20 14:34gitNote Added: 0064472
2017-09-29 16:21aivFixed in Version => 7.2.0
2017-09-29 16:24aivStatusverified => closed
2018-03-25 12:01kgvRelationship addedrelated to 0028177

Notes
(0063980)
git   
2017-02-23 20:51   
Branch CR28487 has been created by kgv.

SHA-1: 81b5a458a9c4fd44b8656846c15975db900566c4


Detailed log of new commits:

Author: kgv
Date: Thu Feb 23 20:50:42 2017 +0300

    0028487: Visualization, TKOpenGl - add option for rendering with lower resolution
    
    Graphic3d_RenderingParams::RenderResolutionScale - added new option
    defining scale factor for allocating off-screen rendering buffers
    relative to native resolution of window buffer.
    
    Scale factor can be below 1.0 (lower resolution) or higher (as analog of super sampling),
    but can not be combined with MSAA settings.
    
    Draw Harness command vrenderparams has been extended with option -rendScale
    managing introduced option Graphic3d_RenderingParams::RenderResolutionScale.
    
    vcaps has been extended with option -useWindowBuffer for managing
    OpenGl_Caps::useSystemBuffer option.
    
    vrepaint has been extended with option -immediate
    for testing immediate layer redraw
(0063981)
git   
2017-02-24 12:28   
Branch CR28487 has been updated forcibly by kgv.

SHA-1: 455cdd70b7b78819369628686124e120b895054a
(0063982)
git   
2017-02-24 13:57   
Branch CR28487 has been updated forcibly by kgv.

SHA-1: 79ba7e4367a24e21e00f6e460b623c3f42f42332
(0063983)
kgv   
2017-02-24 13:58   
Patch is ready for review.
(0063986)
git   
2017-02-24 15:22   
Branch CR28487 has been updated forcibly by kgv.

SHA-1: 15facd943b987a9f484623daca1ae78e0012cc0a
(0063995)
san   
2017-02-25 22:46   
Branch CR28487 reviewed without remarks, ready for testing.
(0063996)
git   
2017-02-26 19:57   
Branch CR28487 has been updated forcibly by kgv.

SHA-1: 47835813afa1d204615f1474ad7da6720a13327b
(0064038)
apv   
2017-02-28 17:59   
Dear BugMaster,

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

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: 1213

Regressions/Differences:
Not detected

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

Testing on Linux:
Total MEMORY difference: 92367627 / 93207637 [-0.90%]
Total CPU difference: 19953.27000000024 / 19801.530000000217 [+0.77%]

Testing on Windows:
Total MEMORY difference: 57832494 / 57829936 [+0.00%]
Total CPU difference: 18621.823769898656 / 18793.846072598604 [-0.92%]
(0064472)
git   
2017-03-20 14:34   
Branch CR28487 has been deleted by inv.

SHA-1: 47835813afa1d204615f1474ad7da6720a13327b