Future Of FFP Effects?

Posted By: Grafton

Future Of FFP Effects? - 11/03/05 04:41

I have heard that shaders are the future and that ffp will me obsolete with
DirectX 10, does this mean not supported? Should I be thinking of shaders
insted of FFP if I want my game to be playable in five years?

Posted By: William

Re: Future Of FFP Effects? - 11/03/05 05:33

While it's always a plus to learn shaders, I wouldn't worry about the FFP issue. I believe Microsoft said that both Directx9 and Directx10 will be available at the same time on there new OS(that way most of the old programs are still supported). Unless your using an Directx10 based engine, there shouldn't be any cause for concern.

BTW - Where did you hear that FFP will no longer be supported?
Posted By: Grafton

Re: Future Of FFP Effects? - 11/03/05 07:03

I heard it on the forum over at gamedev.net. Maybe theres no truth in it?
I have tried vs/ps before but they seem to lower the framerate compared to
a comparable effect with FFP. This might be because of my card however (Nvidia GeForce Fx 5600).
Posted By: Sebe

Re: Future Of FFP Effects? - 11/03/05 07:09

For me, FFP is a shader... it's written in a shader language, it just doesn't need ps/vs. And it wouldn't be wise anyway not to support FFP any longer o_O
Posted By: Matt_Aufderheide

Re: Future Of FFP Effects? - 11/03/05 08:12

umm..
FFP code has nothing to do with shaders. It's certainly not written in a "shader language". It's written in a simplified form of Direct 3D code.. If you are talking about the "FX" format, it's just a simple way to set things like texture stage states and other variables called types.

For instance, in your FX file when you want to set the srcblend mode you just use:
srcblend=one;

in D3D C++ code this same command would look something like this:
d3ddevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_ONE);

So the same applies to all the FF code you may see in effects files. It's just a simple way of setting d3d variables, called types.

Direct 3D has no internal distinction between regular D3D code and so called fixed-function effects...this is maybe difficult to explain, but think of the FF style "effects" as merely configuring hardware texture blending attributes.. this mean the hardware has specific hardwired functions it performs on textures-- you can tell it which ones to use in what order, but you cant program them. I believe on newer cards the FFP is actually emulated in the shader units, so maybe they dont even have a FFP (not sure about this, but it will be this way soon for sure).

What Fixed Function code cannot do is modify anything on the purely vertex or pixel level once something has been sent into the rendering pipeline (except in certain specif cases like per pixel dot3 bump mapping..which is a fixed function that does affect pixels data...but it cant take vertex data and interpolate it to pixels).

Direct 3D gives a lot of useful funtions for setting blend modes, etc, that dont need the "programmability" of shaders...so of course there will always be fixed functions. D3D is an API, a set of functons that makes accessing hardware easy. There will always be a need for standard fast functions for specfic task, like creating a texture from a file, or blending a pixel over another pixel in a set way. The API is NOT the hardware.. so ultimately why should care how it does what it does?
Posted By: Grafton

Re: Future Of FFP Effects? - 11/03/05 10:56

Matt, so FFP is sort of a DX script that, lacking hardware support, is translated into a shader for use?

That would explain the big fps drop I see when I use vs/ps shaders! Perhaps my nvidia has ffp hardware support! But with the newer cards, there should be no noticable difference in the speed (they will both be slow)?

My concern is that a game development cycle that takes years, must be forward looking tecnologically. So perhaps I should use shaders instead of FFP, since you can do more and it will probably outlast FFP?
Posted By: ello

Re: Future Of FFP Effects? - 11/03/05 11:14

Quote:

Matt, so FFP is sort of a DX script that, lacking hardware support, is translated into a shader for use?




no, its more a kind of internal switches inside your gpu, while shaders let you create your own functions
Posted By: BionicHero

Re: Future Of FFP Effects? - 11/03/05 12:57

Since DirectX is based on the COM model which dictates that every newer version has to be 100% downward compatible your software will still work if it uses DirectX 9 even if there is DirectX 12 installed.
At least it has always been that way and I didn't hear from any changes to that.
Posted By: Grafton

Re: Future Of FFP Effects? - 11/03/05 18:52

Ok, that clears it up, So FFP functions are a few general functions that your (older) graphics card hardware understands and processes. In newer cards, ffp is emulated by shaders because no ffp hardware support exists in them. So it wont matter which you use on these newer cards with the exception that the eqivalent shader code can be somewhat optimized and ffp cannot. Therefore shadercode could actually be faster than ffp on the newer cards! This would be especially true as card manufacturers add hardware support for vertex and pixel shaders as they drop hardware support for ffp.

So if I use ffp, it may end up running slower on newer cards than shader code would! This makes it seem that HLSL is probably the way to go even though it is slower on my current (older) card than ffp.
Posted By: VampireLord

Re: Future Of FFP Effects? - 11/03/05 18:53

@BionicHero Well according to MS design documents which were posted here some time ago, this won't necessarily be the case. MS is planing on introducing a totally different piece of software that has nothing more to do with DX <9. For DX9 software to still work, you will need the "old" DX9.
© 2024 lite-C Forums