I'll answer question 2 from the title: "How do they work?" Textures are simply put, an array of vectors. a vector being (in this case) a method of storing four float values. The values stored per vector are x,y,z,w or, r,g,b,a. The number of vectors is equal to the width multiplied by the height of the texture, in pixels.…