View Issue Details

IDProjectCategoryView StatusLast Update
0028487Open CASCADEOCCT:Visualizationpublic2018-03-25 12:01
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028487: Visualization, TKOpenGl - add option for rendering with lower resolution
DescriptionIn 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.
Steps To Reproduce
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
TagsNo tags attached.
Test case numberv3d glsl rendscale

Attached Files

  • rendscale_100.png (10,471 bytes)
  • rendscale_200.png (12,881 bytes)
  • rendscale_075.png (23,764 bytes)
  • rendscale_050.png (25,507 bytes)

Relationships

related to 0028177 newvpozdyayev Community Visualization - MSAA has no effect on clipping planes when using built-in GLSL programs 

Activities

git

2017-02-23 20:51

administrator   ~0063980

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

git

2017-02-24 12:28

administrator   ~0063981

Branch CR28487 has been updated forcibly by kgv.

SHA-1: 455cdd70b7b78819369628686124e120b895054a

git

2017-02-24 13:57

administrator   ~0063982

Branch CR28487 has been updated forcibly by kgv.

SHA-1: 79ba7e4367a24e21e00f6e460b623c3f42f42332

kgv

2017-02-24 13:58

developer   ~0063983

Patch is ready for review.

kgv

2017-02-24 13:58

developer  

rendscale_100.png (10,471 bytes)

kgv

2017-02-24 13:59

developer  

rendscale_200.png (12,881 bytes)

kgv

2017-02-24 13:59

developer  

rendscale_075.png (23,764 bytes)

kgv

2017-02-24 13:59

developer  

rendscale_050.png (25,507 bytes)

git

2017-02-24 15:22

administrator   ~0063986

Branch CR28487 has been updated forcibly by kgv.

SHA-1: 15facd943b987a9f484623daca1ae78e0012cc0a

san

2017-02-25 22:46

developer   ~0063995

Branch CR28487 reviewed without remarks, ready for testing.

git

2017-02-26 19:57

administrator   ~0063996

Branch CR28487 has been updated forcibly by kgv.

SHA-1: 47835813afa1d204615f1474ad7da6720a13327b

apv

2017-02-28 17:59

tester   ~0064038

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%]

git

2017-03-20 14:34

administrator   ~0064472

Branch CR28487 has been deleted by inv.

SHA-1: 47835813afa1d204615f1474ad7da6720a13327b

Related Changesets

occt: master 56689b27

2017-02-23 17:50:42

kgv


Committer: bugmaster Details Diff
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

OpenGl_View::blitBuffers() - eliminate compiler warning on Android
Affected Issues
0028487
mod - src/Graphic3d/Graphic3d_RenderingParams.hxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Context.hxx Diff File
mod - src/OpenGl/OpenGl_Structure.cxx Diff File
mod - src/OpenGl/OpenGl_Text.cxx Diff File
mod - src/OpenGl/OpenGl_View_Redraw.cxx Diff File
mod - src/Standard/Standard_TypeDef.hxx Diff File
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx Diff File
add - tests/v3d/glsl/rendscale Diff File

Issue History

Date Modified Username Field Change
2017-02-23 18:31 kgv New Issue
2017-02-23 18:31 kgv Assigned To => kgv
2017-02-23 20:51 git Note Added: 0063980
2017-02-24 12:28 git Note Added: 0063981
2017-02-24 13:57 git Note Added: 0063982
2017-02-24 13:58 kgv Note Added: 0063983
2017-02-24 13:58 kgv Assigned To kgv => san
2017-02-24 13:58 kgv Status new => resolved
2017-02-24 13:58 kgv File Added: rendscale_100.png
2017-02-24 13:59 kgv File Added: rendscale_200.png
2017-02-24 13:59 kgv File Added: rendscale_075.png
2017-02-24 13:59 kgv File Added: rendscale_050.png
2017-02-24 14:06 kgv Steps to Reproduce Updated
2017-02-24 15:22 git Note Added: 0063986
2017-02-25 22:46 san Note Added: 0063995
2017-02-25 22:46 san Assigned To san => bugmaster
2017-02-25 22:46 san Status resolved => reviewed
2017-02-26 19:57 git Note Added: 0063996
2017-02-27 19:16 apv Assigned To bugmaster => apv
2017-02-28 17:08 apv Test case number => v3d glsl rendscale
2017-02-28 17:59 apv Note Added: 0064038
2017-02-28 17:59 apv Assigned To apv => bugmaster
2017-02-28 17:59 apv Status reviewed => tested
2017-03-03 16:25 bugmaster Changeset attached => occt master 56689b27
2017-03-03 16:25 bugmaster Status tested => verified
2017-03-03 16:25 bugmaster Resolution open => fixed
2017-03-20 14:34 git Note Added: 0064472
2017-09-29 16:21 aiv Fixed in Version => 7.2.0
2017-09-29 16:24 aiv Status verified => closed
2018-03-25 12:01 kgv Relationship added related to 0028177