Pontius

Hello,

I am porting a C# app which uses DirectX from 32bit to 64bit. I downloaded the Aug 2006 SDK.

I looked around and saw that in the folder:

C:\WINDOWS\Microsoft.NET\DirectX for Managed Code

There are many versions of the DirectX dlls, but there is only one version for x64, and that version is 2.0.0.0, which is DirectX10.

I guess this is more of a request for a confirmation rather than a question. Is DirectX10 indeed the only version whose managed code dlls has been ported to 64 bit Or, put another way, if I'm going to use DirectX on Win64, does it have to be DirectX10

Thanks


Re: Direct3D 10 Managed DirectX10 on XP64

Rim van Wersch

The 2.0.0.0 DLL from MDX actually is the infamous timebombed MDX2. It's also based on DX9 and was meant to be a replacement for MDX1.1, but it has been dropped in favor of the XNA Framework, which is currently in beta. So, whatever you do, don't use the 2.0.0.0 DLL of DirectX. You *should* be fine using recent versions of the MDX1.1 assemblies, but I don't have any experience with this myself. From what I've heard though, setting the build target explicitly to x64 in Visual Studio will make things work.

Currently there is no official info on a managed interface for Direct3D 10, in case you should be wondering about that.

Hope this helps.






Re: Direct3D 10 Managed DirectX10 on XP64

Pontius

The other MDX dlls do not work when I set the build target to x64. I get a warning telling me they were built for a different processor, and the build fails. As far as I can tell from looking at the files, the only version of MDX dlls built for a 64bit target, is 2.0.0.0.

Can anyone confirm that this is indeed the case

If not, where can I get MDX dlls that are of an earlier (DX9) version that will link properly with a 64bit project

Thanks





Re: Direct3D 10 Managed DirectX10 on XP64

David Weller - MSFT

You will need to create your own managed wrapper around the D3D10 API set.




Re: Direct3D 10 Managed DirectX10 on XP64

Pontius

But my aim is to use managed DX9 on Win64 to make 64 bit apps. Is that possible I am trying to not use DX10.




Re: Direct3D 10 Managed DirectX10 on XP64

Rim van Wersch

I tried compiling to x64 and I also got the warnings, but at least they only are warnings  I don't have access to x64 hardware atm, but doesn't your application just work when compiled against the x86 MDX libraries It might not be an ideal situation, but if it works then at least it's no showstopper for your project.

I was just going to recommend that you check out XNA if that's an option for your project, but compiling it to x64 gives the same warnings. Since XNA is quite a new API, I can't imagine MS wouldn't address this issue if it's really anything serious.






Re: Direct3D 10 Managed DirectX10 on XP64

abi

It is not that easy to even get MDX to run properly on a x64 platform because the .NET Framework tries to run in x64 mode, but MDX is only available in x86. You have to target the x86 platform to get it to work at all on 64bit platforms.

I talked about this (and the same problems with XNA, which were fixed in the final release):
http://exdream.no-ip.info/blog/PermaLink.aspx guid=8962e9a7-3185-438d-882a-e8e919771dc2
http://exdream.no-ip.info/blog/PermaLink.aspx guid=990a1524-93cb-42bc-b3a9-5106e368cf3e

Also don't use MDX2.0 anymore, it was depreciated and is not longer supported and does not even run (for example my NormalMapCompressor program that uses MDX2.0 stopped working in October 2006 because the MDX2.0 beta expired).

I would suggest not trying to use x64 on .NET for game development, stick with x86 (just force it for your projects) and you will have no big problems. It will probably take a long time until everyone can really use x64 for everything (because so much is dependant).





Re: Direct3D 10 Managed DirectX10 on XP64

Pontius

Unfortunately I don't have a choice. This is not game development, but is an application which uses MDX code on Windows XP. I am heading up the task of porting it to Win64. So I need to figure out how to use MDX in an app compiled for an x64 target. Is such a thing possible And if it is, is MDX10 the only option




Re: Direct3D 10 Managed DirectX10 on XP64

Flavious

David Weller - MSFT wrote:
You will need to create your own managed wrapper around the D3D10 API set.

Hi,

Is this to say that there are absolutely no plans at this time for a managed DX10 Or is it just that it's not likely anytime soon

It's hard to get a good barometer reading on how serious Microsoft is about .NET's viability for game and content creation. I'm aware of the XNA stuff, but what about those of us who are interested in DCC applications or content pipelines. I'm working on a 3D editor that leverages .NET and MDX 1.1, and would really feel better if I knew Microsoft has really big, permanent plans for MDX, and not just the entry level, game-specific stuff with XNA.

Thanks





Re: Direct3D 10 Managed DirectX10 on XP64

Michael Oneppo

Native 64-bit development using MDX 1.1 is not possible as of now. You can develop the application in a 32-bit environment and it will run on 64-bit machines, however this is the extent of 64-bit support for MDX. We are aware that this is a pain point for many developers, especially those in non-gaming disciplines, and we're reviewing our options for how to provide 64-bit support.

It's worth mentioning that we take .NET development scenarios very seriously and we are working to provide solutions for non-gaming development in .NET in the future.






Re: Direct3D 10 Managed DirectX10 on XP64

Flavious

Michael Oneppo wrote:

It's worth mentioning that we take .NET development scenarios very seriously and we are working to provide solutions for non-gaming development in .NET in the future.

Many thanks for the glimmer of hope

Cheers





Re: Direct3D 10 Managed DirectX10 on XP64

Pontius

Thanks Mike, that's all I needed to hear.