Windows Vista

Started by
8 comments, last by simulering 16 years, 10 months ago
I can't get OpenGL to work on Windows Vista. My application works just fine on Windows XP and 2000, but not on Vista. The problem is that the panel used to show OpenGL graphics doesn't show anything. Not even a blank background. It shows whatever occupied that space before my window opened (other programs, desktop). Does anyone have a solution?
Advertisement
Sorry if my question seems dumb, but have you cleared the framebuffer at all? Otherwise it's very logical to find a rendering of the desktop in there, seeing how it's using 3D acceleration and all.

That being said, I'm not a Windows user, so this is only a guess.
Did you check if the same code works on older versions of Windows?

I know there was a bit of a controversy when Microsoft announced Vista wouldn't support OpenGL out of the box, but as far as I know they changed their mind before the release and OpenGL support is now available.
Quote:Original post by Harry Hunt
I know there was a bit of a controversy when Microsoft announced Vista wouldn't support OpenGL out of the box, but as far as I know they changed their mind before the release and OpenGL support is now available.


OpenGL support has been very flaky for me with nVidia's new drivers. Even little things like mixing OpenGL with the windows GUI (like, in the modeling apps I use) doesn't work very well. A few of the OpenGL apps I run crash in the nVidia dll on exit, (including my own code, which doesn't do much of anything, and releases everything properly).

Are you clearing a back buffer and showing it? You should post the relevant code.
According to opengl.org, there is now full support for OpenGL in Vista. Btw I'm using a laptop computer with built-in graphics from Intel, no separate graphics card.

My code looks like this, and works well in XP. (Not quite sure how the clearing of the framebuffer works though.)

// sets the correct rendering contextWGL.wglMakeCurrent(DC,RC);// clear the screenGL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);GL.glLoadIdentity();/*perform all drawing*/// Flush The GL Rendering PipelineGL.glFlush();// Swaps the display buffersWGL.wglSwapBuffers(DC);
Well, there might be your answer. Graphics cards companies have to make the drivers that support OpenGL and DirectX, and even though they've been working alongside Microsoft pre-release, it still takes time to develop drivers for a completely new operating system (especially one that completely redid the WDDM). And you're on a laptop. They're less supported than desktops when it comes to cutting edge.

Of course, it may be something else entirely, but I would try running it on a desktop with Vista, and the latest drivers from nVidia (or ATI, depending on the card) installed. See what happens.
[ search: google ][ programming: msdn | boost | opengl ][ languages: nihongo ]
I had the same problems with my laptop graphics card: An Intel 945 GM. You're probably using drivers downloaded from Intel, right? Try disabling DWM for your application (Right click your app->Compatibility tab->Disable Desktop Composition).

I had several other problems with Intel drivers, and I was only able to solve them by uninstalling the drivers and having "Windows Update" get the latest signed driver for me.

The Intel driver for OpenGL have always been terrible. This is probably a bug in the driver which you'll have to either hack around, or just wait for the fix.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:Original post by Muhammad Haggag
I had the same problems with my laptop graphics card: An Intel 945 GM. You're probably using drivers downloaded from Intel, right? Try disabling DWM for your application (Right click your app->Compatibility tab->Disable Desktop Composition).

I had several other problems with Intel drivers, and I was only able to solve them by uninstalling the drivers and having "Windows Update" get the latest signed driver for me.

I actually had to use the opposite solution. The drivers that Windows Update gave me were hosed to the point that if I tried rotating in World of Warcraft my Intel display driver would crash. One of the other problems I had was that certain images in the game would not show (seems related to the original problem). I downloaded my driver from Intel's site and it works fine now. I'm using these ones (version 15.1 but is also apparently known as version 7.14.10.1187).
I haven't tried to change drivers yet, but disabling the desktop composition worked like a charm. Excellent work Haggag! I'll try the driver things later on as well, to see if I also have some bugs there. Thanks all!

This topic is closed to new replies.

Advertisement