forked from flyinghead/flycast
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d618abc
commit 680fafe
Showing
25 changed files
with
8,358 additions
and
2,931 deletions.
There are no files selected for viewing
197 changes: 92 additions & 105 deletions
197
core/deps/imgui/backends/imgui_impl_dx11.cpp
100644 → 100755
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
197 changes: 102 additions & 95 deletions
197
core/deps/imgui/backends/imgui_impl_dx9.cpp
100644 → 100755
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
863 changes: 670 additions & 193 deletions
863
core/deps/imgui/backends/imgui_impl_opengl3.cpp
100644 → 100755
Large diffs are not rendered by default.
Oops, something went wrong.
77 changes: 54 additions & 23 deletions
77
core/deps/imgui/backends/imgui_impl_opengl3.h
100644 → 100755
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,66 @@ | ||
// dear imgui: Renderer for OpenGL3 / OpenGL ES2 / OpenGL ES3 (modern OpenGL with shaders / programmatic pipeline) | ||
// This needs to be used along with a Platform Binding (e.g. GLFW, SDL, Win32, custom..) | ||
// (Note: We are using GL3W as a helper library to access OpenGL functions since there is no standard header to access modern OpenGL functions easily. Alternatives are GLEW, Glad, etc..) | ||
// dear imgui: Renderer Backend for modern OpenGL with shaders / programmatic pipeline | ||
// - Desktop GL: 2.x 3.x 4.x | ||
// - Embedded GL: ES 2.0 (WebGL 1.0), ES 3.0 (WebGL 2.0) | ||
// This needs to be used along with a Platform Backend (e.g. GLFW, SDL, Win32, custom..) | ||
|
||
// Implemented features: | ||
// [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||
// [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID! | ||
// [x] Renderer: Large meshes support (64k+ vertices) with 16-bit indices (Desktop OpenGL only). | ||
|
||
// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||
// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp. | ||
// https://github.com/ocornut/imgui | ||
// About WebGL/ES: | ||
// - You need to '#define IMGUI_IMPL_OPENGL_ES2' or '#define IMGUI_IMPL_OPENGL_ES3' to use WebGL or OpenGL ES. | ||
// - This is done automatically on iOS, Android and Emscripten targets. | ||
// - For other targets, the define needs to be visible from the imgui_impl_opengl3.cpp compilation unit. If unsure, define globally or in imconfig.h. | ||
|
||
// About OpenGL function loaders: | ||
// About OpenGL function loaders: modern OpenGL doesn't have a standard header file and requires individual function pointers to be loaded manually. | ||
// Helper libraries are often used for this purpose! Here we are supporting a few common ones: gl3w, glew, glad. | ||
// You may use another loader/header of your choice (glext, glLoadGen, etc.), or chose to manually implement your own. | ||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. | ||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need. | ||
// Learn about Dear ImGui: | ||
// - FAQ https://dearimgui.com/faq | ||
// - Getting Started https://dearimgui.com/getting-started | ||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder). | ||
// - Introduction, links and more at the top of imgui.cpp | ||
|
||
// About GLSL version: | ||
// The 'glsl_version' initialization parameter should be NULL (default) or a "#version XXX" string. | ||
// On computer platform the GLSL version default to "#version 130". On OpenGL ES 3 platform it defaults to "#version 300 es" | ||
// Only override if your GL version doesn't handle this GLSL version. See GLSL version table at the top of imgui_impl_opengl3.cpp. | ||
// The 'glsl_version' initialization parameter should be nullptr (default) or a "#version XXX" string. | ||
// On computer platform the GLSL version default to "#version 130". On OpenGL ES 3 platform it defaults to "#version 300 es" | ||
// Only override if your GL version doesn't handle this GLSL version. See GLSL version table at the top of imgui_impl_opengl3.cpp. | ||
|
||
#pragma once | ||
#include "imgui.h" // IMGUI_IMPL_API | ||
#ifndef IMGUI_DISABLE | ||
|
||
// Set default OpenGL loader to be gl3w | ||
#if !defined(IMGUI_IMPL_OPENGL_LOADER_GL3W) \ | ||
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLEW) \ | ||
&& !defined(IMGUI_IMPL_OPENGL_LOADER_GLAD) \ | ||
&& !defined(IMGUI_IMPL_OPENGL_LOADER_CUSTOM) | ||
#define IMGUI_IMPL_OPENGL_LOADER_GL3W | ||
#endif | ||
|
||
IMGUI_IMPL_API bool ImGui_ImplOpenGL3_Init(); | ||
// Follow "Getting Started" link and check examples/ folder to learn about using backends! | ||
IMGUI_IMPL_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version = nullptr); | ||
IMGUI_IMPL_API void ImGui_ImplOpenGL3_Shutdown(); | ||
IMGUI_IMPL_API void ImGui_ImplOpenGL3_NewFrame(); | ||
IMGUI_IMPL_API void ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data); | ||
|
||
// (Optional) Called by Init/NewFrame/Shutdown | ||
IMGUI_IMPL_API bool ImGui_ImplOpenGL3_CreateFontsTexture(); | ||
IMGUI_IMPL_API void ImGui_ImplOpenGL3_DestroyFontsTexture(); | ||
IMGUI_IMPL_API bool ImGui_ImplOpenGL3_CreateDeviceObjects(); | ||
IMGUI_IMPL_API void ImGui_ImplOpenGL3_DestroyDeviceObjects(); | ||
|
||
// Configuration flags to add in your imconfig file: | ||
//#define IMGUI_IMPL_OPENGL_ES2 // Enable ES 2 (Auto-detected on Emscripten) | ||
//#define IMGUI_IMPL_OPENGL_ES3 // Enable ES 3 (Auto-detected on iOS/Android) | ||
|
||
// You can explicitly select GLES2 or GLES3 API by using one of the '#define IMGUI_IMPL_OPENGL_LOADER_XXX' in imconfig.h or compiler command-line. | ||
#if !defined(IMGUI_IMPL_OPENGL_ES2) \ | ||
&& !defined(IMGUI_IMPL_OPENGL_ES3) | ||
|
||
// Try to detect GLES on matching platforms | ||
#if defined(__APPLE__) | ||
#include <TargetConditionals.h> | ||
#endif | ||
#if (defined(__APPLE__) && (TARGET_OS_IOS || TARGET_OS_TV)) || (defined(__ANDROID__)) | ||
#define IMGUI_IMPL_OPENGL_ES3 // iOS, Android -> GL ES 3, "#version 300 es" | ||
#elif defined(__EMSCRIPTEN__) || defined(__amigaos4__) | ||
#define IMGUI_IMPL_OPENGL_ES2 // Emscripten -> GL ES 2, "#version 100" | ||
#else | ||
// Otherwise imgui_impl_opengl3_loader.h will be used. | ||
#endif | ||
|
||
#endif | ||
|
||
#endif // #ifndef IMGUI_DISABLE |
Oops, something went wrong.