I decided to go back to basics and challenge myself to see what I can come up with using only the sine function. I also wanted to only do this using a fragment shader.
"A Fragment Shader is the Shader stage that will process a Fragment generated by the Rasterization into a set of colors and a single depth value. The fragment shader is the OpenGL pipeline stage after a primitive is rasterized. For each sample of the pixels covered by a primitive, a "fragment" is generated."