All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
GLDebugGroup.h
1 // Copyright Wrld Ltd (2022-2022), All Rights Reserved
2 
3 #pragma once
4 
5 #include <string>
6 
7 #include "Graphics.h"
8 
9 #if defined(EEGEO_DEBUG_GL) && !defined(EEGEO_UNITY)
10 class GLDebugGroup : public Eegeo::NonCopyable
11 {
12 public:
13  GLDebugGroup(GLenum source, GLuint id, GLsizei length, const char* message);
14  GLDebugGroup(GLenum source, GLuint id, std::string message);
15  GLDebugGroup(const char* message, GLsizei length, GLuint id = 0);
16  GLDebugGroup(std::string message, GLuint id = 0);
17 
18  void reset(GLenum source, GLuint id, GLsizei length, const char* message);
19  void reset(GLenum source, GLuint id, std::string message);
20  void reset(const char* message, GLsizei length, GLuint id = 0);
21  void reset(std::string message, GLuint id = 0);
22 
23  ~GLDebugGroup();
24 };
25 #else
27 {
28 public:
29  GLDebugGroup(GLenum, GLuint, GLsizei, const char*) {}
30  GLDebugGroup(GLenum, GLuint, std::string) {}
31  GLDebugGroup(const char*, GLsizei, GLuint = 0) {}
32  GLDebugGroup(std::string, GLuint = 0) {}
33 
34  void reset(GLenum source, GLuint id, GLsizei length, const char* message) {}
35  void reset(GLenum source, GLuint id, std::string message) {}
36  void reset(const char* message, GLsizei length, GLuint id = 0) {}
37  void reset(std::string message, GLuint id = 0) {}
38 };
39 #endif