Transparent windows in 3d apps

This is for discussing general topics about how to use VirtualBox.
Post Reply
NickSt
Posts: 3
Joined: 25. Jul 2012, 08:35

Transparent windows in 3d apps

Post by NickSt »

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.
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

Post by mpack »

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.
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

Post by Twisted Lucidity »

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.
A new account for an old user.
NickSt
Posts: 3
Joined: 25. Jul 2012, 08:35

Re: Transparrent 3d windows

Post by NickSt »

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.
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?
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?
I'm taking screenshot from within guest system. Host system takes screenshot of the entire guest window normally, without "transparency".
"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

Post by mpack »

NickSt wrote:I didn't say that guest system has VirtualBox Extentions.
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.
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

Post by Twisted Lucidity »

NickSt wrote:Host system takes screenshot of the entire guest window normally, without "transparency".
So...err...doesn't that solve the problem?
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

Post by mpack »

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.
NickSt
Posts: 3
Joined: 25. Jul 2012, 08:35

Re: Transparent windows in 3d apps

Post by NickSt »

Twisted Lucidity wrote:So...err...doesn't that solve the problem?
Unfortunately doesn't. The main idea is to get screenshots inside VM.
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.
Anyway it works on windows, wine and vmware. So it seems to be VB driver problem. I'll post a ticket.
https://www.virtualbox.org/ticket/10794
Post Reply