Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


DirectX development in Visual Studio 2012


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 BenS1   Members   -  Reputation: 337

Like
0Likes
Like

Posted 08 October 2012 - 04:54 AM

I'm aware of the new 'Metro' style apps for Windows 8 and how certain DirectX 11 features cannot be used in Metro apps (Such as the D3DX and Effects libraries) however all the documentation says that the D3DX and Effects libraries can be used on Windows 8 Desktop apps.

Whilst its true that apps developed with Visual Studio 2010 and the DirectX SDK from June 2010 will work fine on Windows 8 Desktop mode, from what I can see now that DirextX is part of the Windows SDK and included with Visual Studio 2012 it appears that you cannot develop Windows 7\Windows 8 Desktop apps that use D3DX\Effects using Visual Studio 2012. Is this correct, as I've not seen that mentioned anywhere before?

I suspect you can do a bit of hacking to get Visual Studio 2012 to use the June 2010 version of the DriectX SDK, but I'd imagine you could get into a right mess doing that.

Ultimately what I want to do is to continue developing my Windows 7 game but using the latest and greatest version of the Visual Studio... is this possible?

Thanks
Ben

Sponsor:

#2 Radikalizm   Crossbones+   -  Reputation: 2943

Like
1Likes
Like

Posted 08 October 2012 - 05:17 AM

D3DX and Effects11 have indeed been deprecated in the latest windows SDK as far as I know and to be completely honest with you I believe this is actually a good thing.
All math-related systems from D3DX have been moved to a new library called DirectXMath, so that's a possible alternative if you have been using the D3DX math functions.

If you really want to use the latest windows SDK and VS2012 to develop your game you'll probably have to write your own alternatives to the D3DX functions you're depending on, which shouldn't be all too hard I believe.
Writing an alternative to Effects11 can be somewhat trickier, but it can also be a good learning experience as it'll actually encourage you to think more about what you need in a shader system and how your shaders should be organized. A good place to start with writing your own alternative to the Effects11 library would be the shader reflection system provided by D3D11.

I gets all your texture budgets!


#3 BenS1   Members   -  Reputation: 337

Like
0Likes
Like

Posted 08 October 2012 - 06:06 AM

Thanks Radikalizm,

To be honest, I'm not a fan of the Effects framework either, however the code that I used as the starting point for my project used it and now it'd be a bit of a pain to have to refactor that part of the code. Oh well, I guess its not too bad.

Thanks
Ben

#4 Corvwyn   Members   -  Reputation: 331

Like
1Likes
Like

Posted 08 October 2012 - 06:08 AM

I've recently made the switch to the Windows SDK on Windows 7. I've changed all D3DX code to use D3DCompiler and DirectXMath. I'm also using the texture loader from directxtex (http://directxtex.codeplex.com/). I find the new libraries much more lightweight.

You can find most of the info on the right-hand side of the main page of gamedev.net.

Moving from D3DXMath to DirectXMath might take a bit of time, since DirectXMath uses SIMD and needs to be handled in a certain way. There should be some threads on this somewhere on the forums though, and there are docs available explaining how to do the conversion.

Edited by Corvwyn, 08 October 2012 - 06:19 AM.


#5 BenS1   Members   -  Reputation: 337

Like
0Likes
Like

Posted 08 October 2012 - 06:52 AM

Thanks Corvwyn,

Ok, so I've decided to start making the move.

The first problem I've got is that XMCOLOR doesn't seem to exist in DirectXMath.h, even though the DirectXMath documentation says it does:
http://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.xmcolor(v=vs.85).aspx

What am I missing? :(

Thanks
Ben

#6 mhagain   Crossbones+   -  Reputation: 8164

Like
1Likes
Like

Posted 08 October 2012 - 07:17 AM

It's at the bottom of the page you linked:

The correct header and namespace required for XMCOLOR is DirectXPackedVector.h and DirectX::PackedVector.

There's a second documentation bug on that MSDN page - the b/g/r/a values are uint8_t, not uint32_t.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#7 BenS1   Members   -  Reputation: 337

Like
0Likes
Like

Posted 08 October 2012 - 07:21 AM

It's at the bottom of the page you linked:

The correct header and namespace required for XMCOLOR is DirectXPackedVector.h and DirectX::PackedVector.

There's a second documentation bug on that MSDN page - the b/g/r/a values are uint8_t, not uint32_t.


Excellent thanks. I obviously missed the Community Additions section at the bottom.

Thanks
Ben




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS