Vista Forums
Vista Forums Home Join Vista Forums Donate Vista Tutorials Store Tags

Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems. Whether you need help or just want to post an idea you have on Vista, this is the forum for you.
Register at Vista forums...the world biggest Windows Vista resource Join Vista Forums

Go Back   Vista Forums > Vista technology newsgroups > Aero

DWM features in Vista

Reply
 
Thread Tools Display Modes
Old 06-16-2006   #1 (permalink)
Chris Hill
Guest
 
Posts: n/a

DWM features in Vista

I'm looking for more information about the DWM and associated
technologies. I looked in dwmapi.h and the SDK documentation for
those APIs, but I guess I was expecting more functionality than I am
seeing there. It seems like the features exposed are specifically
related to Microsoft needs (like glass) and Alt+Tab, but that there
isn't much beyond that in terms of generically producing information
for or consuming information from the DWM.

For example:
Can windowed Direct 3D and/or OpenGL rendering be composited with the
desktop using the alpha channel generated using those APIs?

Could I implement my own variant of Flip 3D or is that using private
APIs?

It may be that there just isn't any more functionality that is
publically exposed currently, but I wanted to verify that and make
sure I'm not looking in the wrong place.

Thanks,

Chris
  Reply With Quote

Old 06-19-2006   #2 (permalink)
Pablo Fernicola [MS]
Guest
 
Posts: n/a

Re: DWM features in Vista

An excellent source of information on the DWM is Greg Schechter's blog at
http://blogs.msdn.com/greg_schechter/default.aspx

> Can windowed Direct 3D and/or OpenGL rendering be composited with the
> desktop using the alpha channel generated using those APIs?


Yes, that would happen automatically.

> Could I implement my own variant of Flip 3D or is that using private
> APIs?


You can't replace the behavior in the desktop, but you can write your own
application to do something with the thumbnails of running applications,
like Flip3D.

-Pablo

"Chris Hill" <Chris244@aol.com> wrote in message
news:44936f62.1676852226@msnews.microsoft.com...
> I'm looking for more information about the DWM and associated
> technologies. I looked in dwmapi.h and the SDK documentation for
> those APIs, but I guess I was expecting more functionality than I am
> seeing there. It seems like the features exposed are specifically
> related to Microsoft needs (like glass) and Alt+Tab, but that there
> isn't much beyond that in terms of generically producing information
> for or consuming information from the DWM.
>
> For example:
> Can windowed Direct 3D and/or OpenGL rendering be composited with the
> desktop using the alpha channel generated using those APIs?
>
> Could I implement my own variant of Flip 3D or is that using private
> APIs?
>
> It may be that there just isn't any more functionality that is
> publically exposed currently, but I wanted to verify that and make
> sure I'm not looking in the wrong place.
>
> Thanks,
>
> Chris



  Reply With Quote
Old 06-19-2006   #3 (permalink)
Chris Hill
Guest
 
Posts: n/a

Re: DWM features in Vista

On Sun, 18 Jun 2006 23:07:37 -0700, "Pablo Fernicola [MS]"
<pablo@fernicola.org> wrote:

>An excellent source of information on the DWM is Greg Schechter's blog at
>http://blogs.msdn.com/greg_schechter/default.aspx


Thanks, there is a bunch of good information there. I hope this sort
of conceptual overview information makes it to the docs at some point.

>> Can windowed Direct 3D and/or OpenGL rendering be composited with the
>> desktop using the alpha channel generated using those APIs?

>
>Yes, that would happen automatically.


Excellent. I'll write a Direct3D app to test this. You're saying I
don't need to call any API to make this happen, the client area of my
window will automatically be composited with the desktop if I am using
an alpha enabled buffer format?

I'm using Beta 2 x64 if that makes a difference.

>> Could I implement my own variant of Flip 3D or is that using private
>> APIs?

>
>You can't replace the behavior in the desktop, but you can write your own
>application to do something with the thumbnails of running applications,
>like Flip3D.
>
>-Pablo


How can I get the thumbnails? I didn't see an API to do this. I can
have the DWM paint a 2D thumbnail at a cetain location within a given
window for me (like Alt+Tab does), but I don't see a way to get the
raw data so that I can do my own 3D rendering with it.

Thanks,

Chris

>"Chris Hill" <Chris244@aol.com> wrote in message
>news:44936f62.1676852226@msnews.microsoft.com...
>> I'm looking for more information about the DWM and associated
>> technologies. I looked in dwmapi.h and the SDK documentation for
>> those APIs, but I guess I was expecting more functionality than I am
>> seeing there. It seems like the features exposed are specifically
>> related to Microsoft needs (like glass) and Alt+Tab, but that there
>> isn't much beyond that in terms of generically producing information
>> for or consuming information from the DWM.
>>
>> For example:
>> Can windowed Direct 3D and/or OpenGL rendering be composited with the
>> desktop using the alpha channel generated using those APIs?
>>
>> Could I implement my own variant of Flip 3D or is that using private
>> APIs?
>>
>> It may be that there just isn't any more functionality that is
>> publically exposed currently, but I wanted to verify that and make
>> sure I'm not looking in the wrong place.
>>
>> Thanks,
>>
>> Chris

