Move the red square with the mouse, move the blue square with the arrow keys, and resize the squares with I, J, K, and L
I decided to make a pen-based software renderer that can draw colored quad primitives and very limited textured quad primitives The blue gradient you see in the project is drawn using a texture. The "TextureData" list inside the project only has color values per line in the texture, not per column. (Basically like Atari 2600 sprites) If I did set the color per column, then it would lag quite a bit when drawing large quads