The ZBuffer - Managed DirectX resources

\Managed DirectX Tutorials and Sample Code


Search ZBuffer
Links


 
Tutorials, example code and training
The tutorials and sample code are all Managed DirectX specific. However I've not found any online or classroom training specific to Managed DirectX so there are a couple of links where you can find regular DirectX and other game related training.

Wizzie has posted a sample of an event manager over on Ziggyware. Personally I prefer the stronger typing of delegates for my events but that does involve more tighter integration between components, whereas Wizzies' solution is string based and more general in application. He(?) also has events which can be scheduled based on time and auto repeat which isn't available with delegates (at least not out of the box).

Updated 5/26/2007 9:30:00 PM by Zman

Somersault from PascalGameDevelopment has written a nice sample that shows 4 kids of camera angle. Fixed, tracking, 1st person and 3rd person. Details in this thread on the XNA forums. He's provided the source in C# and in Chrome (a modern version of Pascal) proving that if you try hard enough you CAN program XNA framework in other languages.

Updated 5/26/2007 9:20:00 PM by Zman

Travis Feirtag wrote a visualizer for an accelerometer that displays the results using Managed DirectX. The 3d view is inside a Windows Form so those of you looking for code to do this will appreciate that he provides all of the source code.

Updated 3/22/2007 11:30:00 AM by Zman

There are few enough VB.Net tutorials or sample code for Managed DirectX or XNA. So nice to see a site with a set of XNA tutorials in VB from Alan Phipps. The tutorials all work with beta2, however there is currently no 3d tutorials since the content pipeline does not work in VB.Net

 

Updated 11/12/2006 11:30:00 PM by Zman

ZMan is just an amateur Managed DirectX enthusiast. He spends his time working on some top secret DirectX projects and keeping The ZBuffer up to date. You can find him in the managed DirectX newsgroups answering questions about mesh intersection for the 200th time.

In the real world ZMan used to work for Microsoft in a job that has nothing to do with managed code or DirectX. In July 2005, he quit Microsoft and gave up the great health benefits and 401k's to run The ZBuffer full time and to retrain for a job in the game industry - you can read all about the career change at IndieGameGuy.

He writes a regular column on MSDN's Coding4Fun portal answering questions about Managed DirectX.

Tutorials

Sample Code

Updated 12/18/2005 8:00:00 AM by Zman

1/13/06: Added normal map sample

Finally, someone with code that *isn't* how to create a device from scratch*. Pieter's website and blog have several advanced tutorials and code samples. He's working on a managed DirectX engine called Xilath, and has some cool screen shots: shader support, shadows and reflections. In addition Pieter did a talk on Managed DirectX and you can download the presentation.

* I lied slightly, he has those tutorials too.

Tutorials

Sample Code

Updated 1/12/2006 8:00:00 AM by Zman

Fixed all the old links, added some new ones including Shadows in 2d

Mykre is a regular in the MSDN forums and has been an MVP for (Managed) DirectX for a year or so. his blog is mostly XNA/Managed DirectX with some art/modelling stuff and the occasion gaming post thrown in for good measure.

Tutorials

Updated 2/28/2007 12:45:00 AM by Zman

1/11/06: Chad updates UI widgets sample for managed directx beta

A nice set of tutorials from a guy named Chad over at C-Unit.com. There really is very little information about who Chad is and why he has Managed DirectX tutorials but I did find a picture of him painted green and he has a cute dog so now you know as much as I do.

Tutorials

Updated 1/11/2006 11:00:00 AM 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

Updated - lots more tutorials since January

Drunken Hyena has been providing quality DirectX tutorials for quite a long time and has a pretty good reputation as a result. Now he has converted most of his tutorials to Managed DirectX using C# and VB.Net

Updated 10/29/2005 8:14:00 AM by Zman

5/31/06: Shader WebCast **TODAY** 10am PST. Added link to download source if you want to follow along.

ZMan goes primetime... Tomorrow, May 31st 10am-11am PST. Introduction to Shaders with Managed DirectX. Downloads: Source

On demand webcasts:

2006: 3d game programming

