Bitfield renderstates

To manage renderstates in the MotoGP engine, I used the “every man for himself” approach described in my previous post. To make this fast, I had the following goals: Drawing methods should be able to specify exactly what states they want, using a compact, efficient representation It should be trivially easy to detect one when…

1

Graphics state management

Once upon a time there lived a young graphics coder named Johnny. One day Johnny wrote a program that displayed a 3D model. As is frequently the case with people his age, Johnny was somewhat careless and did not bother to set all the renderstates which an older or wiser programmer would undoubtedly have taken…

5

C# Express r0x0rs!

I occasionally read about people being put off trying the XNA Framework because they don’t want to install C# Express, worrying this might somehow interfere with their main Visual Studio installation. This is madness! C# Express just like totally rocks, dude… It coexists perfectly with other versions of Visual Studio. I’ve been running both side…

8

Monitoring the garbage collector

We heard rumors that SpriteBatch.DrawString was generating garbage on Xbox, so this morning I set out to investigate and fix the issue. Trouble is, the Xbox Remote Performance Monitor tool isn’t working with my interim build of the framework. How can I possibly investigate or confirm a fix to a GC issue, without access to…

4

Content Pipeline types

A couple of people recently pointed out that our documentation isn’t very clear on what data types are available in the Content Pipeline, and the relationships between the Content DOM object model produced by the importers, the converted types output by the processors, and the types you load into your game at runtime. So I…

10

Editing curves

I like curves. One of the guys on the framework team wrote a curve editor that makes it trivially easy to create and tweak the settings for Curve objects. I highly recommend both this utility and the accompanying doc. A few well chosen curves can do wonders to make your object movement, graphics effects, physics,…

1