From de850676e79da39aec6f1ce0400cfa94cecbd744 Mon Sep 17 00:00:00 2001 From: mattkae Date: Sun, 19 Sep 2021 16:32:15 -0400 Subject: First commit --- themes/WebglContext.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 themes/WebglContext.h (limited to 'themes/WebglContext.h') diff --git a/themes/WebglContext.h b/themes/WebglContext.h new file mode 100644 index 0000000..cbbfbe9 --- /dev/null +++ b/themes/WebglContext.h @@ -0,0 +1,38 @@ +#pragma once +#include "types.h" +#include +#include +#include +#include + +struct WebglContext { + EMSCRIPTEN_WEBGL_CONTEXT_HANDLE context; + int width = 800; + int height = 600; + + void init(const char* query, int inWidth = 800, int inHeight = 600) { + width = inWidth; + height = inHeight; + emscripten_set_canvas_element_size( query, width, height); + + EmscriptenWebGLContextAttributes attrs; + emscripten_webgl_init_context_attributes(&attrs); + + attrs.enableExtensionsByDefault = 1; + attrs.majorVersion = 3; + attrs.minorVersion = 0; + + context = emscripten_webgl_create_context(query, &attrs); + makeCurrentContext(); + + glClearColor(0, 0, 0, 0.0f); + }; + + void makeCurrentContext() { + emscripten_webgl_make_context_current(context); + }; + + void destroy() { + emscripten_webgl_destroy_context(context); + } +}; -- cgit v1.2.1