Jump to content
  • Advertisement
Sign in to follow this  
Ataru

Disabling the fixed function pipeline

This topic is 5084 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I posted about this Saturday, but maybe if I state the problem more clearly I can get some help. I am trying to incorperate a programable pipeline into my fixed function pipeline engine. If I use effect->Begin() and effect->End() I don't get untransformed vertices as my input, rather I get transformed vertices that where transformed by the FF pipeline already (Textures already applied, etc...). Do I need to make and EndScene() call first, in order to disable the pipeline? I always thought that these two pipelines could not mix but so far I see the opposite of that.

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by Ataru

--------- 8< ---------- 8< ---------- 8< ---------

Do I need to make and EndScene() call first, in order to disable the pipeline? I always thought that these two pipelines could not mix but so far I see the opposite of that.


Nope. The "scene" which BeginScene() and EndScene() describe is just that - the *whole* scene.

AFAIK you can mix and match between the fixed function and programmable pipeline whenever you want.

Conceptually you can think of SetVertexShader() and SetPixelShader() as just being state changes which will apply to all Draw*Primitive*() calls that follow until the next SetVertexShader()/SetPixelShader().

Setting either of those "states" to fixed function (NULL) is perfectly valid during the scene.

Share this post


Link to post
Share on other sites
I think my problem may stem from a compile error on the shader defaulting back to the fixed function pipeline. It seems that when I made some changes to my shader (probably fixed the bug) the vertices I got as input where un-transformed.

So if I set a texture using the FF pipeline, the device will use it, as long as I specify my pixel shader to NULL correct?

Share this post


Link to post
Share on other sites
The texture used for each stage is always the last one that you set. Changing shaders (including to/from FF) doesn't affect which textures are bound.

I would tend to avoid FF shaders if you are also using programmable ones. I think drivers will be more optimised to handle programmable shaders so an 'all or nothing' approach might be faster.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!