Archive: how does it work?


12th July 2005 19:45 UTC

how does it work?
how does the overlay mode work in avs? im trying to do the same in vb but i can just make it draw over the icons not under??


13th July 2005 17:20 UTC

duh? are you asking the internal working of the overlay mode or what?


14th July 2005 15:15 UTC

im just asking how does it work is it a api is it direct x or is it some thing else just a short description of what AVS does to paint under the icons


14th July 2005 16:47 UTC

Overlay mode sets your wallpaper to a certain color (if you select that), then 'pastes' the information in the AVS window over that color.


15th July 2005 13:55 UTC

aha tnx got some understading now of how it works


15th July 2005 15:10 UTC

Yeah, you basicly select a color of your choice and overlay mode "paints" the current AVS window to every color of that particular choice (even in the avs window itself, but that doesn't create any "infinite loop" effect). The current windowed mode resolution is used for the overlay and then streched for your current resolution.


18th July 2005 12:26 UTC

You want to look on msdn it has all the answers.

The easy answer is you want to use OpenGL or DirectX as both have functionality for rendering on top of their existing functionality. I also assume there is a lower level API available which may be tidier to use... but without function names I cant really help with that.

Since I hate DirectX for various reasons I dont know much about the DX implementation. Under OpenGL however, rendering to the overlay is pretty simple tho, you just have to specify it in the PIXELFORMATDESCRIPTOR struct you assign to your drawing surface and use a different wgl function (wglCreateLayerContext) to get your render context.

There are plenty of details on places like msdn and in the OpenGL specification for instance.

Good luck doing it in VB, the lack of pointers makes a lot of API work quite frustrating. I'd recommend getting the c++ opengl headers and writing a small VB program or SQL statement to convert the function defininitions to VB Declare statements and the #defines to Public Const... etc.