38 static const GLboolean True;
39 static const GLboolean False;
43 UnsignedByte = GL_UNSIGNED_BYTE,
45 UnsignedShort = GL_UNSIGNED_SHORT,
47 UnsignedInt = GL_UNSIGNED_INT,
52 static const std::string subsystem_name;
53 std::expected<void, Subsystem::Error> initialize()
override;
54 std::expected<void, Subsystem::Error> terminate()
override;
55 std::string name()
override;
56 bool is_initialized()
override;
60 static Gl &instance();
62 static int get_num_channels(GLenum color_format);
63 static int get_bytes_per_channel(GLenum type);
64 static void set_poligon_mode(GLboolean enable);
65 static void set_viewport(
int x,
int y,
int width,
int height);
66 static void set_color(
const Color &color);
67 static void draw_arrays(GLenum mode,
int first,
int count);
68 static void draw_elements(GLenum mode,
int count, GLenum type,
72 static GLenum _check_error(
const char *file,
int line);
76 static bool initialized;