Birkemose/td — pull request #1 by slembcke (2012-02-14 16:08:00+00:00)
Title: Some suggestions

I made a little CCSprite subclass to draw the terrain using alpha cut. You could expand that to do some multi-texturing and draw some nice high res terrain. It does a full refresh of the texture for each change. I didn't really profile it, but it seems to run fine that way. If the performance is fine and you can avoid the extra trouble of doing a partial refresh of the texture, I would.

I'd recommend inverting your colors, Chipmunk expects the value returned by the sampler to represent density. 0 is low density, and 1 is high density. Also you can use the values as an alpha texture in OpenGL without having to invert them.

I'd avoid indexed color bitmaps, especially if you are copying the raw bytes out of a CGImage loaded from one. It means that you are copying color indexes, not actual color values. If you use an anti-aliased greyscale png, you can get a smoother contour out of the terrain anyway.

Your don't need to fiddle with the bitmap in your pointInsideTerrain: method. You can just ask the sampler what the density at the point is.

Hmm... I think those were the only changes I made really.