The ZBuffer - Managed DirectX resources

\Managed DirectX and XNA Framework news


Search ZBuffer
Links


 
The ZBuffer
News, Information and resources for Managed DirectX and XNA Framework.
Archive of posts for April, 2006. For other months check out the archive

Visumap is a visualization application for high dimensional data. It is mainly intended for preliminary data analysis.

I found out that this application was using Managed DirectX a few months ago and they have finally released. They have some 3d accelerated data visualisation that use MDX for speed. Its free for non commercial use. If data visualisation is something you are interested in they have screen shots (more, more) and a feature list on the site.

 

Updated 4/25/2006 8:00:00 AM by Zman

While I have a pretty good list of all the Managed DirectX Engines out there I am often asked which is the best which is something I don't have an answer for. Comparing each and every one would take a lot more time that I have right now.

So its nice to see that someone else has done a small evaluation that included Irrlicht, HADDD, custom native engine and custom MDX engine. He also included some comparisons with OpenGL versions. The evaluations not only include the speed that the demo ran at, but how long it takes to develop and debug the code.

His conclusions:

OpenGL wins on nVidia, DirectX wins on ATi. Managed DirectX is negligibly (i was pushing a LOT of pixels) slower than Raw DirectX. Engines are slower than working directly with the APIs. C# saves you dev time without sacrificing immense amounts of performance.
And Irrlicht is awesome if you decide you need multiple versions.

Not sure who you are cael (drop me an email and let me know what you are up to) but thanks.

Updated 4/24/2006 8:00:00 PM by Zman

I'm sure you've all heard the news that the express editions of visual studio are going to be permanently free. However Phil let me know about an ASP.Net promotion where you can get Visual Studio 2005 Standard edition and some otehr goodies for watching 3 webcasts. So for all of you who like to complain about the lack of features in the express products, here's your chance to upgrade for the cost of a few hours of your time. You have until June 30th 2006. If you want to know the differences check out the Visual Studio 2005 comparison grid.

Get your complimentary ASP.NET 2.0 Development Pack. Attend three webcasts, either live or on-demand, and you’ll receive*:

  • Microsoft® Visual Studio® 2005 Standard Edition (Not for Resale)
  • Five chapters of Programming ASP.NET 2.0 Core Reference, by Dino Esposito
  • A 30-day hosting account to try out your custom Web applications
  • Microsoft Developer Security DVD with how-tos, white papers, tools, webcasts, and code samples that demonstrate how to write more secure code
  • A 50% discount on a Microsoft Certified Professional Exam so you can add your new skills to your resume
  • A voucher that allows you to buy Visual Studio 2005 Professional Edition with an MSDN® Professional Subscription at renewal pricing (a $400 savings)

Altogether, this complimentary package has an estimated value of $400.

Updated 4/21/2006 7:00:00 PM by Zman

4/19/06: English translations of the Coding4Fun video tutorials on Rocket Commander and upcoming webcasts (thanks Mykre)

Finally Rocket Commander releases along with the German Coding4Fun site. There are images on the Rocket Commander home page as well as some on Benjamins blog. There is also now a video available. You can download the game and the full source code from the download area

The US Coding4Fun site now has the same video tutorials in English (originals in German)

Benjamin will also be doing 3 live Webcasts in May.

 

Updated 4/19/2006 2:30:00 PM by Zman

Error Message:

Error 1 The type 'Microsoft.DirectX.Direct3D.Device' exists in both
'c:\WINDOWS\Microsoft.NET\DirectX for Managed Code\2.0.0.0_x86\Microsoft.DirectX.dll'
 and
'c:\WINDOWS\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.Direct3D.dll'

This error message indicates that you are referencing both Managed DirectX 1.1 and Managed DirectX 2.0 in the same project. Since both assemblies contain the Device class (and many others) there is obviously a conflict. Confusion also occurs because Managed DirectX 1.1 has multiple assemblies (.DirectX, .Direct3D, Direct3DX etc) whereas Managed DirectX 2.0 has only a single one (.DirectX) which includes all of the classes. See Managed DirectX files and directory structures

