Problems with Voodoo 5

Ok, some of you might think now: “Who does still use a Voodoo???”.
Well, a friend of mine does.

I have an app, that runs with over 200 FPS on my Geforce 2. On a Voodoo 5 it runs with around 1 FPS. However i would like the program to be able to run on Voodoo cards, too.
If i remember correctly, one has to load a special Voodoo-OpenGL-driver dll, or so. However i really don´t know which one, i don´t know how exactly to load it (LoadLibrary ??) and, a big problem, i don´t know how to find out, if the gfx card is a Voodoo.

So is there anyone, who uses a Voodoo and OpenGL who might be able to help me?
I would really appreciate it.

Jan.

Assuming that the Voodoo has the last drivers installed, the V5 does come with an OpenGL ICD - no unusual effort involved in running OpenGL applications on this card… well, aside from Voodoo5 quirks.

Drivers can still be found at www.voodoofiles.com.

If the driver is not the problem, then you’re probably hitting any one of the numerous limitations for the card. There are full software paths for a number of interesting conditions. Also remember that it’s all software transform and lighting with the V5.

Good luck,
– Jeff

So i don´t have to do anything but it should work on a Voodoo 5?

That´s a bit strange, cause i don´t use many extensions (wglAllocateMemoryNV) and i have only 900 Triangles, so T&L should not be necessary.

However thanks for the information.

Jan.

Jan2000:
Do you use Display List?
(I got a problem like that 1FPS and less) See Thread glCallList & FullScreen Sloooow few time ago.

I’ve a similar problem with voodoo3 & 4.
Take a look on that thread if you want.
If you use display list, try to do without.
And let see if it runs fine.

It’s Just an idea about your problem,I don’t know if it’s that.

Might Help you

-Antorian and its voodoo nigthmare-

Maybe you can try to compare your results with my benchmark?
http://www.fl-tw.com/opengl/GeomBench/index.htm

There is a chart with a Vaudoo5, display lists seem to run fine (ie. faster than vertex arrays or immediate mode). I’d say you’re not getting an hardware accelerated pixel format. Can you post your pixel format setup ?

Y.

My PFD is:
{

PIXELFORMATDESCRIPTOR pfd=
{sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL|PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA,
16,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
16,
0,
0,
PFD_MAIN_PLANE,
0,
0,
0,
0};
pfd.cDepthBits = (unsigned char)bits;

}

Ysaneya
I’v tryed your benchmark and I got 40 FPS at max on Voodoo3 Duron800, and less than 2 FPS on several test.

I don´t have much time right now, but i will run your benchmark this evening and i will give it to my friend to test it on his Voodoo.

I don´t use any display lists i only use Vertex Arrays (wglAllocateMemoryNV) and a bit of immidiate mode. I get my pixelformat the way NeHe does it (and several books). I don´t use lighting, fog, depth-testing, stencil buffers, blending, multitexturing or anything else. I really only draw 900 textured Triangles (a maximum of 900, if i don´t use bfc and vf-culling).
Later, when i have time, i can post the pixelformat stuff.

However i though, that maybe this one function wglAllocateMemoryNV could be a problem, because it´s NVidia stuff. Could this be possible? I tested it on a Radeon and it worked fine.

I have to go now. Thanks for your suggestions.

Jan.

Originally posted by Jan2000:
However i though, that maybe this one function wglAllocateMemoryNV could be a problem, because it´s NVidia stuff. Could this be possible? I tested it on a Radeon and it worked fine.

wglAllocateMemoryNV() only works on hardware that supports GL_NV_VERTEX_ARRAY_RANGE or GL_NV_PIXEL_DATA_RANGE extensions. if you try to get a pointer to that func from a Voodoo driver you will get a NULL pointer. trying to call a funtion on that NULL pointer will crash your program, probably.

i would be surprised if Radeon supported wglAllocateMemoryNV()… it is nVIDIA only. people complain about that all the time. are u sure u didn’t do something wrong? how do you get the function pointer?

Sorry, i didn´t think properly.
Of course my program tries to initialize the used extensions. If it is not possible to get a pointer to wglAllocateMemoryNV it uses standard system-memory. Therefore it doesn´t crash.
However this means, that it won´t be a problem on Voodoos either. Hmm, now i really don´t know where the problem might be.

Jan.