mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-26 05:27:01 +00:00
Backends: OpenGL3: Add glad 2 to OpenGL loaders. (#3330)
This commit is contained in:
parent
89685b346c
commit
06f7854b16
@ -42,6 +42,10 @@ CXXFLAGS += -I../libs/gl3w -DIMGUI_IMPL_OPENGL_LOADER_GL3W
|
|||||||
# SOURCES += ../libs/glad/src/glad.c
|
# SOURCES += ../libs/glad/src/glad.c
|
||||||
# CXXFLAGS += -I../libs/glad/include -DIMGUI_IMPL_OPENGL_LOADER_GLAD
|
# CXXFLAGS += -I../libs/glad/include -DIMGUI_IMPL_OPENGL_LOADER_GLAD
|
||||||
|
|
||||||
|
## Using OpenGL loader: glad2
|
||||||
|
# SOURCES += ../libs/glad/src/gl.c
|
||||||
|
# CXXFLAGS += -I../libs/glad/include -DIMGUI_IMPL_OPENGL_LOADER_GLAD2
|
||||||
|
|
||||||
## Using OpenGL loader: glbinding
|
## Using OpenGL loader: glbinding
|
||||||
## This assumes a system-wide installation
|
## This assumes a system-wide installation
|
||||||
## of either version 3.0.0 (or newer)
|
## of either version 3.0.0 (or newer)
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
#include <GL/glew.h> // Initialize with glewInit()
|
#include <GL/glew.h> // Initialize with glewInit()
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
||||||
#include <glad/glad.h> // Initialize with gladLoadGL()
|
#include <glad/glad.h> // Initialize with gladLoadGL()
|
||||||
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD2)
|
||||||
|
#include <glad/gl.h> // Initialize with gladLoadGL(...) or gladLoaderLoadGL()
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
||||||
#define GLFW_INCLUDE_NONE // GLFW including OpenGL headers causes ambiguity or multiple definition errors.
|
#define GLFW_INCLUDE_NONE // GLFW including OpenGL headers causes ambiguity or multiple definition errors.
|
||||||
#include <glbinding/Binding.h> // Initialize with glbinding::Binding::initialize()
|
#include <glbinding/Binding.h> // Initialize with glbinding::Binding::initialize()
|
||||||
@ -84,6 +86,8 @@ int main(int, char**)
|
|||||||
bool err = glewInit() != GLEW_OK;
|
bool err = glewInit() != GLEW_OK;
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
||||||
bool err = gladLoadGL() == 0;
|
bool err = gladLoadGL() == 0;
|
||||||
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD2)
|
||||||
|
bool err = gladLoadGL(glfwGetProcAddress) == 0; // glad docs recommend using the windowing library loader instead of the (optionally) bundled one.
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
||||||
bool err = false;
|
bool err = false;
|
||||||
glbinding::Binding::initialize();
|
glbinding::Binding::initialize();
|
||||||
|
@ -42,6 +42,10 @@ CXXFLAGS += -I../libs/gl3w -DIMGUI_IMPL_OPENGL_LOADER_GL3W
|
|||||||
# SOURCES += ../libs/glad/src/glad.c
|
# SOURCES += ../libs/glad/src/glad.c
|
||||||
# CXXFLAGS += -I../libs/glad/include -DIMGUI_IMPL_OPENGL_LOADER_GLAD
|
# CXXFLAGS += -I../libs/glad/include -DIMGUI_IMPL_OPENGL_LOADER_GLAD
|
||||||
|
|
||||||
|
## Using OpenGL loader: glad2
|
||||||
|
# SOURCES += ../libs/glad/src/gl.c
|
||||||
|
# CXXFLAGS += -I../libs/glad/include -DIMGUI_IMPL_OPENGL_LOADER_GLAD2
|
||||||
|
|
||||||
## Using OpenGL loader: glbinding
|
## Using OpenGL loader: glbinding
|
||||||
## This assumes a system-wide installation
|
## This assumes a system-wide installation
|
||||||
## of either version 3.0.0 (or newer)
|
## of either version 3.0.0 (or newer)
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#include <GL/glew.h> // Initialize with glewInit()
|
#include <GL/glew.h> // Initialize with glewInit()
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
||||||
#include <glad/glad.h> // Initialize with gladLoadGL()
|
#include <glad/glad.h> // Initialize with gladLoadGL()
|
||||||
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD2)
|
||||||
|
#include <glad/gl.h> // Initialize with gladLoadGL(...) or gladLoaderLoadGL()
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
||||||
#define GLFW_INCLUDE_NONE // GLFW including OpenGL headers causes ambiguity or multiple definition errors.
|
#define GLFW_INCLUDE_NONE // GLFW including OpenGL headers causes ambiguity or multiple definition errors.
|
||||||
#include <glbinding/Binding.h> // Initialize with glbinding::Binding::initialize()
|
#include <glbinding/Binding.h> // Initialize with glbinding::Binding::initialize()
|
||||||
@ -79,6 +81,8 @@ int main(int, char**)
|
|||||||
bool err = glewInit() != GLEW_OK;
|
bool err = glewInit() != GLEW_OK;
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
||||||
bool err = gladLoadGL() == 0;
|
bool err = gladLoadGL() == 0;
|
||||||
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD2)
|
||||||
|
bool err = gladLoadGL((GLADloadfunc) SDL_GL_GetProcAddress) == 0; // glad docs recommend using the windowing library loader instead of the (optionally) bundled one.
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
||||||
bool err = false;
|
bool err = false;
|
||||||
glbinding::Binding::initialize();
|
glbinding::Binding::initialize();
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
// CHANGELOG
|
// CHANGELOG
|
||||||
// (minor and older changes stripped away, please see git history for details)
|
// (minor and older changes stripped away, please see git history for details)
|
||||||
|
// 2020-07-01: OpenGL: Added support for glad2 OpenGL loader.
|
||||||
// 2020-05-08: OpenGL: Made default GLSL version 150 (instead of 130) on OSX.
|
// 2020-05-08: OpenGL: Made default GLSL version 150 (instead of 130) on OSX.
|
||||||
// 2020-04-21: OpenGL: Fixed handling of glClipControl(GL_UPPER_LEFT) by inverting projection matrix.
|
// 2020-04-21: OpenGL: Fixed handling of glClipControl(GL_UPPER_LEFT) by inverting projection matrix.
|
||||||
// 2020-04-12: OpenGL: Fixed context version check mistakenly testing for 4.0+ instead of 3.2+ to enable ImGuiBackendFlags_RendererHasVtxOffset.
|
// 2020-04-12: OpenGL: Fixed context version check mistakenly testing for 4.0+ instead of 3.2+ to enable ImGuiBackendFlags_RendererHasVtxOffset.
|
||||||
@ -101,6 +102,8 @@
|
|||||||
#include <GL/glew.h> // Needs to be initialized with glewInit() in user's code.
|
#include <GL/glew.h> // Needs to be initialized with glewInit() in user's code.
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
||||||
#include <glad/glad.h> // Needs to be initialized with gladLoadGL() in user's code.
|
#include <glad/glad.h> // Needs to be initialized with gladLoadGL() in user's code.
|
||||||
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD2)
|
||||||
|
#include <glad/gl.h> // Needs to be initialized with gladLoadGL(...) or gladLoaderLoadGL() in user's code.
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
||||||
#ifndef GLFW_INCLUDE_NONE
|
#ifndef GLFW_INCLUDE_NONE
|
||||||
#define GLFW_INCLUDE_NONE // GLFW including OpenGL headers causes ambiguity or multiple definition errors.
|
#define GLFW_INCLUDE_NONE // GLFW including OpenGL headers causes ambiguity or multiple definition errors.
|
||||||
@ -189,6 +192,8 @@ bool ImGui_ImplOpenGL3_Init(const char* glsl_version)
|
|||||||
gl_loader = "GLEW";
|
gl_loader = "GLEW";
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
|
||||||
gl_loader = "GLAD";
|
gl_loader = "GLAD";
|
||||||
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD2)
|
||||||
|
gl_loader = "GLAD2";
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
|
||||||
gl_loader = "glbinding2";
|
gl_loader = "glbinding2";
|
||||||
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING3)
|
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING3)
|
||||||
|
@ -49,6 +49,7 @@ IMGUI_IMPL_API void ImGui_ImplOpenGL3_DestroyDeviceObjects();
|
|||||||
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GL3W) \
|
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GL3W) \
|
||||||
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLEW) \
|
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLEW) \
|
||||||
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLAD) \
|
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLAD) \
|
||||||
|
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLAD2) \
|
||||||
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2) \
|
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2) \
|
||||||
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING3) \
|
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING3) \
|
||||||
&& !defined(IMGUI_IMPL_OPENGL_LOADER_CUSTOM)
|
&& !defined(IMGUI_IMPL_OPENGL_LOADER_CUSTOM)
|
||||||
@ -68,6 +69,8 @@ IMGUI_IMPL_API void ImGui_ImplOpenGL3_DestroyDeviceObjects();
|
|||||||
#define IMGUI_IMPL_OPENGL_LOADER_GLEW
|
#define IMGUI_IMPL_OPENGL_LOADER_GLEW
|
||||||
#elif __has_include(<glad/glad.h>)
|
#elif __has_include(<glad/glad.h>)
|
||||||
#define IMGUI_IMPL_OPENGL_LOADER_GLAD
|
#define IMGUI_IMPL_OPENGL_LOADER_GLAD
|
||||||
|
#elif __has_include(<glad/gl.h>)
|
||||||
|
#define IMGUI_IMPL_OPENGL_LOADER_GLAD2
|
||||||
#elif __has_include(<GL/gl3w.h>)
|
#elif __has_include(<GL/gl3w.h>)
|
||||||
#define IMGUI_IMPL_OPENGL_LOADER_GL3W
|
#define IMGUI_IMPL_OPENGL_LOADER_GL3W
|
||||||
#elif __has_include(<glbinding/glbinding.h>)
|
#elif __has_include(<glbinding/glbinding.h>)
|
||||||
|
Loading…
Reference in New Issue
Block a user