Jump to content
  • Advertisement
Sign in to follow this  
ZachE84

[.net] MDX - confused

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

Hi all, I am getting starting with MDX, specifically for VB.NET. I am a little confused about all this MDX 1.0, 1.1, 2.0, XNA...Microsoft really made it as hard as possible for newbies. Anyways, I currently have MDX version 1.0.2902.0. I cannot do anything related to DX8 or 9. I can use Directdraw fine, but DirectXEvent8 can't be found. I have added the references to my project and imported them to my class. My app runs fine now, but I am trying to add DirectInput. I want to use the SetEventNotification(), but I am having a ton of trouble. I want an event to fire instead of me doing Pooling(). Is there any example or any tips of how I can enable DX8 and 9 to use? This is what i want, but this properties/methods don't exist for me: http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dx81_vb/directx_vb/Intro/ProgramVB/ClassRef/directxevent8.dxcallback.asp Thanks a lot. Zach

Share this post


Link to post
Share on other sites
Advertisement
Well I was able to the find directx8 library - udner the COM references. Are these what I should be using? My understanding was I wanted to use purely the MDX (.net references?)

Thanks.

Share this post


Link to post
Share on other sites
It sounds like an old VB6-era library and not MDX. I've never heard of a version of MDX for DX8, only DX9.

Anyway there are really only three versions of DirectX for .Net:

MDX 1.1 - Discontinued, but the closest you'll get to a real wrapper for DX9, most of the functions take the same parameters as their unmanaged counterparts. Unfortunately I've heard it doesn't work on 64-bit operating systems, and it looks like it never will(Thanks MS).

SlimDX - This is an open source wrapper, similar to MDX but with support for both DX9 and 10. It's managed by several people here on GameDev.

XNA - Microsoft's "new" API, works on Windows and XBOX360(although you need a subscription). Abstracts a lot of things to make it easier to develop with. There's also an editor that allows you to drag-and-drop different components, similar to the GUI editor, but for games.

[Edited by - Scet on January 12, 2008 9:21:24 PM]

Share this post


Link to post
Share on other sites
Thanks for your reply.

Do you know if MDX version 1.0.2902.0 is 1.1? I can not find a download for 1.1 from msdn.com or google search.

I will check out the SlimDX.

Thanks.

Share this post


Link to post
Share on other sites
Yes 1.0.2902.0 appears to be the last version(although I have a 1.0.2911 version of D3DX). I think the reason for the "1.1" is that when it was developed there was only .Net 1.0 and 1.1, and it only worked with .Net 1.1(and over, of course).

Share this post


Link to post
Share on other sites
This should clear up your confusion over the current state of MDX:

1. Managed DirectX 1.1 is frozen. Its still a great API and since its part of DirectX 9.0 will be supported for a a reasonable period. DirectX 9 ships with Vista and the Aero shell uses it so its not going to die. There are probably some bugs but it went through several versions and is pretty stable. However bug fixes are unlikely.
2. Managed DirectX 2.0 was cancelled in favour of XNA development. Personally I think of XNA as most of what MDX 2.0 was going to be with the added bonus of content management, xbox 360 deployment and a nice game architecture.
3. XNA is the only managed directX API that Microsoft are actively working on to my knowledge. As mentioned above it has several advantages over MDX 2.0 however it also has several segments of the API missing such as parts of D3DX. Its currently the best choice if you want support in the forums or future bug fixes. There has been public talk of future/pro versions. The XNA team is far bigger than Managed DirectX ever was and there has been lots of high profile marketing too. On the whole this seems like a safe bet.
4. Neither MDX nor XNA has 64 bit native assemblies - more and more people are asking for this. The 32 bit assemblies run just fine on 64 bit machines but since there is a 64 bit version of native DirectX we feel a little left out.
5. None of the APIs give managed developers access to DirectX10 abilities - this isn't huge deal as there is limited/expensive hardware and since its only available on Vista the customer base is much smaller. However every day this becomes a bigger issue. Ralf has been working on an independent wrapper. Since XNA has a large Xbox 360 focus and Xbox 360 is not DirectX 10 there could be a feature conflict here.


Share this post


Link to post
Share on other sites
Quote:
Original post by Scet
Yes 1.0.2902.0 appears to be the last version(although I have a 1.0.2911 version of D3DX). I think the reason for the "1.1" is that when it was developed there was only .Net 1.0 and 1.1, and it only worked with .Net 1.1(and over, of course).

Yes there is also a good explanation of all the file number differences here:
MDX1.1 - wraps the d3dx9_nn.dll functions. Because this DLL changes every SDK release there is also a new MDX wrapper each SDK.

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.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!