PDA

View Full Version : GL_ARB_fragment_program NOT on GF3 ?? (@NVIDIA:why this?impossible??????)



DJSnow
01-29-2003, 12:27 AM
Hello.

has anyone encountered a way to use GL_ARB_fragment_program on a Geforce3-based graphic-card ?

(@nvidia: i'm not understanding why it's not impossible to get this extension running on GF3-hardware ! your ****ty GL_NV_<shadeblablablawhatyouwant> is also working !!! http://www.opengl.org/discussion_boards/ubb/mad.gif )

DopeFish
01-29-2003, 12:35 AM
The GeForce3 simply cannot run the extension in hardware. There is no way youll be able to get it to neither, the card simply isnt advanced enough.

You can emulate it on the CPU though, but as we know, CPU emulation of OpenGL is very slow.

vincoof
01-29-2003, 02:13 AM
ARB_fragment_program is the latest, most advanced, ARB extension ever written.
I'm not surprised that a 1-year old hardware does not support it. 3D grows very fast these days.

BTW, Radeon8500 cards do not support ARB_fragment_program either, and they were released after GF3.

Though, the GF3 can still perform awesome per-fragment effects thanks to register combiners and texture shaders.

Ysaneya
01-29-2003, 04:06 AM
GF3/GF4 hardware cannot run ARB_fragment_program because their pixel shaders are (no other words come to my mind) a bunch of tricks with lots of limitations.

The Radeon 8500 shading capabilities are much better, less tricky and more similar to what you'd expect from a true shading language, but there's still some limitations.

ARB_fragment_program is the more advanced of the 3. It has an extended instruction set and less restrictions.

Compare the specifications to convince yourself.

Y.

DJSnow
01-29-2003, 06:49 AM
Ok, your tech.-arguments convinced me;
it seems that i have to buy a new graphic card...

Uppon that,
i have tried to use this "thanks nvidia for another great"-tool program called "NV30Emulate" - but even if i activate "force software rasterization", the initialization of GL_ABR_fragment_program fails - AND my running GL_ARB_vertex_program won't work, too !
(as you know GL_ARB_vertex_program _does_ work on GF3 hardware)
I thought that this driver will emulate an NV30 ??

Ostsol
01-29-2003, 07:19 AM
Perhaps you have to use Cg for the emulation to work? *shrugs*

Tom Nuydens
01-29-2003, 07:28 AM
Cg has nothing to do with it. I've succesfully used GL_ARB_fragment_program using the NV30emulate tool. I didn't check the "Force SW rasterization" option, though -- what happens if you leave that off?

-- Tom

jwatte
01-29-2003, 07:48 AM
forceSW is a different option than the NV30Emulate option.

vincoof
01-29-2003, 09:29 AM
i have tried to use this "thanks nvidia for another great"-tool program called "NV30Emulate" - but even if i activate "force software rasterization", the initialization of GL_ABR_fragment_program fails - AND my running GL_ARB_vertex_program won't work, too !
What do you mean by "does not work" ? Does your application freeze ?
If software rasterizer is enabled, expect VERY BAD performance. So, sometimes you could think "it's not working" but in fact it's just "so damn slow that I'm never patient enough to wait for the end".

Also, if software rasterizer is enabled, you're not certain anymore that the vertex program will be executed in the hardware even if your GF3 could do it. That's what the "force software" words mean.

rgpc
01-29-2003, 03:17 PM
Originally posted by Ysaneya:
Compare the specifications to convince yourself.

Y.

What! You mean RTFM! Never!

:P

DJSnow
01-30-2003, 12:24 AM
@vincoof:
no, it doesn't free - my application breaks the initialization process because the extensions can't be found ! But: the extension-initialization of GL_ARB_vertex_program run's without NVEmulate fine, for example.


@Tom Nuydens:
>>what happens if you leave that off?
nothing - the same: the extension i wan't to use is not supported, my application-initialization function tells me !


@jawatte:
this doesn't matter - it won't work, no matter which option is enabled. http://www.opengl.org/discussion_boards/ubb/frown.gif
My program tells me, that the extension-string doesn't contain the name of the requested extension.

Joel
01-30-2003, 01:01 AM
The emulation will work only with _very_ recent drivers. Don't remember which ones but it is specified on nvidia's site.
From memories i think the vendor string will change if the emulation is activated (really not sure of what i'm saying there).

Edit : a non-sense http://www.opengl.org/discussion_boards/ubb/smile.gif

[This message has been edited by Joel (edited 01-30-2003).]

V-man
01-30-2003, 06:15 AM
Yup, you need the latest (and I think it is still leaked drivers).
42.01

AND you have to enable NV30 emulation.

Hopefully that will work alright for you. I have noticed a bug with NV30 emulation myself but not having to do with fp.

PS: You'll be getting a 0.1 or 0.01 FPS. Have fun!

zeckensack
01-30-2003, 09:57 AM
Originally posted by DJSnow:
@vincoof:
no, it doesn't free - my application breaks the initialization process because the extensions can't be found !Are you sure you didn't fall in the 'copy the extension string to a fixed size buffer' trap?

AFAIK the NV30 extension string exceeds 2048 characters.
On a funny side note, Vulpine Vision made an announcement about making their engine 'ready for NV30' - which basically meant they were stupid enough to assume an extension string shorter than 2048 characters and had to fix it ... *cough*

So you wouldn't be the first one to have made the mistake http://www.opengl.org/discussion_boards/ubb/wink.gif

rgpc
01-30-2003, 08:17 PM
Originally posted by V-man:
Yup, you need the latest (and I think it is still leaked drivers).
42.01

AFAIK 40.72 has it and it's not "leaked".

DJSnow
01-31-2003, 04:25 AM
@zeckensack:

no, this is not my trap; the buffer is dynamically allocated at the point my program finds out the length of the extension string.


@rpgc:
mmh, i'm running on 41.09 @ WinXP SP1.


@all:
i think to solve this, the best thing i could do, is to buy a "GL_ARB_fragment_program"-hardware-capable graphic card, like the Radeon9700pro - i think this would resolve all problems. what do you think ?

vincoof
01-31-2003, 07:01 AM
Being a bad guy, I tend to say that ATI drivers would not allow you to fully experience the power of fragment programs without being sure if a program problem is your fault or ATI's. Apart from that detail, ATI Radeon9700Pro is obviously the only current solution for hardware-accelerated fragment programs.

DJSnow
01-31-2003, 07:49 AM
@vincoof:

yes, i have heard that several times in some discussion forums - uppon that seems it that the graphicdrivers from ATI are not as good as the ones from nVidia ?

davepermen
01-31-2003, 08:09 AM
@vincoof:
you do own a radeon yourself? i don't have _ANY_ problems with it. the drivers work great. sure, there _are_ bugs, but ask nutty about bugs in nvidia drivers in newer extensions.. they always have as well.. (vertex program was great till it worked http://www.opengl.org/discussion_boards/ubb/biggrin.gif funky stuff going on http://www.opengl.org/discussion_boards/ubb/biggrin.gif)

vincoof
01-31-2003, 08:45 AM
@davepermen:
No I don't own an ATI Radeon, I own two http://www.opengl.org/discussion_boards/ubb/smile.gif
I don't really care about bugs on hottest-latest-nicest extensions. I discover a new vertex program bug almost every month but I can accept that. What bothers me is that some OpenGL1.0 features still are not correctly supported.
No offence intended. ATI developers are doing a better work everytime, but still I think they're lower than NVIDIA.