you use explicit attribute locations, an OpenGL 3.3 / GLSL 330 feature. You might get this also with the extension on your device. The shader compiler should have given you an error at compile time, you might want to check those messages.

Does that mean I need to change the version in my shader to 330 or higher? It used to be a 430 as I was following a tutorial I found online, but I lowered it to 140 when I saw another forum post say the it should be lowered to whatever number the Intel build it. Setting the version to 330, 430, or anything else doesn't work either. I still get white triangles with no color.

I didn't get any errors with my fragment shader. However, the vertex shader compiler returned this error when I ran it using version 330 (It returned that version 430 is not supported by my OGL driver).

"ERROR: 0:2: 'location' : syntax error parse error"

When I lowered the version number to 130, I get this error:

"ERROR: 0:2: '(' : syntax error parse error"

I'm not sure what this means. I don't see a parenthesis out of place anywhere....please, help!

If it complains that GL_ARB_explicit_attrib_location is not supported, then you cannot use the layout(location=#) syntax. You'll have to set the attribute location via glBindAttribLocation() in the main app, or use whatever attrib locations the compiler gives to you (query via glGetAttribLocation()).