Are there any limitations to the DirectX Toolkit?

Started by
4 comments, last by renman29 8 years, 9 months ago

Hi folks,

so I have been developing with XNA for over 5 years now. Recently I moved to Mono which seems to be pretty much the same to me. The point is I actually consider myself a software developer so I always refused to use "Drag and Drop" engines like Unity or UE4. Also with XNA and Mono I always have the feeling of only scratching the surface of graphics programming. For a couple of months I was looking into several OpenGL and DirectX tutorials. Finally I decided to go with DirectX.

One of the more experienced GameDev users suggested to start DirectX by using he DirectX Toolkit. After having a look into the documentation I wonder about a couple of things:

  1. The TK seems like a c++ implementation of XNA to me, is that true?
  2. Will it help me understand DirectX or will it be another tool I will be scratching the surface with?
  3. Does it bring any limitations in comparison to developing without the Toolkit?
  4. Who is developing that toolkit? I just don't feel like learning something for a long time just to find it to be marked as deprecated some day.

Overall I would be glad to hear about your experience with that Toolkit or DirectX?

Regards

Advertisement

I think directX toolkit was develop by Shawn Hargreaves which was on the xna dev team. The project is open source so basically you can just have a look at it and you'll find what you want to understand.

Also you can extend, add, modify the feature you want. You are not lock up in the design.

If you want to stay on c# sharpdx is a good alternative. It's a thin wrapper on top of directX. I managed to follow frank luma directX book ,which was written for c++ user, and the code was pretty close to sharpdx.

from a quick glance at the feature list, it looks more like d3dx for dx11 - IE helper routines that implement some common low level stuff like loading assets and doing screendumps. probably some useful code there. and its full source, so its never obsolete - you can mod it any time you want. some of the features might be considered building blocks for a framework like XNA, but it doesn't seem to be a full blown framework - more like a collection low level helper library routines. with only 400 some odd downloads, odds are most folks are simply rolling-their-own code as needed.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php


with only 400 some odd downloads, odds are most folks are simply rolling-their-own code as needed.

For cryin' out loud - that's 400 some downloads just during the month of July 2015. There are over 46000 downloads all-time.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

I'd say that the spectrum is something like this:

-- UE4/Unity
|
|
|
|
|
|
-- XNA
|
|
|
-- DirectXTK
|
-- DirectX/OpenGL

DirectXTK is just a set of simple helper types that you can use for demos, or for common tasks that are tedious to implement yourself (like drawing basic text, or loading a DDS file as a texture). These kinds of helpers were present in XNA (and were quite similar, thanks to sharing the same author), but XNA had a lot more functionality. In particular, XNA had the content pipeline, as well as a more robust set of wrappers around things like audio and save data.

UE4 and Unity are in a totally different class altogether, being that they're full-featured engines that include an entire toolchain for developing content.

My personal experience with it - it has a lot of useful helpful functions that are highly efficient IMO and memory safe if used properly so I really like it. I use MonoGame/XNA but am also expanding a DX11 game engine at the same time, so I would say it has some things that are similar to XNA(which I likes), but you have the source code too so you can see how it works and understand how to make your own functions that do similar things. For example, I found the memory alignment helper(AlignedNew.h) very useful (inherit into your classes/structs) for 16 byte alignments (optimization). So since you can choose what you do or do not want to use and you can see the source code, I think it is useful in helping to learn DX11+ plus it does not bring any limitations and since it is very popularly used, I personally would assume it is here for the long run. You could even use it minimally if you wanted and just use the parts most useful to you.

This topic is closed to new replies.

Advertisement