public static Shader buildShader(final String shaderFile, final ShaderType shaderType)
	{
		try
		{
			final ByteBuffer fileBuffer = FileReader.readFile(shaderFile);
			final int shaderID = glCreateShader(shaderType.getShaderTypeID());

			glShaderSource(shaderID, fileBuffer);
			glCompileShader(shaderID);

			if (glGetShader(shaderID, GL_COMPILE_STATUS) == GL_FALSE)
			{
				throw new ShaderCompileException(
						"Error attempting to compile shader: "
								+ shaderFile
								+ "\nError log:\n"
								+ glGetShaderInfoLog(shaderID,
										GL_INFO_LOG_LENGTH));
			}

			return new Shader(shaderID);
		}
		catch (final IOException e)
		{
			throw new ShaderCompileException(
					"Error attempting to load shader file: "
							+ shaderFile, e);
		}
	}