OpenGL for Windows

Where can I download OpenGL for Windows?
OpenGL libraries which are in Visual C++ are very slow,slower than Direct3D

Try the downloads section on the main opengl.org site.

There can be two reasons why your programs run slow. Either your video card driver’s OpenGL implementation is a poor one, or you need to look at your program and optimise it.

There is only one version of the OpenGL libraries for Windows (two if you count the SGI implementation) so downloading new copies of the library won’t help.

If the problem is with the driver, you have to go to either your video card company’s website or the chipset manufacturer’s website and download a new driver. For example with my Asus V7700 I could download new drivers from Asus or nVidia.

Generally I’d expect similar performance from the equivalent Direct3D and OpenGL programs under most companies newest drivers. If there is a difference, I’d guess it’s in your program. One thing you may find is you aren’t getting hardware acceleration in your program due to your rendering context. I’m no Windows expert so someone else will have to help with that. Maybe provide some more information on what you are actually doing in your program.

Hope that helps.

1.My video card is GeForce2 MX.For example,Quake II is very fast on it.
2.Im rendering few SIMPLE polygons with OpenGL - 90-100 fps.Im rendering few TEXTURED polygons with Direct3D - 150-200 fps.

Or i invalid use hardware rendering.To do it,i should set the PFD_NEED_ACCELERATED flag in the PIXELFORMATDESCRIPTOR structure,shouldn’t i?

First of all, 90-100 fps is far from “very” slow. You are almost certainly not using software rendering if that’s what you’re getting. What is the refresh rate of your monitor set at? If you want to see higher numbers you should turn off vsync. Since you are using a GeForce card, I’d recommend getting the Detonator drivers from http://www.nvidia.com. There is an option in the drivers to disable vsync, which basically makes OpenGL not wait until the start of a screen refresh to draw, when it you have vsync disabled.

[This message has been edited by Deiussum (edited 06-12-2001).]

what kind of video card do you have?

and some times textured polygons run faster than non textured depending on the hardware
it is just such on the ATI 32 DDR i have,i get higher fps with textured polys.

are you optimizing the GL code?
are you optimizing the DX code?

Ok.Few textured OpenGL polygons - 85-90 fps.I dont optymize neither OpenGL,nor Direct3D.I dont think that its my videocard because Quake III works fast with the higher graphics options.

Is it valid to turn on hardware rendering?
void SetOGLFormat(HDC hdc)
{
PIXELFORMATDESCRIPTOR pfd={sizeof(pfd),
1,PFD_DRAW_TO_WINDOW| PFD_SUPPORT_OPENGL|PFD_DOUBLEBUFFER| PFD_GENERIC_ACCELERATED,
PFD_TYPE_RGBA,
24,
0,0,0,0,0,0,
0,0,
0,0,0,0,0,
32,
0,
0,
PFD_MAIN_PLANE,
0,
0,0,0};
pfd.cDepthBits=32;
int iFormat;
iFormat=ChoosePixelFormat(hdc,&pfd);
SetPixelFormat(hdc,iFormat,&pfd);
DescribePixelFormat(hdc,iFormat,sizeof(pfd),&pfd);
hGlrc=wglCreateContext(hdc);

}

GeForce cards don’t support a 24-bit color buffer. Choose either 16 or 32 bit.

Also, I’m not sure you want PFD_GENERIC_ACCELERATED in your flags. I don’t add it to my flags and I get acceleration (with nVidia extensions). I specify the following:

PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER

Thanks.But the main question:can OpenGL work as quickly as Direct3D?

It can work just as fast and faster in many cases (especially with nvidia hardware.) I have a GeForce1 and there is a pretty significant increase in framerate when I play Half-life using OpenGL rather than Direct3D.