Sloth loves Chunk!
This commit is contained in:
		
							
								
								
									
										67
									
								
								SQCSim2021/tool.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								SQCSim2021/tool.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| #include "tool.h" | ||||
| #include "define.h" | ||||
| #include <cassert> | ||||
| #include <iostream> | ||||
| #include <fstream> | ||||
|  | ||||
| bool Tool::LoadTextFile(const std::string& filename, std::string& buffer) | ||||
| { | ||||
|     std::ifstream f(filename.c_str(), std::ios::binary); | ||||
|     if(!f.is_open()) | ||||
|         return false; | ||||
|  | ||||
|     f.seekg(0, std::ios::end); | ||||
|     unsigned int len = f.tellg(); | ||||
|     f.seekg(0, std::ios::beg); | ||||
|  | ||||
|     char* tmp = new char[len + 1]; | ||||
|  | ||||
|     f.read(tmp, len); | ||||
|     f.close(); | ||||
|  | ||||
|     tmp[len] = 0; | ||||
|     buffer = tmp; | ||||
|     delete [] tmp; | ||||
|  | ||||
|     return true; | ||||
| } | ||||
|  | ||||
| void Tool::CheckGLError(const char* file, int line) | ||||
| { | ||||
|     GLuint err = glGetError(); | ||||
|     if (err != GL_NO_ERROR)	 | ||||
|     { | ||||
|         std::cerr << "Opengl error before " << file << "[" << line << "]:" << std::hex << err << "("; | ||||
|  | ||||
|         switch(err) | ||||
|         { | ||||
|             case GL_INVALID_ENUM: | ||||
|                 std::cerr << "GL_INVALID_ENUM"; | ||||
|                 break; | ||||
|             case GL_INVALID_VALUE: | ||||
|                 std::cerr << "GL_INVALID_VALUE"; | ||||
|                 break; | ||||
|             case GL_INVALID_OPERATION: | ||||
|                 std::cerr << "GL_INVALID_OPERATION"; | ||||
|                 break; | ||||
|             case GL_STACK_OVERFLOW: | ||||
|                 std::cerr << "GL_STACK_OVERFLOW"; | ||||
|                 break; | ||||
|             case GL_STACK_UNDERFLOW: | ||||
|                 std::cerr << "GL_STACK_UNDERFLOW"; | ||||
|                 break; | ||||
|             case GL_OUT_OF_MEMORY: | ||||
|                 std::cerr << "GL_OUT_OF_MEMORY"; | ||||
|                 break; | ||||
|             case GL_TABLE_TOO_LARGE: | ||||
|                 std::cerr << "GL_TABLE_TOO_LARGE"; | ||||
|                 break; | ||||
|             default: | ||||
|                 std::cerr << "unknown"; | ||||
|         } | ||||
|         std::cerr << ")" << std::endl; | ||||
|         std::cerr << "ATTENTION: this error might come from anywhere in the code since the previous call to CHECK_GL_ERROR" << std::endl; | ||||
|         exit(1); | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user