https://scpilot.org/blog/how-do-game-developers-make-textures/