You sure? NVidia's own documentation lists support for that as starting with the NV1x series.Xmas said:NVidia had texture crossbar since the Riva TNT.
NVidia had texture crossbar since the Riva TNT.
"ARB_texture_env_crossbar - see explanation"Ostsol said:You sure? NVidia's own documentation lists support for that as starting with the NV1x series.Xmas said:NVidia had texture crossbar since the Riva TNT.
http://www.nvidia.com/dev_content/nvopenglspecs/nvOpenGLspecs.pdf
Well, DirectX8 wasn't available until Nov 2000, and the first hardware supporting that "superior generic solution" was GeForce3, launched Feb 2001 and available months later.Scali said:NVidia had texture crossbar since the Riva TNT.
Which brings us back to the point of vendor-specific code vs generic support.
The ARB solution wasn't available until Feb 2001, by which time Direct3D already offered a superior generic solution (and the hardware itself was also more advanced than register combiners already).
It's usually like that.
Strangely, EXT_texture_env_crossbar is in the extension string, though I don't see it in the registry.Xmas said:You can still use it if you wish to but "ARB_texture_env_crossbar" is never exposed in the extension string. It has been promoted to a core feature with OpenGL 1.3, with the modification that the behavior when a texture is disabled is now undefined.
However, NVidia does support a crossbar in both NV_texture_env_combine4 and NV_register_combiners extensions.
There is no crossbar in FF DX.
People writing code that must support cards below the NV2x class care. Most of these cards are much more capable than you might know, if all you ever used to program them was DX7.Scali said:There is no crossbar in FF DX.
I know, FF has basically been untouched since DX7 anyway. My point was: since DX already had programmable shaders at that time, who cares about FF?
Bleh. Let's look at when you could use the GF3's full potential under DirectX Graphics ... oh, never!Scali said:Now let's look at when there was a generic solution for GF3's shaders in OpenGL... Oh, never!
Since the GF3 was the only card to supports its type of shaders, I'm not sure it matters all that much that there were no ARB extensions for shaders at that time.
People writing code that must support cards below the NV2x class care. Most of these cards are much more capable than you might know, if all you ever used to program them was DX7.
What happened to Radeon 8500, Parhelia
The Radeon 8500 had its own OpenGL extensions for shader support.Scali said:What happened to Radeon 8500, Parhelia, Xabre?
Yes, all ignored by OpenGL, lovely.
We're talking about a time when there was no hardware with programmable shaders available for months to come. In this context you seriously ask who cared about FF?Scali said:There is no crossbar in FF DX.
I know, FF has basically been untouched since DX7 anyway. My point was: since DX already had programmable shaders at that time, who cares about FF? Now let's look at when there was a generic solution for GF3's shaders in OpenGL... Oh, never!
No.Scali said:People writing code that must support cards below the NV2x class care. Most of these cards are much more capable than you might know, if all you ever used to program them was DX7.
Is this where you are going to lecture about vendor-specific register-combiner extensions?
A single FF path means no EMBM on Radeon 7xxx, no DOT3 for Geforce2MX etc, right? Fine.Scali said:I don't care.
I have my hands full writing 1 FF path, 1 ps1.1 and one ps2.0 path.
And if you count all the caps checking and workarounds for missing caps, do you really think "having three rendering paths" is an accurate description of what's going on? How many officially supported paths does Doom3 have again?
This is when you get a lecture on this and its grandpa. I trust you know how to use Delphi3D's online db to check what level of support the ARB version has, and since when? And while your at it, check ARB_texture_env_crossbar as well.
A single FF path means no EMBM on Radeon 7xxx, no DOT3 for Geforce2MX etc, right? Fine.
How many code paths do you suppose you'd end up with in an OpenGL renderer, given your "I don't care" attitude about low end hardware support? I'd say four. Your three paths plus one for R200. Oh the horrors.
If you think another rendering path is 33% more work, then your choice of D3D is just fine. D3D has a lot of advantages, no doubt, but if you kept your "don't care about certain features" (EMBM) attitude, you could also use OpenGL and not care about a lot of extensions.Scali said:And yes, an extra path is 33% more work, so no thanks. If you pay me 33% extra, I'll consider it. Else, stop your silly OpenGL zealotry on me. To me, OpenGL is a waste of time and other resources (having to check on a website to see what extensions are supported where, etc... Here's a nice one for you... I do code OpenGL you know (CAD-related stuff)... and recently I ran into a G450 with no pbuffer support... What do you do then? Same G450 supported render-to-texture and stuff fine in D3D btw. Another reason not to use OpenGL, it simply isn't supported as widely or as well as D3D).