>
>


  Reply With Quote
Old 06-19-2006   #4 (permalink)
Chris Hill
Guest
 
Posts: n/a

Re: DWM features in Vista

On Mon, 19 Jun 2006 14:09:07 GMT, Chris244@aol.com (Chris Hill) wrote:
>>> Can windowed Direct 3D and/or OpenGL rendering be composited with the
>>> desktop using the alpha channel generated using those APIs?

>>
>>Yes, that would happen automatically.

>
>Excellent. I'll write a Direct3D app to test this. You're saying I
>don't need to call any API to make this happen, the client area of my
>window will automatically be composited with the desktop if I am using
>an alpha enabled buffer format?


I tried it an it didn't work. Do I need to use a particular version
of Direct3D or make a special D3D call? Is there a flag I need to set
on the window or an API call I need to make so that Direct3D knows
that I want it to composite with the desktop? I thought there might
be some special setup required, but I haven't been able to find any
documentation about the subject.

The blog entry seems to indicate that DirectX will handle the
communication with the DWM to configure a shared surface (and that I
don't need to do anything special to get a shared surface).

Is there a sample available of a desktop compositing Direct3D
application?

Chris
  Reply With Quote
Old 06-20-2006   #5 (permalink)
Pablo Fernicola [MS]
Guest
 
Posts: n/a

Re: DWM features in Vista

Any application running on Windows Vista, with DWM/Aero enabled, is
composited, without the application having to make any calls. You don't
have to select any special formats.

You will notice that the application gets the glass looking borders, has
live previews in Alt-Tab and taskbar thumbnails, and its contents show up in
Flip3D. This is indeed done by using a shared surface, between Direct3D and
the DWM.

Perhaps you were after having the application content "blended" with the
desktop's background, like windowless controls? If that was the feature you
were after, that is not something that is enabled by the DWM.

-Pablo


"Chris Hill" <Chris244@aol.com> wrote in message
news:44977056.1939240651@msnews.microsoft.com...
> On Mon, 19 Jun 2006 14:09:07 GMT, Chris244@aol.com (Chris Hill) wrote:
>>>> Can windowed Direct 3D and/or OpenGL rendering be composited with the
>>>> desktop using the alpha channel generated using those APIs?
>>>
>>>Yes, that would happen automatically.

>>
>>Excellent. I'll write a Direct3D app to test this. You're saying I
>>don't need to call any API to make this happen, the client area of my
>>window will automatically be composited with the desktop if I am using
>>an alpha enabled buffer format?

>
> I tried it an it didn't work. Do I need to use a particular version
> of Direct3D or make a special D3D call? Is there a flag I need to set
> on the window or an API call I need to make so that Direct3D knows
> that I want it to composite with the desktop? I thought there might
> be some special setup required, but I haven't been able to find any
> documentation about the subject.
>
> The blog entry seems to indicate that DirectX will handle the
> communication with the DWM to configure a shared surface (and that I
> don't need to do anything special to get a shared surface).
>
> Is there a sample available of a desktop compositing Direct3D
> application?
>
> Chris



  Reply With Quote
Old 06-20-2006   #6 (permalink)
Chris Hill
Guest
 
Posts: n/a

Re: DWM features in Vista

On Tue, 20 Jun 2006 06:52:41 -0700, "Pablo Fernicola [MS]"
<pablo@fernicola.org> wrote:
>You will notice that the application gets the glass looking borders, has
>live previews in Alt-Tab and taskbar thumbnails, and its contents show up in
>Flip3D. This is indeed done by using a shared surface, between Direct3D and
>the DWM.


With my user's hat on, I have observed the non-client area glass
styling and shadows as well as Alt+Tab and Flip3D.

With my developer's hat on, I have seen references to shared surfaces
being used by the DWM and noted that there is an updated version of
Direct3D 9 to support them. Is there any way that an application that
I write can access the DWM owned shared surfaces in the same way that
Flip3D does? (Actually I am interested in either consuming or
producing them)

>Perhaps you were after having the application content "blended" with the
>desktop's background, like windowless controls? If that was the feature you
>were after, that is not something that is enabled by the DWM.


Yes, that's correct, I am asking about blending application content
with the desktop. There are DWM APIs to extend the glass effect into
the client area of a window. I'm assuming the Win32 user functions
UpdateLayeredWindow and SetLayeredWindowAttributes (which do support
blending the application content) were reimplemented to use the DWM,
and they work very well. Given that this level of support exists, I
am surprised that there doesn't appear to be a simple flag to enable
to make a window (including the client area) simply blend with the
desktop. This would be very handy for a floating object window with
3D content for instance.

I'm somewhat disappointed that this functionality isn't exposed.

Thanks,

Chris
  Reply With Quote
 
Reply

Thread Tools
Display Modes









Vistax64.com is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media 2005-2008

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46