Solution: Remove one of the references. The Managed DirectX 1.1 assemblies will be version 1.0.29xx.0, the Managed DirectX 2.0 assemblies will be version 2.0.0.0. If you choose to go with Managed DirectX 2.0 remember to remove *all* of the Managed DirectX 1.1 assemblies.

Updated 4/15/2006 8:00:00 AM by Zman

The current Microsoft position is that:

Microsoft strongly recommends against using DirectPlay to develop new applications. Game developers should use Windows Sockets and the Windows Firewall APIs

Further details about the reasoning behind this can also be found on the MSDN forums:

DirectPlay was created back before TCP/IP become universal, and the majority of the code in it is for supporting serial head-to-head, modems, IPX, etc. The only functionality missing from the core networking services would be DirectPlay Voice (which has major security concerns) and the lobbying. There are third-party solutions to both of these available today, and we are working on our own offering as well. The point is that DirectPlay doesn't need a 'replacement'. it's functionality has already been largely subsumed by standard network APIs.

With similar message in other lists and forums - DirectX-l #1, #2, DirectX newsgroups #1, #2, #3. Wow, Chuck Walbourn gets around !

For .Net programmers this means write your own stuff using the System.Net and/or System.Net.Sockets namespaces and the PNRP APIs (I do not believe there are any managed implementations of PNRP).

Mykre created a page with links to how to use some of the APIs if you are considering replacing DirectPlay with Sockets

Updated 4/15/2006 8:00:00 AM by Zman

There is a lot of confusion regarding all of the files that Managed DirectX puts on your machine.

The files were stored in C:\windows\Microsoft.NET\Managed DirectX until the April 05 SDK. The From the April SDK onwards they are stored in C:\windows\Microsoft.NET\DirectX for Managed Code. However the second location has copies of all SDKs from Summer 2004 (when DirectX 9.0c was released) onwards. Below each folder is another folder indicating the .Net assembly version number. Managed DirectX 1.1 versions are in the format 1.1.29xx.0 Managed DirectX 2.0 versions are in the format 2.0.x.0. See below the table for some details on version prior to Summer 04 and other odd versioning quirks.

File Version Comments
Microsoft.DirectX.dll
MDX1.1 - wraps the core DirectX.dll functions
MDX2.0 - wraps the entire DirectX functions. No other assemblies needed.
1.0.2902.0 Summer 04
2.0.900.0 October 05 MDX 2.0 beta
2.0.0.0 December 05/February 06/April 06 MDX 2.0 beta
The .Net version does not change however the file version does
December 059.10.455.0
February 069.11.519.0
April 069.12.589.0
Microsoft.DirectX.Direct3D.dll 1.0.2902.0 Summer 04
Microsoft.DirectX.Direct3DX.dll
MDX1.1 - wraps the d3dx9_nn.dll functions. Because this DLL changes every SDK release there is also a new MDX wrapper each SDK.
1.0.2902.0 Summer 04
1.0.2903.0 December 04
1.0.2904.0 February 05
1.0.2905.0 April 05
1.0.2906.0 June 05
1.0.2907.0 August 05
1.0.2908.0 October 05
1.0.2909.0 December 05
1.0.2910.0 February 06
1.0.2911.0 April 06
Microsoft.DirectX.Diagnostics.dll 1.0.2902.0 Summer 04
Microsoft.DirectX.DirectSound.dll 1.0.2902.0 Summer 04
Microsoft.DirectX.DirectInput.dll 1.0.2902.0 Summer 04
Microsoft.DirectX.DirectPlay.dll
No longer recommended and not included in MDX 2.0. For alternatives see the Managed DirectPlay FAQ
1.0.2902.0 Summer 04
Microsoft.DirectX.DirectDraw.dll
No longer recommended and not included in MDX 2.0
1.0.2902.0 Summer 04
Microsoft.DirectX.AudioVideoPlayback.dll
No longer recommended and not included in MDX 2.0. For alternatives see the Managed DirectShow FAQ
1.0.2902.0 Summer 04

