PDA

View Full Version : The Fixed Function Pipeline


Puzzler183
2005.04.13, 02:52 PM
Let's just be honest guys: the fixed function pipeline is dying. Now, with pixel shader 3.0's practically limitless capability, I see the fixed function pipeline going almost unused in the next year or two.

As it stands, I'm writing a dual API engine. Implementing the interface twice is quite a pain. So, my question is, in your opinion, is it worth generically supporting the fixed function pipeline (fog, bumpmapping, etc.) or should I just expect people to do things in shaders?

I lean towards shaders but I'm unclear on the hoardware support for them on Mac's (I see a lot of people running, from a PC perspective, really old Radeon cards).

arekkusu
2005.04.13, 04:50 PM
As long as Apple is shipping hardware with the Radeon 9200 (iBook, Mac mini), you should probably think very carefully about requiring fragment programability. What hardware you decide to support ultimately depends on your product and your expected market.

Puzzler183
2005.04.13, 06:54 PM
Yeah, I decided that I could support basic stuff (read, not using anything more than OpenGL 1.1) without having to change my design so I'd do that. The main issue is that I don't want to get into extensions and multitexturing... Especially with multiple API's to support...

arekkusu
2005.04.14, 02:24 AM
There is a very wide gap between GL 1.1 and pixel shader 3.0. Depending on the hardware you care about supporting, extensions will let you close the gap.

Some functionality exposed by extensions (such as multitexturing, client storage, texture env combine, texture lod bias, etc) is supported by all OS X renderers, so there is no reason not to use it. Most newer extensions are only supported on a subset of the hardware though, and of course that is where it gets tricky deciding what to paths to code.

Puzzler183
2005.04.14, 12:49 PM
Actually, there is a reason not to use it: it will take me a lot of time to support extensions. That's why I'm hesitant. I'll also have to redesign my texturing system to support muiltitexturing... I'll see....