Blogging from Word 2010
Posted by Michael in Programming, Website, xna on February 23rd, 2010
Just trying out the blogging features in Word 2010. Previously I used Live Writer for blogging, however there are some nice features like Insert Screenshot in Word 2010 that I would like to use.
I am almost done with the LPP article, just one more section and the sample to finish. If you are interested in more timely and fast updates, follow me on twitter: @quandtm
One thing I am missing from Writer is tag support, if anyone knows how to get it in Word, please let me know; or conversely if you know of a great plugin for automatically taking and inserting screenshots of the desktop for writer, let me know as well. (I know about the snipping tool, I currently use it, but it has a few steps in between that I don’t really want)
An update on LPP + Sample
Posted by Michael in Programming, directx, xna on February 21st, 2010
Hi everyone, first of all apologies for the delay. there has been quite a lot going on in my life, but I am working hard on getting the sample done. This time around I wanted to make sure I had a sample ready to go with the article, especially since the article will focus on the technique and theory and have little to no code – although I will certainly focus on XNA when it comes to mentioning issues and benefits to certain parts.
One of the main delays was getting the sample code out of my engine, and cleaning it up so it can be used as a learning tool. Unfortunately most of the code was hacked on as I fixed issues in the LPP renderer, and added features.
I have a fair bit of the article written, however recently I was implementing shadows and realised that I never thought about how they would integrate into the system, so I decided to rewrite my own renderer (which should not take long) and at the same time keep the code clean so it can serve as a sample as well.
This means I will probably also have Directional Light shadows in the sample. This then allows me to write about point lights, and spotlights later on, and include shadows for both.
So again, sorry for the delay, I am working hard to get it out soon.
As an aside, I noticed that Game Programming Gems is getting an 8th Edition, something I was not expecting, so with that, GPU Pro, and Game Engine Gems, I might be able to find some more cool things to write about.
Thank You for your patience.
Robbie Bach Uni Talk
Posted by Michael in Games, Programming, Students, Xbox 360 on January 31st, 2010
Robbie Bach, President of Microsoft’s Entertainment and Devices division is giving a public talk at the University of Sydney on Tuesday 9th February 2010.
For any readers who are in Sydney, this would be a great event to attend. E&D covers everything from the XBOX to the Surface, even Keyboards + Mice from MS hardware.
Hopefully there will be a Natal unit on display, and maybe a demo, although no confirmation yet.
RSVP by emailing kumarman[at]microsoft.com
Autodesk Student Subscriptions [Freebies]
I know that many of you will want to make use of either Blender or the nice free version of Softimage (Previously XSI) on the Creators Club website, however for those interested in expanding their skill set, perhaps with the intention of entering the industry, getting access to 3ds Max or Maya can be quite hard to do.* (legitimately)
I recently found that if you are a student and have an email address with your institution (.edu) then you can get access to licenses for Max, Maya, even AutoCAD and Revit for free using the Autodesk Student subscription.
Just go to http://students.autodesk.com to see if you qualify and register.
* I am not implying that 3ds Max + Maya are the only tools the industry uses, however they are the focus of this post.
Side Note: There are way too many versions of AutoCAD.
Action Based Input Manager w/Events in XNA
Posted by Michael in Programming, xna on January 4th, 2010
I recently completed an action based Input system for my own engine that allows me to create named actions which support the GamePad, Keyboard and Mouse.
The system uses events to notify the game of changes in input state, which makes it really easy to use, and the system supports XML serialisation so key assignments can be saved and loaded.
Supports:
- Thumbsticks (Analog)
- Triggers (Analog)
- GamePad Buttons (incl Trigger “Buttons”)
- Keyboard
- Mouse (Analog)
- Mouse Buttons
The system also supports Gamepad, Mouse and Keyboard assignments for each action, so you can support both the GamePad and Keyboard at the same time.
It also supports disabling of certain GamePads, so you can find the active GamePad and only accept input from that one, via a really simply array of booleans.
You can specify a single direction or axis for the Thumbstick and Mouse, so that the events will only be triggered if there is movement “up” on the Thumbstick.
You can download the InputManager and InputAction classes below:
Feel free to use these classes in your own project, although if you do make use of them, it would be nice to get a mention.
If you notice any problems, or have any suggestions/feedback, feel free to post them in the comments.
Note/Disclaimer:
This sample/code is provided as is. I am not responsible for any problems you may have, and you use the code at your own risk.
I am available to answer questions about the code through the comment system on this website – although this is not guaranteed.
This code was intended for personal use, however I have decided to share it with the community to help out newer developers.
Happy New Year
Posted by Michael in Uncategorized on December 31st, 2009
Happy New Year everyone, hope you all have a great 2010.
I for one know that my new years resolution will be to get more content up. Once I am better of course, I caught a cold + ear infection at #ozgamecamp and haven’t been in the mood to do much development or writing over the past two weeks. Expect content as that clears up (It is slowly going away) and things get started again for 2010.
Enjoy!
Rewrite of LPP Article Planned
Posted by Michael in Programming, Xbox 360, directx, xna on December 12th, 2009
I recently went about making the current Light Pre Pass system run on the XBOX 360, and had to fix some issues that appeared there. As a result, the next article to go up will be a rewrite with all of these fixes included. I should also be able to provide the sample code at the same time.
This time around I will cover Point, Ambient and Directional lights in the same post, as well as including information about an alternate light buffer format that allows for improved specular + per-material specular.
Expect this either during the weekend of 20-21st Dec, or shortly after that.
Unfortunately I could not test the code on the XBOX the first time around due to subscription issues, however everything is fine now, and I can and will test on both XBOX and my desktop PC beforehand. (Perhaps also other PC configs depending on who I can find online at the time, and what other machines I have on hand
)
Get Great Benefits from the MSP Program
Just a quick break from the regular programming (haha) to let every reader of this blog know that the Microsoft Student Partner program is open for signups.
If you are a student in tertiary education (University etc) then you can apply for the role by going to http://student-partners.com and following the instructions there.
Benefits vary per country, however the common one seems to be that you get a free MSDN Universal subscription, which gives you access to every piece of MS software you could want. (As long as it relates to development)
I have been a student partner for 2 years now, and I am really enjoying the experience. you meet like minded students from your country and get into some really awesome and at times exclusive events. Here in Australia we get free access to TechEd AU, and even get into exclusive XBOX parties. One big event of note this year was the local Windows 7 launch, which many MSPs from Sydney attended.
Tons of benefits, and plenty of reasons to join, so why don’t you?
Important Additions & Fixes to LPP Implementation
Posted by Michael in Uncategorized on December 4th, 2009
I have finally tracked down an issue that I was having with the Light Pre Pass implementation, and as a result have had to make some changes to the implementation.
Firstly, I would recommend ensuring RenderState.AlphaTestEnable is false before rendering materials, it appears this is set (at least in my sample) somewhere and it corrupts the light buffer.
Secondly, move the postProjToScreen and halfPixel calls from the vertex shader in blinnphong.fx, to the pixel shader. Some GPUs (like my laptop’s) do not correctly interpolate the adjusted screen coordinates, and this ensures it is correctly interpolated per pixel.
gfx.SetRenderTarget(0, light); gfx.SetRenderTarget(1, null); depthImage = depth.GetTexture(); normImage = normals.GetTexture(); gfx.RenderState.AlphaTestEnable = false;
Finally, when writing the Normal in the vertex shader for def_depthnorm.fx, swap the parameters of mul(input.Normal, World) to mul(World, input.Normal).
That should be all, if you notice any other issues, feel free to post them in the comments, it would be greatly appreciated.
Disqus Comments Added
Posted by Michael in Website on January 1st, 2010
Just letting everyone know I added Disqus commenting to this site, so if you have a profile with them, use that, otherwise they offer many other ways to login via Facebook, Twitter, Yahoo etc.
This adds some more commenting features, and should make the experience better overall. All previous comments should have imported correctly into Disqus.
comments, disqus
Comments