Hello.
I want to take screenshot from some 3d application. It runs in direct3d mode (supposedly). When I press Print Screen and paste clipboard to mspaint I have screenshot with transparent client area of 3d application. It means I see desktop instead of window content. How can I get correct screenshot?
VirtualBox 4.1.18_OSE r78361
Host: Arch Linux x86_64
Guest: Windows XP SP3
3d acceleration enabled
VirtualBox Guest Additions installed
Thanks.
Transparent windows in 3d apps
Transparent windows in 3d apps
Last edited by NickSt on 25. Jul 2012, 14:34, edited 4 times in total.
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: Transparrent 3d windows
2D/3D acceleration means that some or all of the image is rendered in the VRAM memory on the graphics card. It is then mixed with PC rendered data in order to display on your computer monitor. The data was never inside your PC mainboard RAM and hence can't be captured with an internal "screen grab" (which simply copies the PC's rendering buffer).
Any way around this would require data to be read back from your graphics card, and it would use a software tool supplied by your graphics card mfr. You need to check your graphics card manual, and/or contact the mfr for technical support.
Any way around this would require data to be read back from your graphics card, and it would use a software tool supplied by your graphics card mfr. You need to check your graphics card manual, and/or contact the mfr for technical support.
-
Twisted Lucidity
- Posts: 170
- Joined: 18. Feb 2012, 12:42
- Primary OS: Ubuntu other
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Various GNU/Linux
- Location: Here
- Contact:
Re: Transparrent 3d windows
From what you are saying, you are taking the screenshot from within the guest. Have you tried with the host taking the screenshot of the entire guest window?
One tool I find very useful on Windows for screenshots is "Greenshot".
Not sure if either of these will get around what mpack mentions.
One tool I find very useful on Windows for screenshots is "Greenshot".
Not sure if either of these will get around what mpack mentions.
A new account for an old user.
Re: Transparrent 3d windows
Ok. But usual it is possible to capture screen "with an internal "screen grab" (which simply copies the PC's rendering buffer)" aka PrintScreen. Any way my guest system graphic card is "VirtualBox Graphics Adapter" and mfr is "Oracle Corporation"=) Is it a bug? Should I create the ticket?mpack wrote:2D/3D acceleration means that some or all of the image is rendered in the VRAM memory on the graphics card. It is then mixed with PC rendered data in order to display on your computer monitor. The data was never inside your PC mainboard RAM and hence can't be captured with an internal "screen grab" (which simply copies the PC's rendering buffer).
Any way around this would require data to be read back from your graphics card, and it would use a software tool supplied by your graphics card mfr. You need to check your graphics card manual, and/or contact the mfr for technical support.
I'm taking screenshot from within guest system. Host system takes screenshot of the entire guest window normally, without "transparency".Twisted Lucidity wrote:From what you are saying, you are taking the screenshot from within the guest. Have you tried with the host taking the screenshot of the entire guest window?
"Greenshot" didn't help.
I didn't say that guest system has VirtualBox Extentions.
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: Transparrent 3d windows
That's a given, since 2D/3D acceleration will not work otherwise. Btw it's best to called them by their usual name "Guest Additions", to avoid confusion with the "Extension Pack" which is installed on the host.NickSt wrote:I didn't say that guest system has VirtualBox Extentions.
-
Twisted Lucidity
- Posts: 170
- Joined: 18. Feb 2012, 12:42
- Primary OS: Ubuntu other
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Various GNU/Linux
- Location: Here
- Contact:
Re: Transparrent 3d windows
So...err...doesn't that solve the problem?NickSt wrote:Host system takes screenshot of the entire guest window normally, without "transparency".
A new account for an old user.
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: Transparent windows in 3d apps
I have been using accelerated video overlays (2D acceleration) in my work since around 1998. For most of that time, if you "PrtScn" the host screen then you find the rectangle where the video should go is filled with a solid colour (black, blue or light magenta). Not filled with the video, because the video is being rendered by what is effectively another PC with its own memory. It's possible that some graphics cards support a readback feature, but I've never tried to find it, in IME the OS (which implements PrtScn) didn't seem to know about it.
Re: Transparent windows in 3d apps
Unfortunately doesn't. The main idea is to get screenshots inside VM.Twisted Lucidity wrote:So...err...doesn't that solve the problem?
Anyway it works on windows, wine and vmware. So it seems to be VB driver problem. I'll post a ticket.mpack wrote:I have been using accelerated video overlays (2D acceleration) in my work since around 1998. For most of that time, if you "PrtScn" the host screen then you find the rectangle where the video should go is filled with a solid colour (black, blue or light magenta). Not filled with the video, because the video is being rendered by what is effectively another PC with its own memory. It's possible that some graphics cards support a readback feature, but I've never tried to find it, in IME the OS (which implements PrtScn) didn't seem to know about it.
https://www.virtualbox.org/ticket/10794