Benjamin Nitschke presents a series of 3 webcasts Rocket Commander webcasts. Supporting material is avaiable on his blog.

  • Part 1 - 9am PST, Tuesday May 16th
  • Part 2 - 9am PST, Wednesday May 17th
  • Part 3 - 9am PST, Friday May 19th

Following on from the 2D series last year we now have a 3D series. The class is presented by Doug Heimer a senior at Digipen who has been involved in a couple of games that you can download and check out - Geo Warfare and Resonation.The bio says he's taught game development and C#. Several people asked about C# and Digipen at the first webcast and Doug said that though there is a C# class taught it's not used extensively in other classes and C++ is what almost all projects are done in.

Supporting material is available on the digipen webcast page.

2005: 2d game programming

This MSDN webcast is presented by an instructor from Digipen. They are building a 2D top down shooter using sprites.

The source code and PDF documentation can be found on the digipen companion site

 

Updated 5/31/2006 9:00:00 AM by Zman

11/5/2005: Reformatted, added links to new tutorials

Mike over at The ramblings of a hazy mind has a series of tutorials describing a managed DirectX game engine he is building.

Tutorials

  • --Index-- including Device and window setup, simple sprites, vertices and full textured meshes.
  • Timers - includes an explanation of the timer code from the sample framework
  • Picking - how to click on and find a 3d object
  • Skybox - including fixing the skybox to the camera so it never appears to move
Updated 11/11/2005 9:00:00 AM by Zman

Saq has converted his 2d tile based engine to the XNA framework. Source code and demo apps are provided.

Download Saq2D for XNA

Updated 10/17/2006 11:00:00 AM by Zman

3/22/07: Added whole bunch of MDX and XNA samples

The Code Project has several projects with sample Managed DirectX code. Be aware that some if it is quite old and may not compile against the current SDKs

XNA Framework Sample Code

Managed DirectX Sample Code

Updated 3/22/2007 12:00:00 AM by Zman

Retinex is a sample scene graph implementation using Managed DirectX. Looks like at the moment it's a one man project by Tommi Laukkanen.

As Tommi says:

The source consists of few classes and should be good basis for writing your own scene graph based application or game. However it is not complete 3d engine. I recommend trying it out as next step after looking at the SDK tutorials.

He has made the source code available under the BSD license.

I took a quick look at the code and its a fairly standard scene graph implementation. The only problem I had was that you will have to install NUnit or modify the code to get it to compile. There is only one example of how to use it and its very simple. There's currently no other documentation and the XML comments in the code are too sporadic to be of use. But its a great start if you are wondering what a scene graph is and to see how to architect one.

Updated 12/13/2005 11:55:00 AM by Zman

1/4/06: Added overlay sample and installer guide

Muhammed is a DirectX MVP and Gamedev forum administrator.

Articles

Sample Code

Updated 1/4/2006 11:30:00 AM by Zman

Aaron's main claim to fame is that he's the only person I have heard of who wrote a game (in Managed DirectX) for his girlfriend. We have never heard what the response from his girlfriend was but he moved to Tokyo to be with her so I think we can assume she wasn't disappointed :-)

Other than Texas Quest, it looks like he has some isometric wargame type thing (more) under way.

Tutorials

Sample Code

Thanks to Mykre for pointing out Aarons updates, my blog reader apparantly had given up on the blog. Resubscribed....

Updated 1/12/2006 8:00:00 AM by Zman

The Adventures of Source Fource is part of MSDNs marketing campaign where you can collect the limited edition 'action' figures for attending MSDN events. The game is based on the 2d game from last years webcast, any you can of course watch this years 3D webcast to earn the figures (provided you are reading this before May 2006).

Sample Code

via Mykre

Updated 2/2/2006 6:10:00 PM by Zman

