„Grafika hibakezelés és tipikus hibák” változatai közötti eltérés
| 46. sor: | 46. sor: | ||
<br/> <syntaxhighlight lang="c"> | <br/> <syntaxhighlight lang="c"> | ||
#include <iostream> | #include <iostream> | ||
#define CheckError() __CheckError(__FILE__, __PRETTY_FUNCTION__, __LINE__) | #define CheckError() __CheckError(__FILE__, __PRETTY_FUNCTION__, __LINE__) | ||
inline void __CheckError(const char *file, const char *func, int line) { | inline void __CheckError(const char *file, const char *func, int line) { | ||
GLenum error = glGetError(); | GLenum error = glGetError(); | ||
if(error != GL_NO_ERROR) { | if(error != GL_NO_ERROR) { | ||
std::cout << "\n---------========={[ "; | std::cout << "\n---------========={[ "; | ||
int err_len; | int err_len; | ||
switch(error) { | switch(error) { | ||
case GL_INVALID_ENUM: | case GL_INVALID_ENUM: | ||
std::cout << "GL_INVALID_ENUM"; | std::cout << "GL_INVALID_ENUM"; | ||
err_len = | err_len = sizeof("GL_INVALID_ENUM"); | ||
break; | break; | ||
case GL_INVALID_VALUE: | case GL_INVALID_VALUE: | ||
std::cout << "GL_INVALID_VALUE"; | std::cout << "GL_INVALID_VALUE"; | ||
err_len = | err_len = sizeof("GL_INVALID_VALUE"); | ||
break; | break; | ||
case GL_INVALID_OPERATION: | case GL_INVALID_OPERATION: | ||
std::cout << "GL_INVALID_OPERATION"; | std::cout << "GL_INVALID_OPERATION"; | ||
err_len = | err_len = sizeof("GL_INVALID_OPERATION"); | ||
break; | break; | ||
case GL_STACK_OVERFLOW: | case GL_STACK_OVERFLOW: | ||
std::cout << "GL_STACK_OVERFLOW"; | std::cout << "GL_STACK_OVERFLOW"; | ||
err_len = | err_len = sizeof("GL_STACK_OVERFLOW"); | ||
break; | break; | ||
case GL_STACK_UNDERFLOW: | case GL_STACK_UNDERFLOW: | ||
std::cout << "GL_STACK_UNDERFLOW"; | std::cout << "GL_STACK_UNDERFLOW"; | ||
err_len = | err_len = sizeof("GL_STACK_UNDERFLOW"); | ||
break; | break; | ||
case GL_OUT_OF_MEMORY: | case GL_OUT_OF_MEMORY: | ||
std::cout << "GL_OUT_OF_MEMORY"; | std::cout << "GL_OUT_OF_MEMORY"; | ||
err_len = | err_len = sizeof("GL_OUT_OF_MEMORY"); | ||
break; | break; | ||
case GL_INVALID_FRAMEBUFFER_OPERATION: | case GL_INVALID_FRAMEBUFFER_OPERATION: | ||
std::cout << "GL_INVALID_FRAMEBUFFER_OPERATION"; | std::cout << "GL_INVALID_FRAMEBUFFER_OPERATION"; | ||
err_len = | err_len = sizeof("GL_INVALID_FRAMEBUFFER_OPERATION"); | ||
break; | break; | ||
}; | }; | ||
std::cout << " ]}=========---------\n" << std::endl; | std::cout << " ]}=========---------\n" << std::endl; | ||
std::cout << "A '" << func << "' függvenyben" << std::endl; | std::cout << "A '" << func << "' függvenyben" << std::endl; | ||
std::cout << "A '" << file << "' fajl " << line << ". soraban\n" << std::endl; | std::cout << "A '" << file << "' fajl " << line << ". soraban\n" << std::endl; | ||
int ending_line_length = err_len + 42; | int ending_line_length = err_len + 42; | ||
for(int i = 0; i < ending_line_length; i++) { | for(int i = 0; i < ending_line_length; i++) { | ||