Welcome to MSDN Blogs Sign in | Join | Help

December 2006 - Posts

The need for speed

Chris To, one of the guys from the .NET Compact Framework team responsible for making XNA possible in the first place, writes good stuff about CPU performance and garbage collection on Xbox. Includes bonus links to more general CLR performance references,

No SpriteBatch in the cold and the dark

I thought I was done writing about SpriteBatch, but then Ultrahead asked for some examples of interesting things that can be done with custom renderstates, and I realized I do have more to say about that. On Thursday night, just as I was about to start

Return of the SpriteBatch: sorting part 3

SpriteSortMode.Texture sorts sprites by texture. SpriteSortMode.BackToFront and SpriteSortMode.FrontToBack do the obvious thing. But what is the difference between the Immediate and Deferred sorting modes, and why should you care? These modes both draw

SpriteBatch sorting part 2

Continuing from yesterday... Let's consider a practical example of how to sort sprites for good performance. Imagine I am making a game called Super Dromedary Racer Extreme , which requires a top down view of a piece of desert. My graphical elements are:

SpriteBatch and SpriteSortMode

If graphics cards had personalities, they would be geeky and obsessively hard working. No signs of attention deficit disorder here! When a graphics card gets stuck into a job it likes to concentrate on a nice big meaty piece of work, and it doesn't like

Technicolor Julias

My friend George Foot suggested this improved version of the Mandelbrot shader I posted yesterday: float4 PixelShader(float2 texCoord : TEXCOORD0) : COLOR0 { float2 c = (texCoord - 0.5) * Zoom * float2(1, Aspect) - Pan; float2 v = 0; float m = 0; const

Some links

I like Lisp . I've never had the chance to write anything significant using it, but it always struck me as a fascinating and fundamentally cool programming language. ML and O'Caml are not Lisp, but they share some of the same functional programming ideas.

Sixty fractals per second

The Xbox GPU is a shading monster! I've written several Mandelbrot viewers over the years, but this is the first time I've ever been able to move around this at a rock solid 60 frames per second: The trick to making this fast is to do all the heavy lifting

Mysterious goings on in the night

Strange how the final stages of any software development project always seem to take place in the early hours of the morning! When I was in college and writing Allegro I would study for my music course during the day, then code at night. I had no internet

Rendering a Model with a custom Effect

If you want to use your own effect for model rendering, you have basically two choices. You could just let the content pipeline do its stuff and then replace the output data with your own effect at runtime, or you could use a custom processor to specify

Cornflower Blue

My colleague Eli decided it was time to join us cool blogging cats and start writing interesting things for y'all to read. If I had a prize, I'd give it to the first person who can figure out where his blog title comes from...

Joel Martinez on customizing the ContentManager

Joel Martinez has a nice example showing how to share resources between more than one ContentManager instance. There are actually a lot of really cool possibilities with this approach. For instance if you have a couple of textures that you know are shared

What to extend in the content pipeline

A cheat sheet listing some common content pipeline extensibility patterns "I want to tweak my content in some way" Change the format or size of my textures Apply a custom effect to my models Convert a texture into a heightfield mesh Solution: implement

What happened to October?

I was just looking at my blog posting history (as you do...) and noticed I didn't post a single entry during the entire month of October. Come to think of it, I don't remember much about October at all. Signs of crunching to get XNA finished, perchance
 
Page view tracker