1 // 2 // Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 #ifndef SAMPLE_UTIL_SHADER_UTILS_H 8 #define SAMPLE_UTIL_SHADER_UTILS_H 9 10 #define GL_GLEXT_PROTOTYPES 11 12 #include <GLES3/gl3.h> 13 #include <GLES3/gl3ext.h> 14 #include <GLES2/gl2.h> 15 #include <GLES2/gl2ext.h> 16 #include <EGL/egl.h> 17 #include <EGL/eglext.h> 18 19 #include <string> 20 21 #define SHADER_SOURCE(...) #__VA_ARGS__ 22 23 GLuint CompileShader(GLenum type, const std::string &source); 24 GLuint CompileShaderFromFile(GLenum type, const std::string &sourcePath); 25 26 GLuint CompileProgram(const std::string &vsSource, const std::string &fsSource); 27 GLuint CompileProgramFromFiles(const std::string &vsPath, const std::string &fsPath); 28 29 #endif // SAMPLE_UTIL_SHADER_UTILS_H 30