As mentioned C:\windows\Microsoft.NET\Managed DirectX was used until April 2005 and if you install an old SDK or an application that installs the redistributables for you you will see other directories in this folder which do not match the above table usually in the form 0.0x.yyyy. From what I can make out it works like this (guesses and intuition based on old SDK installs and file dates):

??????? 12/19/02 - DirectX 9.0b Software Development Kit (SDK) for C#. The first appearance of managed code and DirectX. Its a separate download from the DirectX SDK. I've never actually installed this so I have no clue where it lives, how it works or what versions the files are
9.00.0900 July 03 - The first appearance of Managed DirectX as part of the DirectX SDK. Works with DirectX 9.0b
9.00.1126 Summer 03 - released with the DirectX 9.0b update. This SDK also installed the 9.0.900 assemblies. All assemblies appear to have changed.
9.0.2904 Summer 04 - released with the DirectX 9.0c. These days 1.0.2902.0 is marked as Summer 04. Not sure if they are the same file or not. All assemblies appear to have changed.
9.0.3900 October 04 - There are no modern assemblies marked as October 2004 so I'm not sure where these fit in. Changes to Microsoft.DirectX.Dll and Microsoft.DirectX.Direct3DX.dll
9.03.91 December 04 - This matches to 1.0.2903.0 in the current versioning scheme. Changes to Microsoft.DirectX.Direct3DX.dll
9.05.132 February 05 - This matches to 1.0.2904.0 in the current versioning scheme. Changes to Microsoft.DirectX.Direct3DX.dll
Updated 4/15/2006 8:00:00 AM by Zman

If you live within commuting distance of Durban, South Africa and you are interested in game development then check out this free training for game developers. It's being held at IT Intellect in the Durban location and presented by Pieter Germishuys DirectX MVP and co-owner of MDXInfo. No surprises then, that the class will be taught using managed DirectX.

Sessions/dates as follows:

  • April 29 2006, 9:00-12:00, Setting up a window and Direct3D
  • May 27 2006, 9:00-12:00, Working towards Tetris
  • June 24 2006, 9:00-12:00, Working towards Breakout/Arkanoid
  • July 29 2006, 9:00-12:00, Working towards Pacman
  • August 26 2006, 9:00-12:00, Working towards Space Invaders

 

Updated 4/14/2006 8:00:00 AM by Zman

