Driver bug with GForce 2 GTS / w98 / IE5 ?

Hi all!

My program is an ActiveX to display some 3D on the web. It’s working and really near the release date.
I’ve noticed the following bug : when launching the plugin for the first time (first IE launch) it’s working perfectly but if I reload the page I got a window clipping problem. The plugin appears to draw itself over the tool bars, menus and buttons and desktop for example if I scroll down the page. It’s like opengl is not doing well its window clipping job when initialized with another window. The DirectX version doesn’t suffer this problem. I don’t get this under w2k. I don’t get this with another non-nvidia based board (well but I get others :slight_smile: )

Any ideas ???

This may be futile, but does your window style (the one with the OpenGL context) have WS_CLIPCHILDREN and WS_CLIPSIBLINGS set?

I know this dosen’t really shed any light on the subject, but I have a hard time believing that it’s OpenGL that’s causing you problems. ActiveX is a messy technology, and making sure your DCs and windows are owned properly is a daunting task. I had some issues with non-gl ocx’s rendering improperly, and usually it had to do with the container not knowing how to properly clip the control.


That’s not futile NeoTuri :slight_smile: but I’ve checked this and yep the control has WS_CLIPCHILDREN and WS_CLIPSIBLINGS set.

I agree lpVoid : ActiveX is a messy technologie…
What make me think of an OpenGL driver problem is that I suppose (but I can be wrong) that SwapBuffers( DeviceContext ) is responsible for windows clipping like the blit in DirectX (working with exactly the same activeX code).

Thanks for your help guys!

Any other ideas???

Have you tried setting your viewport and scissor rectange (and I think you have to enable GL_SCISSOR or GL_SCISSOR_TEST)?

I’ve just tested with GL_SCISSOR_TEST and even the part outside the SCISSOR BOX is draw outside the window (with a king of green-blue color a default color for swapbuffer I presume). ARG !

try changing glViewport() so that it makes the same clipping region as your scissor test box.