Commit Graph

712 Commits

Author SHA1 Message Date
omar
74b7dce394 Examples: Renamed applications to emphasis on use of GLFW as a platform framework + minor local tweaks 2018-03-20 16:00:59 +01:00
Christian Forfang
4485e56e02 Examples: Vulkan: Fix missing subpass dependency
Without a dependency between pWaitDstStageMask (COLOR_ATTACHMENT_OUTPUT)
and the render-pass, the UNDEFINED -> COLOR_ATTACHMENT_OPTIMAL transition
might happen before the image is ready to be used.
2018-03-19 16:48:03 +01:00
omar
a73f6d06e0 Examples: Vulkan: Using VK_PRESENT_MODE_MAILBOX_KHR. Disable IMGUI_UNLIMITED_FRAME_RATE by default. Fixed warnings. (#1042) 2018-03-19 16:47:28 +01:00
omar
2fecd332fc Viewport, Platform: Added void* to render/swap buffer functions. Comments. (#1542, #1042) 2018-03-19 15:20:47 +01:00
omar
0e09032750 Viewport, Examples: Renamed types used by examples. (#1542) 2018-03-18 22:19:02 +01:00
omar
46b61427e1 Viewport, Platform: Refactored platform interface. Removed need to use imgui_internal.h in backends. Split viewport into public facing ImGuiViewport and internal structure. Exposing enough data to provide custom tweaked renderers. Renamed handlers, fixed lots of inconsistencies. (#1542, #1042) 2018-03-18 18:44:57 +01:00
omar
1ab236d9df Viewport, Platform: Internal renaming to use more consistent (OsDesktopPos > PlatformPos). (#1542) 2018-03-15 20:07:48 +01:00
omar
2e1ac0f683 Viewport, Platform: SDL: Makes the CreateViewport function restore current GL context so in theory it is free from side-effect. That said, it seems like there is a bug in SDL because our CreateViewport (currently in Render(), not for long) have affect a jerky side-effect if SDL_GL_MakeCurrent() is called before Render(). (#1542) 2018-03-15 19:25:23 +01:00
omar
8364d1ca6c Viewport: Removed back-end renderer code that implied we need to clear with WindowBg color. Added NoRendererClear flag. (#1542, #1042) 2018-03-15 18:17:04 +01:00
omar
09d8943967 Examples Refactor: GLFW: Explicit functions to init GLFW with OpenGL or Vulkan since we cannot read the api hints from glfw. 2018-03-15 16:42:21 +01:00
omar
6e58a95a01 Viewport, Platform, Examples: Changes to resizing flow + restored support for Platform events affecting the ImGui windows (so Decorated windows are functional). (#1542, #1042) ..
SDL: Added platform move/resize/close support.
GLFW: Added platform move/resize support. Moved Close to use callback for consistency.
Win32:
Vulkan: Fixed resize support.
Naming is WIP "PlatforrmRequestXXX" is too ambiguous. Basically we either have a ImGui->Platform flow or a Platform->ImGui flow. Working a bigger refactor now.
2018-03-15 10:57:22 +01:00
omar
83ef61fa56 Examples: SDL: Fix for versions olders than 2.0.6 2018-03-14 14:14:16 +01:00
omar
d0e0b106f0 Examples: SDL,GLFW,Vulkan: The Platform<>Renderer link is handled by SDL/GLFW platforms, both can compile without Vulkan headers, SDL+Vulkan is now on part with GLFW+Vulkan (aka broken the same way!). (#1542) 2018-03-13 23:16:15 +01:00
omar
98b66a5fc9 Examples: Using draw_data->DisplaySize, followup to c50198debe. Fix Vulkan secondary viewport rendering. SDL+Vulkan: Matched changes. Fix vcprojs. (#1542, #1042) 2018-03-13 23:07:12 +01:00
omar
c50198debe Viewport: Obsoleted io.DisplayPos (which was a Viewport branch thing), added ImDrawData::DisplayPos, DisplaySize (#1542) wip 2018-03-13 16:20:27 +01:00
omar
b88492746e Examples, Viewport: Vulkan: Experiment (broken) multi-viewport support, merging code from ParticlePeter branches. (#1542, #1042) 2018-03-12 18:43:25 +01:00
omar
f6fc28dfd2 Merge branch 'master' into viewport (inc Vulkan resize fix merge #1042) 2018-03-12 17:50:32 +01:00
omar
cdeef65b05 Examples: Vulkan: Passing Queue, QueueFamily to binding. Fixed scissor (fixed in master). ImGui_ImplVulkanH_DestroyWindowData() waits for device to be idle. (#1042) 2018-03-12 17:37:28 +01:00
omar
1e81a53e75 Examples: DPI: Minor warning fix. (#1676) 2018-03-12 16:22:24 +01:00
omar
37cb177745 Examples: Vulkan: Only resize swap chain and framebuffer once. (#1042) 2018-03-12 14:47:41 +01:00
omar
1c18d65313 Examples: Renamed glfw error callback for clarity. 2018-03-12 14:43:37 +01:00
Peter Particle
b2453d7e8f Fixed resize window validation errors with removing frame prerender once and present last but one frame functionality. Frame rate is still similar. 2018-03-12 14:34:36 +01:00
omar
5e63711084 Viewport, DPI: Some early work on per-viewport DPI support. At the moment the easiest way is to replace fonts during the ChangedViewport callback, but down the line we should aim at handling some of it at ImFont level. (#1542, #1676) 2018-03-12 10:31:39 +01:00
omar
a2fbcc9ad4 Examples: DPI: Portable DPI related helpers in the _Win32 examples. Using one in examples's main.cpp, the GetDpiScale functions are not wired anywhere for now. (#1542, #1676) 2018-03-12 10:31:39 +01:00
omar
1eb89d7e3b Viewport: Changed signature of ResizeViewport to be consistent with other similar functions. 2018-03-08 20:32:34 +01:00
omar
4d46383100 Viewport: Coupling non-main viewport to one window. Viewport name derived from the window. Added ImGuiConfigFlags_PlatformNoTaskBar, off by default (aka re-established task-bars by default for now). (#1542) 2018-03-08 20:27:01 +01:00
omar
aa3fe81c87 Examples: DPI: Hacked in a quick compile-and-run-everywhere call to SetProcessDpiAwareness(), will need to revisit. 2018-03-08 18:46:30 +01:00
omar
9ea16e344a Viewport: Disable extra viewports from hosting other windows. (#1542) 2018-03-07 16:34:18 +01:00
omar
d8719cf59b Fixed warnings. 2018-03-07 14:46:53 +01:00
omar
9dcc07422e Viewport: Reorganized viewport enable flags. Both user + platform + renderer need to enable a flag. (#1542) 2018-03-07 12:35:26 +01:00
omar
52c78820aa Examples: SDL: Fix for pre 2.0.4. 2018-03-07 12:19:19 +01:00
omar
19b92751b9 Examples: Updated Makefile and batch files to work with new examples. Using lowercase "gl.h" as it seems this is what Linux wants. 2018-03-07 12:05:47 +01:00
omar
f318f2d5ea Examples: Added Makefile for SDL+OpenGL2 example. (#1668) 2018-03-07 11:51:41 +01:00
omar
7fd62baa42 Examples: Added Makefile for SDL+OpenGL2 example. (#1668) 2018-03-07 11:50:56 +01:00
omar
3637193556 Merge branch 'master' into viewport
# Conflicts:
#	examples/imgui_impl_glfw.h
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.h
#	imgui.cpp
2018-03-06 20:02:40 +01:00
omar
a2ed3ee2cf Examples: OpenGL3: Added a way to override the glsl version number through the Init call. (#1667, #1466) 2018-03-06 19:48:30 +01:00
omar
c4a158656e Merge branch 'master' into viewport
# Conflicts:
#	examples/allegro5_example/main.cpp
#	examples/directx10_example/main.cpp
#	examples/directx11_example/main.cpp
#	examples/directx12_example/main.cpp
#	examples/directx9_example/main.cpp
#	examples/imgui_impl_dx10.cpp
#	examples/imgui_impl_dx11.cpp
#	examples/imgui_impl_dx12.cpp
#	examples/imgui_impl_dx9.cpp
#	examples/imgui_impl_glfw.h
#	examples/imgui_impl_vulkan.cpp
#	examples/opengl2_example/imgui_impl_glfw_gl2.cpp
#	examples/opengl2_example/main.cpp
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/opengl3_example/main.cpp
#	examples/sdl_opengl2_example/imgui_impl_sdl_gl2.cpp
#	examples/sdl_opengl2_example/main.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
#	examples/sdl_opengl3_example/main.cpp
#	examples/vulkan_example/main.cpp
#	imgui.cpp
#	imgui.h
2018-03-03 23:13:31 +01:00
omar
e026c8d3b7 Viewport: Give a chance to platform and renderer to actually destroy their data. Otherwise the regular ImplXXX_Shutdown + following by DestroyContext() order fails to fullifl this. (#1542) 2018-03-03 22:53:31 +01:00
omar
cab41d954e Examples: Vulkan: Further refactor. 2018-03-03 22:38:24 +01:00
omar
69e700f869 Renamed ImGuiStyleVar_Count_ to ImGuiStyleVar_COUNT for consistency with other enums. Added 2018-03-03 20:15:10 +01:00
omar
e0cbfd74d7 Examples: Vulkan: Moved CreateOrResizeWindowData func to imgui_impl_vulkan.h 2018-03-02 23:59:21 +01:00
omar
426930e028 Examples: Vulkan: Moved main.cpp data structures to imgui_impl_vulkan.h as shared helpers for the benefit of both the example and the platform/viewport renderer interface. 2018-03-02 23:05:23 +01:00
omar
e9fa17e1bf Viewport: Replaced UpdatePlatformWindows/RenderPlatformWindows by RenderAdditionalViewports(). The update is always called in EndFrame(). (#1542) 2018-03-02 22:44:06 +01:00
omar
7113fc7dee Examples: Vulkan: Moved variables into per-window data, refactored/tweaks to that the bug functions main.cpp for both SDL and GLFW examples match (they'll probably be moved to imgui_impl_vulkan as helpers). 2018-03-02 21:37:14 +01:00
omar
e0f283cfcb Examples: Vulkan: Fix 7b968b098e 2018-03-02 20:09:21 +01:00
omar
7b968b098e Examples: Vulkan: Reduced duplicate code by skipping present on the first frame. Amend 201d589714 by @ParticlePeter 2018-03-02 20:01:18 +01:00
omar
e927a6ac4a Examples: Vulkan: Various tweak. Misc refactor into per-frame data. Duplicate buffer creation code moved to CreateOrResizeBuffer(). 2018-03-02 19:40:09 +01:00
omar
9da475e4e8 Examples: GLFW, Vulkan: GLFW binding viewport tweaks to supports Vulkan better (do not call SwapBuffer, share context etc.). Added DUMMY (empty) platform/viewport interface in the viewport code. 2018-03-02 19:24:24 +01:00
omar
5b282bdd48 Examples: Renamed glfw error callback so it's more clear what it is. 2018-03-02 19:24:23 +01:00
omar
fc80f2b41a Merge branch 'examples_refactor' into viewport
# Conflicts:
#	examples/directx10_example/main.cpp
#	examples/directx11_example/main.cpp
#	examples/directx12_example/main.cpp
#	examples/opengl3_example/main.cpp
#	examples/sdl_opengl2_example/main.cpp
#	examples/sdl_opengl3_example/main.cpp
#	examples/sdl_vulkan_example/main.cpp
#	examples/vulkan_example/main.cpp
#	imgui.h
2018-03-01 23:27:11 +01:00
omar
68e9ef9885 Examples: Vulkan: SDL: Fixed missing resize handler (not properly merged from #1367) + tweaks. 2018-03-01 23:22:02 +01:00
omar
296db2ed33 Examples: Vulkan: Moved code into shared helpers: ImGui_ImplVulkan_SelectSurfaceFormat, ImGui_ImplVulkan_SelectPresentMode. 2018-03-01 23:22:02 +01:00
omar
3171d61dfc Examples: Vulkan: Various tweaks to name variable more consistently like Vulkan + a few comments + a few imgui style code compaction. 2018-03-01 23:22:01 +01:00
omar
57e9f61852 Examples: Vulkan: Debug report tweak + always enable in Debug build. 2018-03-01 18:59:07 +01:00
omar
cf365ed00b Examples: Fixed enabling IMGUI_VULKAN_DEBUG_REPORT which was broken during refactor because of duplicate 'extensions' local variable. 2018-03-01 18:41:19 +01:00
omar
b37ef20c5c Makefile: updated sdl_opengl3_example with all changes from #885. 2018-03-01 15:54:12 +01:00
Sam Hocevar
124d8522b1 Do not store compiled objects outside the project tree. 2018-03-01 15:50:39 +01:00
Sam Hocevar
b6f251103b Define SOURCES instead of OBJS in Makefiles.
OBJS is still deduced from SOURCES, but this change gives better control
over where the object files get actually written.
2018-03-01 15:46:43 +01:00
Sam Hocevar
d4f63c3844 Use make variables $@ and $^ where appropriate. 2018-03-01 15:45:34 +01:00
Sam Hocevar
551932697d Ensure make clean is idempotent.
Prior to this, `make clean` would fail if the project was not already
fully built, and a second invokation would always fail.
2018-03-01 15:45:23 +01:00
omar
d98a5d54aa Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. (#787) 2018-02-28 19:03:39 +01:00
omar
8074d56bdd Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. (#787) 2018-02-28 18:58:34 +01:00
omar
2c9f45bbe7 Renamed ImGuiNavFlags io.NavFlags to ImGuiConfigFlags io.ConfigFlags. (#787) 2018-02-28 18:51:40 +01:00
omar
fc3c3de70d Examples: DX10: Multi viewport/platform support (based on DX11 version). (#1542) 2018-02-28 18:35:16 +01:00
omar
997d1bd0eb Examples: NULL pointers for consistency. 2018-02-27 23:34:28 +01:00
omar
baef79415b Examples: DX12: Empty skeleton toward implementing the multi-viewport api for DirectX12. (WIP/test API) (#1542, #301) 2018-02-27 23:34:28 +01:00
omar
cb601d79e8 Examples: SDL: Initial attempt at implementing the viewport/platform api. (WIP/test API) (#1542)
ImGui_ImplSDL2_Init() now takes a SDL GL context.
2018-02-27 23:34:27 +01:00
omar
4cee46f909 Examples: GLFW + OpenGL3: Initial attempt at implementing the viewport/platform api. (WIP/test API) (#1542) 2018-02-27 23:27:41 +01:00
omar
25349b31d7 Examples: DX11 + Win32: Initial attempt at implementing the viewport/platform api. (WIP/test API) (#1542) 2018-02-27 23:26:51 +01:00
omar
29510fcb83 Examples: Misc tweaks/fixes. 2018-02-27 10:29:37 +01:00
omar
3f335b0d42 Merge branch 'master' into examples_refactor
# Conflicts:
#	examples/opengl3_example/imgui_impl_glfw_gl3.cpp
#	examples/sdl_opengl3_example/imgui_impl_sdl_gl3.cpp
2018-02-26 18:22:36 +01:00
omar
d7f97922b8 Examples: Fix d749d49903 missing the deletion code. (#1217) 2018-02-23 22:46:14 +01:00
omar
d749d49903 Examples: OpenGL3: Create the VAO in the render function so the setup can more easily be used with multiple shared GL context. (#1217) 2018-02-23 12:37:49 +01:00
omar
ffda84cfae Examples: DirectX12: Merged to new example format, imgui_impl_dx12.cpp contains the DX12 stuff, couple with imgui_impl_win32.cpp 2018-02-23 10:56:06 +01:00
omar
e6bc840f6f Merge branch 'master' into examples_refactor 2018-02-23 10:47:32 +01:00
omar
288351a801 Examples: DirectX12: Tweaked assertion to more accurately represent what it wants to say. (#301) 2018-02-23 00:00:43 +01:00
omar
63be3e7c82
Update README.txt 2018-02-22 23:20:37 +01:00
omar
7e24ce0956 Examples: DirectX12: Fixed shutdown issue. (#301) 2018-02-22 23:04:28 +01:00
omar
9be7d048c8 Examples: DirectX12: Merge, various styling tweaks, update for 1.60 wip, synchronized Win32 features with other examples. (#301) 2018-02-22 23:03:47 +01:00
omar
913f3692a2 Examples: DirectX12: Removed from current solution which is meant to be VS2010 compatible for now (will change soon). 2018-02-22 22:38:22 +01:00
omar
0d063585e8 Merge branch 'jdm3_master' 2018-02-22 17:04:15 +01:00
omar
f43068c543 Examples: DirectX10, DirectX11: Simplified main example code. 2018-02-22 13:15:16 +01:00
omar
0b26387a2b Simplified .gitignore list 2018-02-21 23:14:55 +01:00
omar
493ec0bc98 Simplified .gitignore list 2018-02-21 23:13:53 +01:00
omar
f7ef10e547 Examples: Titles/comments in headers 2018-02-21 23:05:17 +01:00
omar
91cadc1130 Merge branch 'master' into examples_refactor 2018-02-21 22:47:03 +01:00
omar
9b9d9321cf Examples: SDL: Using %SDL2_DIR% in the .vcproj instead of %SDL_DIR%, the earlier is more standard. 2018-02-21 22:46:49 +01:00
omar
47d1360124 Examples: Using SDL2_DIR instead of SDL_DIR (more standard). 2018-02-21 22:41:46 +01:00
omar
f67699456c Examples: Added SDL+Vulkan example, the abstraction worked here :) (ref #1367) 2018-02-21 22:41:04 +01:00
omar
387f724d33 Examples: Vulkan: Formatting and tweaks (to match SDL's main). 2018-02-21 22:39:49 +01:00
omar
bcdfd5d61c Merge branch 'master' into examples_refactor 2018-02-20 16:18:02 +01:00
omar
9c20a40b36 Examples: OpenGL: Cast call to glPolygonMode(). (#1628). 2018-02-20 15:49:17 +01:00
omar
daddd09cd5 Examples: Mouse cursor handling comments/tweaks to homogenize. (#1495) 2018-02-20 14:23:22 +01:00
omar
d534207622 Examples: GLFW: Added support for mouse cursors (ImGui::GetMouseCursor() value and WM_SETCURSOR message handling). (#1495) 2018-02-20 14:18:02 +01:00
omar
11b12488e8 Examples: GLFW*: Renamed GLFW callbacks exposed in .h to not include GL2/GL3/Vulkan in their name. 2018-02-20 14:09:46 +01:00
omar
7e2e0535dd Examples: DirectX 9,10,11: Inputs: Added support for mouse cursors (ImGui::GetMouseCursor() value and WM_SETCURSOR message handling). (#1495) 2018-02-20 13:55:09 +01:00
omar
e660d92fa5 Examples: GLFW: Added mouse cursors support (#1495) 2018-02-19 22:29:52 +01:00
omar
9fdf72e42b Examples: WIn32: Prefixing every Win32 function calls with :: to denote global namespace in a consistent manner. 2018-02-18 21:23:11 +01:00
omar
df9051ded2 Examples: Vulkan: Added support for io.DisplayPos. 2018-02-18 21:15:51 +01:00
omar
230c5ca735 Examples: Vulkan: Fixed GLFW calls. 2018-02-18 21:15:41 +01:00