Sign in to follow this  
BeanDog

Anyone ever used DXUT?

Recommended Posts

DXUT looks like a pretty good framework for starting new projects, since it implements hundreds or thousands of lines of boilerplate code for you. Has anyone here used it? I'm curious if, by using DXUT, I'm going to find myself substantially limited in my projects down the road.

Share this post


Link to post
Share on other sites
I think that DXUT is available with it's source code in the SDK, so basically I'd say that using it would not be a risk of limiting youself since you could be imporving it with you own flavor as required.

Still, I haven't been experiencing DXUT on a large scale project so I can't say more.

Share this post


Link to post
Share on other sites
personally i have come across it a few times and when i do i dont like it, and yeh maybe could be restricting in the future. You dont need it to start new projects

Share this post


Link to post
Share on other sites
There is nothing restricting with DXUT, you can use the parts of it you need. It contains code for initializing DX and practically everything you'd need to do anyway. I use it and I haven't found any problems with it.

Share this post


Link to post
Share on other sites
If you don't mind Microsoft breaking your code with future releases of the directx sdk go ahead and use it since it makes some things easier.
I've used it before in my old directx code but microsoft made so many changes to it in the newer dx sdk's that it now refuses to compile. Also I believe they move it to it's own separate dll now?

Share this post


Link to post
Share on other sites
DXUT is great for quickly putting together prototypes, samples, demos and simple games. I've used it for a couple of samples as well as simple games. Also remember that its an official component in the SDK and is tested as such - so the chances of finding bugs are probably quite slim (even then, you have access to the source code)...

Quote:
I'm curious if, by using DXUT, I'm going to find myself substantially limited in my projects down the road.
If you're wanting to make a "heavy weight" project then you may well get more mileage by rolling your own solution. The extra effort means you can architect/implement it in a way that suits your particular needs. But, obviously you're gonna have to invest a fair amount of time writing the boiler-plate code before you can get on to the fun parts of your project [grin]

Quote:
Original post by daviangel
If you don't mind Microsoft breaking your code with future releases of the directx sdk go ahead and use it
In all honesty, that would be more your mistake for changing your SDK mid-project. Despite MS releasing an updated SDK every 2 months there is no requirement for you to upgrade to it - in fact, its probably not very sensible to upgrade any SDK/tool mid-project unless you've hit some show-stopping bug/limitation.

I was using the December '04 SDK for almost all of 2005 - was at least 4 SDK's behind by the time I got around to upgrading. Even now I'm only using December '05 - currently 2 SDK's behind...

Cheers,
Jack

Share this post


Link to post
Share on other sites
Quote:
Original post by daviangel
If you don't mind Microsoft breaking your code with future releases of the directx sdk go ahead and use it since it makes some things easier.
I've used it before in my old directx code but microsoft made so many changes to it in the newer dx sdk's that it now refuses to compile. Also I believe they move it to it's own separate dll now?

While they neither promise nor retain backwards compatibility for the sample framework, they can't really break your code by updating it - it's your choice whether it's worth it to upgrade to the new version or not. When working on a project that uses a number of third party libraries, it's a good idea to add the version you use of these libraries into your source control repository. That way, you can always checkout and build your project anywhere, anytime1.

As for using it or not, I prefer not to unless I'm writing a sample. There's good value in having all samples using the same framework so that people learning from them can save themselves some time. However, I find the unmanaged and managed frameworks to be bloated and in some aspects very mis-designed. I don't use them for my projects.

[1] If you're not using source control, you should. For personal projects, see IonForge's evolution. It's an easy solution that doesn't require learning much. Subversion's also possible.

Share this post


Link to post
Share on other sites
so.. basically, if you are a beginner or if you are writing a sample or a simple game, using the DXUT is just about the right thing to do. And if you keep in mind that you shouldn't change the SDK version at the middle of the project, or if even better you copy the DXUT to your source code, it is unlikely that you will find a bug.

Share this post


Link to post
Share on other sites
DXUT is a good learning tool too. It will show you how to design your DirectX code (creation of resources and setting of render states) so that you can handle lost devices well. It will also make it easy for you to toggle from windowed mode to fullscreen and handle window resizing.

Share this post


Link to post
Share on other sites
I just tried DXUT for the first time and I think its fairly impressive. The major things I'm not sure how to do yet in it are the following however:

-make movable windows/dialogs
-set my own custom texture to widget controls

It is all open source however, so it should be possible for one to add this functionality himself.

Share this post


Link to post
Share on other sites
DXUT is good to learn....

I think its slow!

I used it for my present quite large project, and it worked well up to a point.

I've spent the last week creating my own framework to replace DXUT and it feels liberating. I dare say I wouldn't have made anything so robust if I hadn't spent time poring over DXUT.

Microsoft code is not very friendly to beginners, convoluted! (No offense!!! :o)

Share this post


Link to post
Share on other sites
Quote:
Original post by Khaos Dragon
I just tried DXUT for the first time and I think its fairly impressive. The major things I'm not sure how to do yet in it are the following however:

-make movable windows/dialogs
-set my own custom texture to widget controls

It is all open source however, so it should be possible for one to add this functionality himself.


Win32 dialogs can cause the main window to stop rendering as long as they are open. I found that if I use CreateDialog() instead of DialogBox() the dialog box can be moved around and the main window will redraw.

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