Sha256: de6644c02aaac162eccf331f6acb2aad7f5da4df602289e7c76ad728485dea42

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

#include "opengl.h"


#include "rays/exception.h"


namespace Rays
{


	bool
	OpenGL_has_error ()
	{
		return glGetError() != GL_NO_ERROR;
	}

	static String
	get_error_name (GLenum error)
	{
		switch (error)
		{
			case GL_NO_ERROR:          return "GL_NO_ERROR";
			case GL_INVALID_ENUM:      return "GL_INVALID_ENUM";
			case GL_INVALID_VALUE:     return "GL_INVALID_VALUE";
			case GL_INVALID_OPERATION: return "GL_INVALID_OPERATION";
			case GL_OUT_OF_MEMORY:     return "GL_OUT_OF_MEMORY";
			#if !defined(GL_VERSION_3_0)
				case GL_STACK_OVERFLOW:  return "GL_STACK_OVERFLOW";
				case GL_STACK_UNDERFLOW: return "GL_STACK_UNDERFLOW";
				case GL_INVALID_FRAMEBUFFER_OPERATION: return "GL_INVALID_FRAMEBUFFER_OPERATION";
				case GL_TABLE_TOO_LARGE: return "GL_TABLE_TOO_LARGE";
			#endif
			default:                   return "UNKNOWN ERROR";
		}
	}

	void
	OpenGL_check_error (const char* file, int line)
	{
		GLenum e = glGetError();
		if (e != GL_NO_ERROR)
			opengl_error(file, line, "OpenGL error %s", get_error_name(e).c_str());
	}

	void
	OpenGL_check_error (const char* file, int line, const char* format, ...)
	{
		XOT_STRINGF(format, s);

		GLenum e = glGetError();
		if (e != GL_NO_ERROR)
		{
			opengl_error(
				file, line,
				"OpenGL error %s: %s", get_error_name(e).c_str(), s.c_str());
		}
	}


}// Rays

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rays-0.1.29 src/opengl.cpp