MeshLib C++ Docs
Loading...
Searching...
No Matches
MRGladGlfw.h
Go to the documentation of this file.
1#pragma once
2#include "MRViewerFwd.h"
3
4#ifdef __EMSCRIPTEN__
5#include <GLES3/gl3.h>
6#else
7#include <glad/glad.h>
8#endif
9#include <GLFW/glfw3.h>
10#ifdef _WIN32
11#undef APIENTRY
12#endif
13
14#ifndef __EMSCRIPTEN__
15#define MR_GLSL_VERSION_LINE R"(#version 150)"
16#else
17#define MR_GLSL_VERSION_LINE R"(#version 300 es)"
18#endif
19
20namespace MR {
21
23MRVIEWER_API int getGlfwModPrimaryCtrl();
24
30MRVIEWER_API const char* getSuperModName();
31
36MRVIEWER_API const char* getAltModName();
37
39inline int loadGL()
40{
41#ifndef __EMSCRIPTEN__
42#pragma warning(push)
43#pragma warning(disable: 4191)
48 static thread_local auto loadRes = gladLoadGLLoader( ( GLADloadproc )glfwGetProcAddress );
49 return loadRes;
50#pragma warning(pop)
51#else
52return 1;
53#endif
54}
55
58inline int getMSAAPow( int msaa )
59{
60 if ( msaa <= 1 )
61 return 0;
62 int i = 1;
63 for ( ; i < 4; ++i )
64 {
65 if ( ( msaa & ( 1 << i ) ) != 0 )
66 return i;
67 }
68 return i;
69}
70
71}
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
MRVIEWER_API const char * getAltModName()
MRVIEWER_API const char * getSuperModName()
int getMSAAPow(int msaa)
Definition MRGladGlfw.h:58
MRVIEWER_API int getGlfwModPrimaryCtrl()
Returns modifier id of SUPER on mac or wasm on macos, or CTRL otherwise.
int loadGL()
Load OpenGL and its extensions.
Definition MRGladGlfw.h:39