XNA 4.0 Updates Incoming

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 http://code.google.com/p/hmengine-xna/

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

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

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.

Upgrade Complete…

April 5th, 2009

All of the tutorials have been fully updated and the source tags checked in for the changes implemented to help better deal with the multitouch device. The new architecture of the IHMComponent library should help make a lot of things easier to implement later on (or now if you found the functionality lacking before.)

Basically the engine is put together in the same manner as before, but with a lot more HMComponents to allow for more flexibility in putting together objects to be managed by the engine (like a Loadable, Updatable, Renderable HMInputDevice).

Now its on to really getting this multitouch project going!

Progress on the touch UI

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

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.

XNA and WinForms

January 23rd, 2009

A lot of people don’t think it is possible to have winforms items (like buttons and dropdowns) in an XNA application, but I am here to prove them wrong. There is a ridiculously simple method of adding controls to your XNA application INSIDE the XNA window without too much hassle – as long as you are ok with coding up the items by hand.

One downfall is that this won’t work on the Xbox 360 since System.Windows.Forms is not included in the things XNA can render, but these types of UIs aren’t really the kind that would work well on an Xbox anyway.

Here is my method of adding the controls and a screenshot of the app running:

 protected override void Initialize() {
    var list = new ListBox();
    list.Items.Add("Here");
    list.Items.Add("Are");
    list.Items.Add("Some");
    list.Items.Add("Items");

    Control.FromHandle(Window.Handle).Controls.Add(list);
}

ListBox in an XNA window

I hope this method solves a lot of the issues people seem to be having with using these Controls together with XNA.

More Multitouch Table Fun

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

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.

Major Progress on the Soft Body Simulation

October 7th, 2008

I’ll let the video do most of the talking, but the progress on the soft body work from the last two posts is coming along nicely. Correct pressure, momentum, and spring handling throughout the body is now fully working, and I can begin moving on to collision detection and other physics aspects outside the body itself now.

Here is a video of the current state of things. I start the demo out with half of the sphere scaled outwards from the center just to give the body something to fix when I start the update cycle. You can easily see the accuracy in the waves moving through the body and how far it has come in only a couple of days of work.

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