old finished tweaks
- [x] Move methods inside Form.GUI.cs to Application: `NewFrame`, `EndFrame`, `Render` and `Log`.
- [x] Make all forms (including main form) update and render properly
- [x] Implement `IWindow.Opacity`
- [x] Update window movement implementation
- [x] issue: viewport resizing not invoked
- [x] Implement viewport resizing for rendering, especially for text rendering
- [x] Inline `Window.Render` and re-organize `MeshBuffer` in `Form` level
- [x] Move `MeshBuffer` from `Window` to `Form`
- [x] Adjust `MeshBuffer` usage in `Form`: don't clear `MeshBuffer` every time foreach window when build it from `Window.MeshList`.
- [x] Make IMGUI states `GUIContext` a global static object: It is a global variable at `Application.ImGuiContext` now.
- [x] Singe OpenGL context for multiple native windows
- [x] Win32OpengGLRenderer: decuple IRenderer from IWindow (make per native window state like hwnd, dc, viewport and scissor rect change when `IRenderer::SetRenderingWindow`)
New developement of multiple-forms will be based on the MultipleNativeWindowTest project.
An openGL renderer correctly renders Mesh on two win32 windows.
old finished tweaks
- [x] Move methods inside Form.GUI.cs to Application: `NewFrame`, `EndFrame`, `Render` and `Log`. - [x] Make all forms (including main form) update and render properly - [x] Implement `IWindow.Opacity` - [x] Update window movement implementation - [x] issue: viewport resizing not invoked - [x] Implement viewport resizing for rendering, especially for text rendering - [x] Inline `Window.Render` and re-organize `MeshBuffer` in `Form` level - [x] Move `MeshBuffer` from `Window` to `Form` - [x] Adjust `MeshBuffer` usage in `Form`: don't clear `MeshBuffer` every time foreach window when build it from `Window.MeshList`. - [x] Make IMGUI states `GUIContext` a global static object: It is a global variable at `Application.ImGuiContext` now. - [x] Singe OpenGL context for multiple native windows - [x] Win32OpengGLRenderer: decuple IRenderer from IWindow (make per native window state like hwnd, dc, viewport and scissor rect change when `IRenderer::SetRenderingWindow`)New developement of multiple-forms will be based on the MultipleNativeWindowTest project.
An openGL renderer correctly renders
Mesh
on two win32 windows.Mesh
correctly. Fixed at https://github.com/zwcloud/ImGui/commit/9802e0c9bb61212f077cce78b7f75a6fe9a997d0.Mesh
correctly. Fixed at https://github.com/zwcloud/ImGui/commit/340b2be34a96da6df2807e1fe325d825157fd7f9.Misc
This issue blocks #69