„Grafika hibakezelés és tipikus hibák” változatai közötti eltérés
a A <pre> tageket lecseréltem <syntaxhighlight> tagekre |
|||
| (4 közbenső módosítás, amit egy másik szerkesztő végzett, nincs mutatva) | |||
| 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") - 1; | ||
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") - 1; | ||
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") - 1; | ||
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") - 1; | ||
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") - 1; | ||
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") - 1; | ||
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") - 1; | ||
break; | break; | ||
}; | }; | ||
std::cout << " ]}=========---------\n" << std::endl; | std::cout << " ]}=========---------\n" << std::endl; | ||
std::cout << "A '" << func << "' | std::cout << "A '" << func << "' fuggvenyben" << 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++) { | ||
| 122. sor: | 121. sor: | ||
---------========={[ GL_INVALID_ENUM ]}=========--------- | ---------========={[ GL_INVALID_ENUM ]}=========--------- | ||
A 'void SetProjectionMatrix()' | A 'void SetProjectionMatrix()' fuggvenyben | ||
A 'main.cpp' fajl 7. soraban | A 'main.cpp' fajl 7. soraban | ||
| 135. sor: | 134. sor: | ||
<br/> <syntaxhighlight lang="c"> | <br/> <syntaxhighlight lang="c"> | ||
pow(-2, 2) == 4; // A kitevő egész, ez ok | pow(-2, 2) == 4; // A kitevő egész, ez ok | ||
pow(-2, 2.1f) = UNDEFINED // A kitevő valós, nem ok. A (-2)^2.1 egy komplex szám. | pow(-2, 2.1f) = UNDEFINED // A kitevő valós, nem ok. A (-2)^2.1 egy komplex szám (4,0773 + 1,3248i). | ||
</syntaxhighlight> <br/> | </syntaxhighlight> <br/> | ||
* Az utóbbi kódra előfordulhat, hogy a pow függvény nálad a komplex eredmény valós részét adja vissza, a beadón viszont NAN-t, mondva, hogy komplex számot nem tud valóssá konvertálni helyesen. | * Az utóbbi kódra előfordulhat, hogy a pow függvény nálad a komplex eredmény valós részét adja vissza, a beadón viszont NAN-t, mondva, hogy komplex számot nem tud valóssá konvertálni helyesen. | ||