Jump to content
  • Advertisement
Sign in to follow this  
grill8

Quick question about DirectX9 versus DirectX10.

This topic is 4054 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

Thank you for your help. I have 2 quick questions about DirectX9 versus DirectX10. I am still trying to figure out all that DirectX10 will change as compared to DirectX 9. Ok, so it is my understanding that DirectX10 will completely do away with the fixed function pipeline and replace it with the programmable pipeline. Currently I am in the belief that that means that with DirectX10 there will be no setting device states/sampler states/SetTexture(...) etc. calls as all will be handled by shaders. As such I am in the belief that thinking long term with development, one should consider leaving those types of calls out and possibly relying entirely on shaders if applicable. Another question... If the fixed function pipeline is out does that mean effect files will no longer be able to use those capabilities as well? Thank you for your help. Jeremy

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by grill8
Thank you for your help.

I have 2 quick questions about DirectX9 versus DirectX10.

I am still trying to figure out all that DirectX10 will change as compared to DirectX 9.

Ok, so it is my understanding that DirectX10 will completely do away with the fixed function pipeline and replace it with the programmable pipeline.

Currently I am in the belief that that means that with DirectX10 there will be no setting device states/sampler states/SetTexture(...) etc. calls as all will be handled by shaders.

As such I am in the belief that thinking long term with development, one should consider leaving those types of calls out and possibly relying entirely on shaders if applicable.

Another question...
If the fixed function pipeline is out does that mean effect files will no longer be able to use those capabilities as well?

Thank you for your help.
Jeremy


You are setting states with state objects, where a lot of states are bunched together and set at the same time. So there is just as many states in DX10 as in DX9. You still need to set textures even though you don't need to hold reference to them. You are handling all resources (buffers, textures, render targets...) with views. When practically working with viewes they act much like the setup in DX9 but they are more effective and has a couple of extra features. You still need to send a bunch of calls from CPU->GPU in DX10 but with more efficiency.

Share this post


Link to post
Share on other sites
Quote:
Original post by grill8
Ok, so it is my understanding that DirectX10 will completely do away with the fixed function pipeline and replace it with the programmable pipeline.

Correct. All the features you have come to know and love such as T&L, fog, alpha testing, user clip planes, etc. will now have to be implemented in shader code. Check out FixedFuncEMU for more details.

Quote:
Currently I am in the belief that that means that with DirectX10 there will be no setting device states/sampler states/SetTexture(...) etc. calls as all will be handled by shaders.

As such I am in the belief that thinking long term with development, one should consider leaving those types of calls out and possibly relying entirely on shaders if applicable.

You should certainly try to drive the state as much as possible through shaders IMO, however like many things it's application-dependent and there is no rule or single solution. You still have methods like OMSetBlendState, OMSetDepthStencilState, RSSetState, PSSetShaderResources, and others that allow you to set the various render states should you need to.

Quote:
If the fixed function pipeline is out does that mean effect files will no longer be able to use those capabilities as well?

Correct, DX10 techniques (those labeled technique10) can't use any of the fixed-function capabilities and renderstates. I imagine you'd either get a compiler error or at the very least a deprecation warning.

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!