I've given the different brick types their own textures. This adds a bit more variation to the wall, in addition to making the brick stand out a bit more in contrast to each other. Also, this will hopefully help color-blind people differentiate between certain brick types immediately. The way things are currently set up, bricks will be sharing the same five textures drawn from a 2048x2048 image. I may bump the size of this image up to 4096x4096 and have twenty-one different textures to choose from, but much of this could be wasted space as there are only about twelve brick types planned. There are actually two textures per type, one for the front face and another longer one for the sides. This helps reduce some of the stretching on narrower bricks.
I had implemented multiple brick textures in the past, but the results were not satisfying to me, appearance-wise. I think that it finally looks presentable enough. Part of the problem is the distortion and stretching that happens on the brick side faces. It is really noticeable when a texture has been smashed into a narrow space like that, especially if the texture has many little details. The texture for the regular white bricks is passable in this case, being mostly noise without distinct features. One solution would be to up the size-up the source image and include texture variations for each brick size. Right now, things are passable, so it is not really an issue for me. I should not be spending too much time on such finicky details, rather concerning myself with more level design.