Using SFML sprite modifiers
Now that we've identified a number of strengths and weaknesses of procedurally generating art, get started! The first naïve approach that we'll look at is simply using sprite
modifiers such as color
and alpha
to alter the existing sprites. With this method we'll be using the built-in sprite modifiers that SFML offers. Most engines and frameworks will have functions that are similar to these, and if not, you can just make them yourself!
How colors work in SFML
Let's start with the simplest way of procedurally generating a sprite, generating a unique color for it during runtime. A color in SFML is simply a set of four uint8
values, with one for each color channel and one for an alpha:
sf::Color::Color ( Uint8 red, Uint8 green, Uint8 blue, Uint8 alpha = 255 )
Every sf::Sprite
in SFML has a sf::Color
member variable. This color value is multiplied with the color values of the pixels in the texture to arrive at the final color. The following image demonstrates...