Windowed Voodoo2 possible?

I have a Voodoo 2 card. I read that it doesn’t work in a window…
glGetString(GL_RENDERER) returns “GDI Generic”

Has this been solved, or am I stuck?

// set the pixel format for the DC
ZeroMemory( &pfd, sizeof( pfd ) );
pfd.nSize = sizeof( pfd );
pfd.nVersion = 1;
pfd.dwFlags = PFD_DRAW_TO_WINDOW | 
pfd.iPixelType = PFD_TYPE_RGBA;
pfd.cColorBits = 24;
pfd.cDepthBits = 16;
pfd.iLayerType = PFD_MAIN_PLANE;

I’m not really sure about this, but I think it’s a limitation (not a problem, a limitation) in the hardware itself. In other words, you are more than stuck

This was a big limitation in the Voodoo and Voodoo 2 cards. I don’t know if every card of that generation had it but these did for sure. There was a wierd workaround that someone did where he tricked the card into thinking it took over the screen but it was too confusing, hampered performance and the next generation cards solved it anyway so it never really went mainstream. I’m sorry but I can not remember the name? Anyone?

I dont know the name, but i know that the first Linux mesa driver had this hack. They were copying the frame buffer from the V2 to the first card’s memory and displayed this stuff in a window. I’ve tried it out with V1, but on my system (that was P200) I did not get more than 15 fps (bandwidth problem).

Besides, 3dfx’s opengl drivers really suck. They have many bugs and are optimised for games only.



I’d like to try working in full-screen 800x600 so that openGL is accelerated…

I ran Nehe’s tutorial #8 in full-screen (640x480) and it was software rendered still.

How can I modify it to use hardware acceleration with my Voodoo2?
(What are the essential changes from a standard openGL windowed application?)

3dfx opengl driver isnt the default opengl driver under windows, so you have to load their driver and nop opengl32.dll (3dfxogl.dll i think) or just copy the dll to the program dir and rename it to opengl32.dll


Hmm, I got the Voodoo 2 driver pack from the 3dfx website, but there wasn’t an “3dfxogl.dll”

is “3dfxogl.dll” only for Voodoo 3, and later cards?

I guess Voodoo 2 has glide, but I don’t want my programs to require a Voodoo card.

Maybe it’s time to upgrade, blah…

Fullscreen in max 800x600 is not the only limitation. You must only use 16-bits color/depth for example. There are some more limitations aswell, but I don’t know about them.

But the best solutions is to buy a new card

Lev, it was “3dfxVGL.dll”

I copied and renamed that to “opengl32.dll” like you said, and it worked! Thanks…

It does seem to accept 24 and 32 bit color/depth (the 3dfx specs say it does 16.7m colors)

Still, it’s 800x600 maximum and the silly 3dfx logo pops up for a few seconds, and the program can’t be windowed… Oh well, I guess it will do for now :stuck_out_tongue:

you can turn off the 3dfx logo with an environment variable, dont remember the name though.


Anyone knows that nVidia bought 3dfx in some kind of way?

DjinnKahn, the output of the Voodoo 2 is limited to 16 bit color. And 24 bit RGB textures get dithered down to 16 bit. Not sure about the alpha component though.
And do a search on this board or the beginner’s for that environment variable to disable the logo, I remember posting that info awhile back, but can’t remember what it was now.

From the 3dfx page:

" Dual texture units on the V2 1000 PCI deliver Patented Single Pass, Single Cycle Multi-Texturing for state-of-the-art special effects in an amazing 16.7 million colors."

if the output is 16-bit, then the quote above is misleading… does it mean only internal processing is 24-bit?

And thanks, i’ll have to look that variable up…

Yes, that 24 bits is all internal, and it is misleading.