Gf2 does vertex programs?

Anim8or app reports my gf2 drivers support opengl 1.2.2 Out of curiosity I’m wondering if vertex programs and 3D textures are done in hardware on my gf2. Can someone confirm this? Thanks.

Need to add I’m on win98 with NV 12.41 gf2 drivers. I thought vertex programs were gf3/4/r8500 exclusive?

3D texture - no, it needs gf3 and up or Radeon
Try to run a demo that uses one.

vertex programs is just strings that are converted into commands and Im guessing the conversion is done by driver on all flavors of cards.

PS: The latest driver is 28.40, unless they updated again. Those bastards!

V-man

Thanks v-man for the info. I’m happy with 12.41 drivers on my gf2. I think any higher drivers are for gf3/4. If something goes bonkers I’ll update to newest drivers.

The only hardware the supports GL_NV_vertex_program in hardware is the geforce 3 and 4Ti. You can use vertex programs on a geforce 1 or 2, BUT, they are done in software. Meaning the CPU executes the code instead of the GPU. It runs quite fast on the CPU though.

-SirKnight

Oh, okey So, what I’m getting is that having that extension does not automatically make that feature avail. on hardware. Right? Something like dx8.1 vertex shaders which can also be executed on cpu when querying hw for that feature fails. Ok that makes sense. Thanks all for the info.

If you go to nvidia’s developer site and download their OpenGL extensions pdf, there is a big chart at the front of it that says what is hardware accelerated on what card.

If you have new drivers, I believe that ANY of their extensions will work on ANY of their cards, though it won’t necessarily be hardware accelerated.

– Zeno

RE: Vertex programs running on the CPU.
In d3d you can bypass the t&l engine on the GPU by specifying a particular vertex format (pre-transformed, pre-lit). I expect nvidia, when executing vertex programs on the CPU (for geforce2 and below), have some way of disabling the t&l engine? If not, then the vertex will get transformed twice, once on the CPU in the vertex program, and again (probably by identity) on the GPU.
Now, if the opengl driver has the ability to disable the t&l engine on the card, then why not expose this ability in a gl extension? We could then get better vertex throughput for stuff we don’t want transforming…

actually this is called GL_EXT_window_coord or something like this, you can find it in the registry. its just not supported (yet?) by nvidia… i wait for this string in the drivers since some while now…

Originally posted by Zeno:

If you have new drivers, I believe that ANY of their extensions will work on ANY of their cards, though it won’t necessarily be hardware accelerated.

Many many extensions are not exposed by the drivers, with my GeForce256: I can’t use NV_texture_shader, nor NV_occlusion_query, nor HP_occlusion_test, nor …(fill in there)…

It would be great if those extensions were available, even if software emulated (so I could code for gf3/gf4 on my gf256 :stuck_out_tongue: ) I don’t understand, for instance, why NV_vertex_program is available (CPU emulated) but NV_texture_shader is not !??

Julien.

one is emulatable in useful speed, the other not. you can enable them by forcing the emulator, but normally they arent because no one wants to play a simple demo with one quad in textureshaders running at 1/10 to 1/60 fps (means up to 1min per frame)

Vertex programs can be emulated reasonably well in software because they deal with vertices - not a huge task.
But texture shaders deal with the rasterisation of the polygons themselves - it’s laughable to consider doing that in software these days !

Originally posted by deepmind:
[b] Many many extensions are not exposed by the drivers, with my GeForce256: I can’t use NV_texture_shader, nor NV_occlusion_query, nor HP_occlusion_test, nor …(fill in there)…

It would be great if those extensions were available, even if software emulated (so I could code for gf3/gf4 on my gf256 :stuck_out_tongue: ) I don’t understand, for instance, why NV_vertex_program is available (CPU emulated) but NV_texture_shader is not !??

Julien. [/b]

By default they aren’t exposed but the driver has the software code inside it.

You need to hack the registry to enable emulation.

Search for the string OGL_
That will give you folders where opengl relevent keys are placed by the NV.
Add the string OGL_NV20Emulate
(binary value)
if( 00 00 00 00)
no emulation
if( 01 00 00 00) or ( 00 00 00 01) or (perhaps any non zero number)
emulation is on

call glGetString(GL_RENDERER) to see the new string.

V-man

Vertex programs are compiled to CPU instructions (and turn off HT&L) when you use them on GF1 or GF2. They are supported in hardware on GF3 (at least as long as you stay within hardware limits; dunno if it falls back to software for some circumstances).

V-Man…ok In windoze you maybe can force the emulation.
But what about Linux ?