Sky has a couple of nice sample programs written using managed DirectX (and a few more games that don't so check out all of the programs). Just to annoy old folk like me, Sky is doing all of this at the early age of 13. Nice work Sky.

Sample Code

Updated 2/3/2006 8:00:00 AM by Zman

Beginning Game Development is a series of tutorials that is creating a BattleZone type game using Managed DirectX and C#. There is a thread on Channel9 to discuss the series.

Tutorials

Updated 2/5/2006 8:00:00 AM by Zman

Nerdkill is a rewrite of an Amiga game from the 1990s. Very simple to play - you kill the nerds by using various weapons.

Sample Code

Updated 2/6/2006 8:00:00 AM by Zman

Source code available, fixed for the December 2005 SDK

Picture of the snowglobe breakout style gameSnowglobe is a fast-paced arcade style 3D game in the same vein as the classic Breakout and Arkanoid games. Set inside a virtual snow globe with a castle in the middle, the player spins a paddle around the globe and tries to hit a ball to destroy the castle brick by brick. It was written by a group at the University of Columbia. There is a white paper, a PowerPoint slide deck and full source linked from the home page.

Sample Code

via Tom

Updated 2/2/2006 11:00:00 PM by Zman

This is quite an old one from Channel 9, but Mykre reminded me I didn't have a link to it.

If you have seen any Avalon/WPF demos you will have seen a carousel control. Its a set of objects than spin around in 3D for you to browse and select. MinH has reproduced the look and feel in a windows forms control using Managed DirectX.

Sample Code

 

Updated 2/7/2006 8:00:00 AM by Zman

Pong Frenzy is a version of pong wih much nicer graphics than the original from Phil Vaira. The ball is bigger too which is great for old folk like me. He's provided the full source code including examples of using D3DXSprite, DirectInput and DirectSound

Sample Code

Updated 2/17/2006 8:00:00 AM by Zman

From Steve Lanuit

Sample Code

Updated 3/30/2006 8:00:00 AM by Zman

1/24/06: Added link to new Direct3D tutorials

Peter has a a set of tutorials implementing a 2D breakout game using both DirectDraw and Direct3D. Great for anyone who wants to learn how to convert between the two or how to do 2D graphics.

Tutorials

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

Riemer has a 9 part tutorial in c# showing how to create a 3d terrain. There is also one tutorial about reading the keyboard using DirectInput

Updated 11/7/2004 10:23:00 PM by Zman

Thobias has an introductory tutorial that runs quickly through the basics of device creation and basic drawing and ends with some basic shader code.

Updated 11/7/2004 10:16:00 PM by Zman

Craig has 16 tutorials in a wiki (so if you want to update them you can) which cover all of the basics including 2d and 3d fonts.

Updated 11/7/2004 10:07:00 PM by Zman

Frequently on the forums and discussion groups its obvious that a beginner is confused about 3D fundamentals. Dan has done an excellent job with his "3D for the Rest of Us" series (Part 1, Part 2) where he explains the various coordinate systems and how transformations work. Looks like he intends to write more. While this blog is really about the Avalon 3D API the concepts apply to Managed DirectX just as well.

Updated 11/7/2004 10:02:00 PM by Zman

Triple Buffer has some beginner tutorials for Managed DirectX. All updated to the October 2004 release - that’s nice to see. Unfortunately there's only a handful in managed code the rest are all C++.

Updated 11/18/2004 10:31:00 PM by Zman

RobyDX (Translated into English by Google) has a huge number of tutorials using managed DirectX on his website. They are all in VB.Net which is great to see since most other tutorials are in c#. For those of you who don't speak fluent Italian, google does a great job of translating. I expect some nuances are lost but its certainly good enough to find your way to the source code.

He has sample code for Direct3d, DirectDraw, DirectInput and DirectSound and topics from beginner to advanced shaders. A lot of hard work went into producing this many samples

Updated 12/11/2004 8:11:00 PM by Zman

c# home seems to be a fairly new c# web site. They currently have 4 managed DirectX tutorials:

Updated 1/17/2005 8:49:00 PM by Zman

6/3/06: Big update to the code

Jeremy has a great sample of how to use DirectX in a Windows Forms control. Not only that but his control provides a library of useful functions to simplify writing DirectX applications.

New features in the latest release:

  • Multi-Threaded (rendering never blocks the UI thread)
  • Synchronizes to monitor refresh for tear free drawing
  • Fixed hibernation/logout bug
  • Fixed (very rare) DirectX setup bug

Sample Code

Updated 6/3/2006 8:00:00 AM by Zman

Paul Stubbs has a wrapper and an example application for XInput (using Managed DirectX 2.0 beta) that shows the controller buttons lighting up.

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

Ryan is not a frequent Managed DirectX blogger but he has a post about getting Managed DirectX running in a Windows control that I'm sure some of you will find useful. There's a couple of samples there too. I had a few issues with rendering and resizing, but Ryan has fixed some of them. Even if its not perfect its a great start point.

Sample Code

Updated 11/7/2005 9:00:00 AM by Zman

VBGamer is a site just for game programming in VB. Its not just VB.Net and Managed DirectX but they do have some tutorials and a forum which have relevant content.

Updated 1/18/2005 7:21:00 PM by Zman

ThePentiumGuy has a VB based game programming site called vbProgramming with several Managed DirectX tutorials. The usual device creation stuff, learn about transformations and some sprite code (including transparency).

Updated 1/28/2005 7:45:00 PM by Zman

Patrice Scribe is the guy who created the DirectX type libraries used by VB (and other) programmers from DirectX 3.0 through 6.0. He has a set of articles from 2003 about various aspects of Managed DirectX. The code is in VB.Net and there are short articles on Bounding volumes, scene graphs and others. Given the dates the code may not compile against the current SDK. Looks like Patrice hasn't updated the site in a while either.

I've been informed that Patrice is/was the owner of the yahoo group I mentioned the other day, I've tried getting hold of him through his website and the mailbox is full. So Patrice if you read this drop me an email.

Updated 1/29/2005 6:45:00 PM by Zman

Johan has made the slides from the Swedish MSDN workshop online - find out the details at his blog.

Updated 2/2/2005 10:10:00 PM by Zman

Nick Swan had the beginnings of a managed directX website before real life got in the way. He has a couple of tutorials.

Updated 1/22/2005 8:11:00 PM by Zman

Tech Head Brothers is a French .Net site which has (currently) 4 Managed DirectX tutorials. They are in French but you can of course use the google language tools to translate them.

Updated 3/6/2005 10:11:00 PM by Zman

MonkeyCMonkeyDo is a c# game programming site by 2 'blokes' from England. Right now they have the beginnings of a DirectDraw tutorial for a game which they have already completed with promises of much more.

Updated 2/17/2005 7:21:00 PM by Zman

Riccardo Riedl has a development blog with a series of tutorials about Managed DirectX. The text is in German so you can use the excellent google translators if you do not speak the language.

Updated 3/10/2005 6:45:00 PM by Zman

11/25/2005: Added forums

GPWiki is a wiki devoted to general game development that also has some Managed DirectX content.

Tutorials

Forums

Updated 11/25/2005 10:30:00 PM by Zman

Developez.com is a french language website for developers. They have a published article (English through google) introducing Managed DirectX.

There is also a tutorial on video playback (English)

Updated 6/14/2005 7:41:00 PM by Zman

Xblog.org has a couple of beginning tutorials up. So far we have the obligatory "How to set up the device" and the beginnings of one on playing samples. They have promises of higher level tutorials such as terrain rendering. Of interest is the fact they are using #Develop as their IDE.

Updated 5/29/2005 12:17:00 PM by Zman

I came across a short tutorial from the department of Acoustics, Audio and Video at the University of Salford in England.

Tutorials

  • Virtual Environments with 3D graphics and 3D audio. 3 simple sections on getting graphics to the screen, playing normal and 3d sounds and capturing audio using Managed DirectX. Source code is provided and I would recommend downloading that rather than following the dangerous instructions on making your computer trust the entire domain.
Updated 11/27/2005 8:00:00 AM by Zman

Stephen Gower has 2 samples called Liquid Brain and Bucky Balls. They are from 2003 so the source was designed to run against an earlier version of the framework.

C Sharp corner requires free registration to get the source. If that bothers you you can find one of the samples here

Fixing the Code:
To compile the code against the current version of the framework you need to add 'null' as an additional 1st parameter in the font.DrawText call and change the light.enable() to light.update()

Updated 11/15/2004 9:29:00 PM by Zman

CreatedByX has a whole set of sample code and resources including a lot of code in VB.Net. I gather the rumours of a switch to OpenGL are overrated and DirectX is still his API of choice.

Sample Code

Updated 12/13/2005 4:30:00 PM by Zman

9/30/05: New version of DXGfx availalbe.

Eteractions is currently a work in progress from Guillaume Randon. It has the beginnings of a world editor and a physics simulator wrapped around a reusable graphics library. Whilst its not complete right now Guillaume has made the source available as sample managed DirectX code. The code has been updated to require .Net 2.0 and has some new features such as a QuadTree and multi texturing.

Updated 9/29/2005 8:00:00 AM by Zman

Daniel now has a Jukebox sample, a Media Conversion sample and how to implement a filter in c#.

Updated 8/15/2005 12:00:00 AM by Zman

The Mail Owl Scrolls, may think he is not as worthy as some, but he has quite a good set of sample code himself. Sadly its just the code, no tutorial text alongside, but there are some rarely seen topics in addition to the usual set of beginner code.

Sample Code

Updated 9/5/2005 8:05:00 AM by Zman

8/29/05 v1.1 released

As you may know, the managed interfaces to DirectShow are rather lacking. David from Lime Green Socks began a project to provide a more complete set. The project, DirectShow.Net, is now hosted on sourceforge.

Yes I know that technically DirectShow is deprecated in DirectX, it has in fact moved to the platform SDK but there is still plenty of demand and questions regarding it in the managed DirectX space.

Updated 9/4/2005 8:12:00 AM by Zman

Dominique Louis from delphigamer.com has converted the Managed DirectX samples to Delphi and posted them on the Borland Developer Network. You need to create a free account to download the samples.

Updated 2/11/2005 7:12:00 PM by Zman

FredM has a post on Channel9 regarding some sample Managed DirectX code that generates and renders a nebula. Looks very nice. Code runs under VC# express 2005 and as an added bonus it renders to a panel on a winform which is an FAQ from the newsgroups.

Thanks Mykre

Updated 5/20/2005 7:21:00 PM by Zman

Something a little unusual for any programming language enthusiasts. Don Syme wrote a blog entry about using F# with DirectX. F# is a functional language from Microsoft research similar to ML however F# compiles to MSIL just like every other .Net language and can therefore call all of the same APIs as you can call from C# or VB.Net. The tutorials are linked from his blog and can be found at Jack Palevich's space

Updated 1/19/2005 10:01:00 PM by Zman

A couple of Managed DirectX projects I came across on codeproject.com

Updated 5/31/2005 7:23:00 PM by Zman

7/12/06: New class date, updated locations and site sponsorship


Surely it must be a good indication of general interest in a technology when a large training company like DevelopMentor has a 3 day managed directx training course. There's some nice screen shots of the course samples on the website including a Roller Coaster simulator which looks fun. There is also a video to preview some of the course samples.

The instructor is Dave Remba who, as you can see from his bio, has extensive graphics and programming experience.

Right now there is only one future date showing, October 4th in Torrance, CA, USA at a cost of $2795 but DevelopMentor also has sites in London and Boston and they will also do onsite courses at your location. So if other locations are of interest to you, or you have any questions about the class then please contact DevelopMentor directly or email me and I will pass your requests on. (Note that I have not seen the course content so I cannot answer questions regarding that myself)

Those of you viewing this on the website will probably notice that DevelopMentor is our 1st site sponsor for the next few months for which The ZMan is very grateful.

Updated 7/12/2006 11:00:00 PM by Zman

Homepage

Updated 11/7/2004 9:54:00 PM by Zman

Homepage

Updated 11/7/2004 9:50:00 PM by Zman

Vectiva died sometime after February 2005 and has been replaced by a site full of ads. Mail me if anyone has a mirror, or it has a new location.

Vectiva has a set of tutorials covering the basics and some stuff on DirectInput. Each tutorial has a nice accompanying text so its not just source code you have to look at. Looks like they are working on a series so check back often.

Waybackmachine mirror (though no real content): Physics, DirectX

Updated 3/19/2007 7:00:00 PM by Zman