Archive for the ‘News’ Category

Windows 8, Visual Studio 2012, DirectX 11

Thursday, September 27th, 2012

For a short while now I have been working on porting over most (if not all quite yet) of the functionality of the tutorial HMEngine to a DirectX 11 and C++ version of things that I have been calling “Haze”. Recently, quite a few changes have been occurring that greatly affected how I have been going about this and I have once again wiped the project slate clean and started it up again using the new functionality available in Windows 8 and Visual Studio 2012.

One of the major changes I have made to things now that the base engine is in place and working is changing the static ComponentManager class that used to handle all of the Initialization, Loading, Updating, and Rendering of objects. It has now been transformed into a Scene class and a Scene Manager. Using the new setup, I can put together completely independent groups of items, effects, and cameras (one per scene for now) and load and unload any scene at will.

Using the new XAML UI integration in the Windows 8 version of a Direct3D application, I have hooked up the Scene Mananager to a set of buttons and can swap between them with a simple click. Here is a quick screen shot of what I am talking about (albeit with a VERY simple scene):


DirectX 11 and C++

Sunday, July 17th, 2011

To try and expand my programming horizons a bit, I am working on a version of the HMEngine (codenamed Haze for the moment) using C++ and the latest DirectX version. It has been a while since I have coded anything large in C++ so I’m sure there will be a bit of a curve getting back into it. I am considering posting this version of the engine as a tutorial series alongside the XNA ones depending on how things go and if I feel the concepts are simple enough for beginning game developers. I may also just put it together as a small demo engine for more of a portfolio use. If anyone has thoughts or opinions about this please let me know in the comments.

Moving to git

Monday, January 17th, 2011

Just a quick message to say there will be a little downtime in tutorial update and book review posts while I move my source over to git and github.

My reasons are many, but much of the background information and research I have done on the topic is well summed up in Linus Torvalds’ talk at Google.

XNA 4.0 Updates Incoming

Saturday, June 19th, 2010

All of the tutorials have been updated to work with the new XNA 4.0 CTP! As the HiDef profile is not yet available in the CTP, I cannot completely finish the postprocessing tutorial #8 because the GetBackBufferData method is only supported in the HiDef profile. Once an update or the release happens the PDFs will be uploaded to reflect the changes.

All of the tags in the svn repository have already been updated (except #8) so if you want to get an early look at the changes feel free to check out a copy from

I’m thinking hard about getting another tutorial out the door for the 4.0 release. The two previous ones I was attempting to get going have become a big complicated mess and not something I’d really feel comfortable trying to release as a tutorial (it’s more like a paper for a big graphics conference or something…) so I’ll keep thinking and see if I can’t come up with something that fits well into the tutorial format and maybe takes advantage of some new features in the 4.0 API.

On a somewhat related note, I got one of those new XBox 360 250GB editions, and it really is as whisper quiet as they have been advertising.

More nook Updates

Sunday, January 24th, 2010

Well, the group that I am sort of an official part of now has gotten a new launcher that clones the functionality of the built in nook launcher but with the additions of being able to reorder the applications and to add more applications of which currently consist of:

  • nookBrowser – a simple browser application
  • nookLibrary – a replacement for the “my library” application that has more sorting and search options
  • trook – a free ebook downloader, feed reader, and application installer (these will be made into individual apps soon)

All in all things are moving along pretty fast. I have not done much of the major coding yet but have taken over a large part of the standardization and integration of the separate projects. I’m hoping to get more directly involved in coding some things now that i have everything in a more easily accessible setup for people new to nook development (which is pretty much everyone right now)

Emulated nook in the Android SDK

Thursday, January 7th, 2010

So I just got my new nook and started to do some research on writing some apps for the thing and came across this blog post and this wiki post that help get the thing set up and running in the Android SDK emulator. The whole process was a bit complicated, but once I got the thing working on the Ubuntu side of things it was a simple trick of replacing the same file on windows and it ran perfectly there as well.

The only shortfall for me (who does most of my graphics development in DirectX technologies) is that because Android is Linux based, it only handles OpenGL, although the SDK does have some pretty easy quick hooks into the API so I may have to branch out a bit. We’ll see where it goes.

Progress on the touch UI

Tuesday, March 31st, 2009

Well, having had my FTIR table for a few weeks now I have had a bit of time to get some code together (using some features of the newly refactored HMEngine of course) and get the touch inputs streaming into my XNA apps.

At the moment, I am working on an HMMultitouchDevice that can be added to the engine like all the other devices (mouse, keyboard, and gamepads) that just works out of the box with the engine. This whole project has been given the name “PufferFish”, which was a totally random title thrown out into the #xna channel immediately upon my asking for a good name from the folks in there and it just kind of stuck.

The device is currently taking touch inputs and just rendering spots on the screen where the touch would correspond to. Event wiring will be happening next, but I am playing around with some rendering of the spots (circles around fingers etc.) first just for a bit of fun. As soon as I can get some videos of the project in action I’ll get them up here. That’s all for now.

Engine Refactoring

Wednesday, March 4th, 2009

The introduction of multitouch capabilities into the HMEngine has caused a bit of a stir in the way that I had the architecture of some of the components laid out. Specifically, the IHMRenderable and IHMUpdatable interfaces and the HMInputDevice. Since the multitouch device needed a cursor (actually N cursors based on the current fingers touching it), I had an HMInputDevice that also needed to be IHMRenderable. The problem with that though was that input devices are never in a place where render could be called on them.

To keep a long story short, I refactored the components a bit and now have an HMComponentManager that keeps lists of anything that is updatable, renderable, loadable etc. just like the HMObjectManager used to do, but it also includes the ability to add input devices and cameras as well (basically everything in the engine is a child of some IHMComponent or another).

Since these changes are pretty important and add a lot of flexibility to the items we can create and use in the engine. I will be updating the tutorials to accommodate the differences that have been introduced. This will probably take a little while, as I want to release the full set of changes all at once, but the final outcome will overall be a much better put together framework.

More Multitouch Table Fun

Wednesday, January 21st, 2009

Well, the multitouch table project I have been working on for a while reached a new milestone when my dad got involved. He has better tools and resources and more electronics experience, so he set up a pretty sweet frame for the table project I am working on.

Once there is some progress in the actual software side of things, I’ll post some videos of some interaction with the table itself. Until then here are the teaser pics

The disasembled camera

You can see the IR filter that gets replaced here

The lens from this will be used to keep the table shorter

The lenses from this will help keep the table shorter

Here is a shot my dad sent of the finished tabletop

Here is a shot my dad sent of the finished tabletop

XNA Tutorial Series Updated to C# 3.0

Sunday, October 19th, 2008

I have gone through all of the tutorials with ReSharper on my side helping to optimize things and update all of the code to C# 3.0

There have also been a few minor architectural changes making the different managers (shaders, objects, input etc.) into GameComponents and DrawableGameComponents – which I have been thinking about doing for a while – that drastically simplified the Game class itself.

Take a look at the new setup and let me know what you all think in the forums.

The projects in svn will now require Visual Studio 2008 to be run, and some parts of the code use features available only in C# 3.0, but any of these that your compiler doesn’t support should be fairly easy to write in a C# 2.0 manner.

Do NOT follow this link or you will be banned from the site!