Sign in to follow this  
zanabonir

Relation beetwer XNA and Direct

Recommended Posts

Dear Forum i woul like to start to develop some simple grafic. Can you tell me what is the relation beetwen XNA and DirectX (3D) ? I must learn DirectX (3D) or XNA or is the same. Thanks Roberto

Share this post


Link to post
Share on other sites
The XNA Framework is an API that is built on top of Direct3D 9. You do not need to know how the native C++ library works in order to use the XNA framework mainly because the XNA framework does a lot of work to try and abstract some things out for you.

Share this post


Link to post
Share on other sites
Start here: http://creators.xna.com/en-US/create_detail. (Don't buy the premium account yet, unless you want to go straight to the Xbox 360. The premium account isn't needed for Windows development.)

I love XNA Game Studio (hence why I'm an MVP). It's great for me. On Windows the performance is great. As I've mentioned all over, most games wind up being GPU bound (slowed because they have too many fancy shaders). For those games it doesn't matter that XNA GS uses a managed language, because it has the exact same access to the GPU and shaders as native Direct3D 9. The Xbox 360 is a little trickier because the .NET CF that runs on there doesn't do the best job of inlining or handling floating point math. It's not terrible performance, but it is an area you have to optimize for.

From the sounds of it, you are just beginning. So for you, you should just never ask if a library is performant enough (for now). For your needs, OpenGL/Direct3D/XNA framework are all identical in terms of performance. You will never reach some sort of limit with any of them while you are learning. Once you reach the point where you are reaching limits, you will be educated enough to know why you reached the limit and how to solve it. For now just pick whichever looks nicest and go with it. Basically if you want to use C# for your language, use the XNA framework or SlimDX (a managed DirectX wrapper). If you want to use C or C++, use either OpenGL or native Direct3D.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this