Microsoft are looking for folk to share their experience programming with Managed DirectX and other game development technologies. As with most MS surveys/usability tests if you are selected to take part you get some free software (no I don't know what software).

Do you enjoy programming video games?
Are you a student, hobbyist, or Indie game developer?
Do you live in the greater Seattle area?
Do you want to provide feedback which can help shape the direction of future game development technologies?

If you answered yes to these questions, please read on!

Microsoft is conducting usability studies of people who program video games as part of their academic studies, or as an Indie game developer, or even just for fun. For this particular study we are not soliciting professional game developers who work at an established game studio unless you also develop other game projects outside of work. It is also a requirement for this study that participants write code for the game projects you work on. It is ok if you also contribute game content such as artwork and sound effects for your game projects, but for this study we will require people who are actively contributing some programming code to a game project.

To participate in the study please complete the survey here: Indie game developer survey

Updated 4/13/2006 10:15:00 AM by Zman

4/12/06: Added note regarding delay of publication

Originally planned to be Tom Miller's third book, authorship was passed over to Rick Hoskinson.

Though a publication date of April 11th 2006 is widely referenced on Amazon and other sites the book is currently on hold awaiting the future plans of Managed DirectX and the XNA framework - see Tom's blog. So don't pre-order this unless you are a very patient person.

 

Updated 4/12/2006 4:40:00 PM by Zman

One more request....

Whilst my ad company still show ads without demographics I get better (better paid? more relevant? who knows) ads if I have 200 responses to a survey. There's no log in to tie the information back to you and its the usual male/female, how old, how smart type stuff. Additionally they let me add 3 questions of my own so I have added some about your usage of Managed DirectX which will make interesting reading.

I'm currently at 155 responses, so if you have a couple of minutes to answer 14 multiple choice questions and you've not already filled it in I would *really* appreciate it.

Complete The ZBuffer demographic survey

Interesting ZBuffer stats from the 1st 155 responses:

  • 97% Male, 3% female
  • MDX skill level:
    25% beginner, 53% intermediate, 22% advanced
  • 23% also use native DirectX and C++
  • Languages:
    C# 90%, VB.Net 8%, C++/CLI 1%, Other 1%
Updated 4/12/2006 3:00:00 PM by Zman

Yes its that time of year again and time to downloaded the latest and greatest API.

DirectX April 2006 SDK

Don't expect much in the way of managed code updates. As you know announced MDX 2.0 is getting rolled into the XNA framework so progress on that API has changed direction and we all know Tom is working on that product now. However, I noticed that a new Microsoft.DirectX.Dll has appeared in the 2.0.0.x86 directory (overwriting the old one so beware), but I have no idea what has changed in there. There is of course a new Microsoft.DirectX.Direct3dX.dll for 1.1 as always (since the underlying D3DX.dll changes) v1.0.2911.0.

Managed DirectX 2.0 Beta Update
Microsoft is working on a new managed gaming framework which will target Windows and Xbox 360 known as the XNA Framework. The majority of what exists today as the Managed DirectX 2.0 beta will become a key component of the XNA Framework. Managed DirectX 2.0 will continue to ship as a beta in subsequent SDK releases of the DirectX SDK until a beta of the XNA Framework is made available. While we are striving to deliver a smooth transition from code written to use the Managed DirectX 2.0 beta, Microsoft can make no guarantees about the API compatibility between the Managed DirectX 2.0 beta and the upcoming graphics API’s in the XNA Framework. Microsoft will be providing guidance about the API differences as well as migration assistance as more information becomes available regarding the XNA Framework. The following is an initial list of known changes which will exist between the Managed DirectX 2.0 beta and what Microsoft will deliver with the XNA Framework. This list will be updated as more information is available, and is as always subject to change.

  • Managed XACT and managed XInput will replace managed DirectSound and managed DirectInput respectively. Managed DirectSound and managed DirectInput will no longer be available in the XNA Framework. However, DirectSound and DirectInput will still be available for developers who choose to use Managed DirectX 1.1.
  • Managed DxDiag will not be available in the XNA Framework. DxDiag support will still be available for developers using Managed DirectX 1.1.
  • Microsoft is actively investigating how to bring forward functionality from Direct 3DX 9.0 into the XNA Framework. D3DX9 will still be supported in MDX 1.1
  • Please note that Managed DirectX 1.1 is fully compatible with the .NET Framework 2.0.

The XNA Framework will be supported on several architectures (including 64-bit) for both Windows and Xbox 360

Otherwise, looks like few changes - couple more D3D10 samples though no update to the API.

Updated 4/10/2006 6:40:00 PM by Zman

Picking sample, Managed D3D10, Video Textures and another full game with source. Great set of updates in the last month from MDXInfo.

MDXInfo is a Managed DirectX tutorial and sample code site by Pieter Germishuys and Rim van Wersch. They have decided to try to collect sample code and tutorials in a single place rather than on their respective web sites and they are looking for submissions from others to add to the collection.

Tutorials

Sample Code

 

Updated 4/9/2006 12:30:00 PM by Zman