#pragma once

#include <memory>
#include <wrl.h>

// Enable function definitions in the GL headers below
#define GL_GLEXT_PROTOTYPES

// OpenGL ES includes
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>

// EGL includes
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <EGL/eglplatform.h>

// ANGLE include for Windows Store
#include <angle_windowsstore.h>

// These are used by the shader compilation methods.
#include <vector>
#include <iostream>
#include <fstream>

GLuint CompileShader(GLenum type, const std::string &source);
GLuint CompileProgram(const std::string &vsSource, const std::string &fsSource);