Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029753Community[OCCT] OCCT:Visualizationpublic2018-05-11 03:502020-08-28 14:35
ReporterVico Liang 
Assigned Tokgv 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.6.0*Fixed in Version 
Summary0029753: Visualization - Virtual Aspect_Window should also consider position(x, y) besides size (length, width)
DescriptionTo reproduce this issue, we use class AndroidQt_Window in sample AndroidQt, and call method SetVirtual(Standard_True) to make it a Virtual window. and also the position(x,y) and size(width, height) are set to make the virtual window centered on the screen device, e.g. the width = screenWidth/2, height = screenHeight/2. But the result is that the rendering area is not obey the virtual windows. it start location is still on the left-lower corner, its width and height do obey the rules but it doesn't consider the position inside virtual window. so i think it might be a bug of TKOpenGL.
TagsNo tags attached.
Test case number
Attached Files

- Relationships

-  Notes
kgv (developer)
2018-05-11 09:53
edited on: 2018-05-11 09:54

What you are looking for is an option defining a sub-region within a window viewport. Aspect_Window defines two properties - window size and position on the screen, but both properties are designed to reflect window placement on the screen, and rendering viewport is just expected to cover entire window.

Therefore, existing window placement API cannot be used to specify a window sub-region, because in general case both should be considered - new API should be introduced instead.

Implementation should consider the following issues:
- Introduction of a new API defining a viewport (x, y offset and width, height) within window.
- Updating OpenGl to restrict rendering into specified viewport (e.g. use glViewport() with non-zero offset, handle projection matrix properly, handle tiled rendering properly, handle transformation persistence properly, handle sized of off-screen frame buffers, etc.) and V3d/AIS (to compute proper aspect ratio for Graphic3d_Camera, handle MoveTo/Select properly).
- Define and implement a strategy for clearing the full window viewport (e.g. handling regions outside View viewport) and for rendering multiple Views within single Window.

As you can see, this is not that trivial, as it may look at first glance - there are a lot of details to be considered just at TKOpenGl level even in the simplest case.

Vico Liang (developer)
2018-05-12 09:38

Dear kgv, thank you for detailed analyzing, you're right, it's not a trivial task. it's really a cool feature in my opinion though its priority may not be high.

- Issue History
Date Modified Username Field Change
2018-05-11 03:50 Vico Liang New Issue
2018-05-11 03:50 Vico Liang Assigned To => kgv
2018-05-11 09:53 kgv Note Added: 0075936
2018-05-11 09:54 kgv Note Edited: 0075936 View Revisions
2018-05-11 10:30 kgv Severity minor => feature
2018-05-11 10:30 kgv Summary Virtual Aspect_Window should also consider position(x, y) besides size (length, width) => Visualization - Virtual Aspect_Window should also consider position(x, y) besides size (length, width)
2018-05-12 09:38 Vico Liang Note Added: 0075948
2019-09-04 15:43 abv Target Version 7.4.0 => 7.5.0
2020-08-28 14:35 kgv Target Version 7.5.0 => 7.6.0*

Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker