1 // This file is part of libigl, a simple c++ geometry processing library. 2 // 3 // Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com> 4 // 5 // This Source Code Form is subject to the terms of the Mozilla Public License 6 // v. 2.0. If a copy of the MPL was not distributed with this file, You can 7 // obtain one at http://mozilla.org/MPL/2.0/. 8 #include "uniform_type_to_string.h" 9 uniform_type_to_string(const GLenum type)10IGL_INLINE std::string igl::opengl::uniform_type_to_string(const GLenum type) 11 { 12 switch(type) 13 { 14 case GL_FLOAT: 15 return "GL_FLOAT"; 16 case GL_FLOAT_VEC2: 17 return "GL_FLOAT_VEC2"; 18 case GL_FLOAT_VEC3: 19 return "GL_FLOAT_VEC3"; 20 case GL_FLOAT_VEC4: 21 return "GL_FLOAT_VEC4"; 22 case GL_INT: 23 return "GL_INT"; 24 case GL_INT_VEC2: 25 return "GL_INT_VEC2"; 26 case GL_INT_VEC3: 27 return "GL_INT_VEC3"; 28 case GL_INT_VEC4: 29 return "GL_INT_VEC4"; 30 case GL_BOOL: 31 return "GL_BOOL"; 32 case GL_BOOL_VEC2: 33 return "GL_BOOL_VEC2"; 34 case GL_BOOL_VEC3: 35 return "GL_BOOL_VEC3"; 36 case GL_BOOL_VEC4: 37 return "GL_BOOL_VEC4"; 38 case GL_FLOAT_MAT2: 39 return "GL_FLOAT_MAT2"; 40 case GL_FLOAT_MAT3: 41 return "GL_FLOAT_MAT3"; 42 case GL_FLOAT_MAT4: 43 return "GL_FLOAT_MAT4"; 44 case GL_FLOAT_MAT2x3: 45 return "GL_FLOAT_MAT2x3"; 46 case GL_FLOAT_MAT2x4: 47 return "GL_FLOAT_MAT2x4"; 48 case GL_FLOAT_MAT3x2: 49 return "GL_FLOAT_MAT3x2"; 50 case GL_FLOAT_MAT3x4: 51 return "GL_FLOAT_MAT3x4"; 52 case GL_FLOAT_MAT4x2: 53 return "GL_FLOAT_MAT4x2"; 54 case GL_FLOAT_MAT4x3: 55 return "GL_FLOAT_MAT4x3"; 56 case GL_SAMPLER_1D: 57 return "GL_SAMPLER_1D"; 58 case GL_SAMPLER_2D: 59 return "GL_SAMPLER_2D"; 60 case GL_SAMPLER_3D: 61 return "GL_SAMPLER_3D"; 62 case GL_SAMPLER_CUBE: 63 return "GL_SAMPLER_CUBE"; 64 case GL_SAMPLER_1D_SHADOW: 65 return "GL_SAMPLER_1D_SHADOW"; 66 case GL_SAMPLER_2D_SHADOW: 67 return "GL_SAMPLER_2D_SHADOW"; 68 default: 69 return "UNKNOWN_TYPE"; 70 } 71 } 72