OpenGL T&L

Started by
16 comments, last by QWERTY 21 years, 5 months ago
I see no problem here Yann L. At startup I will check whether vertex programs are supported or not and based on the result I will use standard or my own geometry pipeline. Of course, I have to test if this approach is suitable and will increase the performance.
Advertisement
You could do that. Just one problem: Even a GF2 (or similar) will happily report that it has vertex programs. It will not tell you, that those are software emulated and very slow. Either ask the user (or config file), or do some performance test timing, before just assuming a certain method.
Thanks for your suggestion. I will do a performance test that will decide based on the result which method to use. BTW I didn''t know that vertex programs are emulated on GF2. Why it is so? AFAIK this card supports it in hardware.
quote:
AFAIK this card supports it in hardware.

No, it doesn''t. Vertex programs are HW supported on GF3+
i think with GL_ARB_vertex_program you can check if it fits into your needs (native).. if nvidia is clever they return always false on the gf2.. so you _could_ detect hw..

dunno what they actually do..

"take a look around" - limp bizkit
www.google.com
If that's not the help you're after then you're going to have to explain the problem better than what you have. - joanusdmentia

My Page davepermen.net | My Music on Bandcamp and on Soundcloud

Yeah, it should work using the GL_MAX_PROGRAM_NATIVE_* queries. I have no idea what they return on the GF2, theoretically 0. But I have no card right here that doesn''t support HW VPs, so I can''t test it.

BTW: nVidia''s 1.4 drivers are not beta anymore. Hmm, their Linux drivers are still 1.3, I don''t like that. At least, they now have NT 1.4 drivers.
I think I missed something. What does those NATIVE vertex programs mean and what is the difference between native and non native? Are native vp executed directly by GPU and non native emulated by CPU or am I totaly wrong here? Any help would be appreciated.
You could see it like that, yes. Actually the ARB_vertex_program extension defines a mechanism to query different resource limits of a VP execution environment, as supported by the current implementation. Note that this only refers to a 'higher performance environment' and not explicitely to a hardware implementation. So it is upon the manufacturer to return something useful. Most manufacturers will probably return the resource limits of the hardware, as that would be the most useful interpretation of that feature. But there is no guarantee that this is the case.

From the ARB_vertex_program specs:
Native resource counts will reflect the results of implementation-dependent scheduling and optimization algorithms applied by the GL.
If <pname> is PROGRAM_UNDER_NATIVE_LIMITS_ARB, GetProgramivARB returns 0 if the native resource consumption of the program currently bound to <target> exceeds the number of available resources for any resource type, and 1 otherwise.


Note that this will only work on ARB_vertex_program (OpenGL 1.4 compliant drivers for nVidia cards). NV_vertex_program does not support this feature.

/ Yann

[edited by - Yann L on November 10, 2002 7:05:54 PM]

This topic is closed to new replies.

Advertisement