-
Notifications
You must be signed in to change notification settings - Fork 55
Release notes
Sammy Fatnassi edited this page Jan 30, 2022
·
14 revisions
- Support of additional texture formats
- Commands to assign custom backgrounds
- Handle Linear/sRGB vertex color format
- Add logging information in netImgui server application
- Profile and optimize performances
- Add new Dear ImGui multi windows support (docking branch)
Add compression to data between Client and ServerBugfix : netImgui Server application unable to start when post configured for listening can't be opened. Need to manually editnetImgui.cfg
with a valid port.Add copy/paste supportNetworking: Add support of client accepting connection from netImgui App
(2022/01/30)
-
API Changes
- Removed the
bWait
parameter fromShutdown()
- Always wait for Shutdown completion before returning now
- This prevents multihread data release issues
- Added a
NETIMGUI_API
define prefix to functions exported inNetImgui_Api.h
- Similar to
IMGUI_API
, allows library user to control dll import/export - Takes the same value as
IMGUI_API
by default
- Similar to
- Removed the
-
Bug fixes
- Compression feature causing some out of sync issue with NetImgui Server
- 32bits index support crash
(2022/01/10)
-
API Changes
- Added
SetCompressionMode(...)
/GetCompressionMode()
, allow library user to manage the data compression feature- By default, Client relies on Server Setting
- Added
-
Data Compressions Support
- Drawing data generated by the Client can now be compressed before being sent to Server
- Greatly reduce the bandwidth between Client/Server at a negligible cost on the Client
- Using Delta Compression. The draw data usually vary little from previous frame. Sending only the changed bytes produce great results at low overhead
- Highly dynamic UI content lower improvements
- A new sample (SampleCompression) demonstrate the use of data compression and its metrics
- At 30 Fps, data rate send from client goes from ~ 3400 KB/s to ~ 22 KB/s (~ 160x improvement !)
- Since it depends on static content, moving around a Window reduce the benefits
- Drawing data generated by the Client can now be compressed before being sent to Server
-
Other Changes
- Added OpenGL3 support to NetImgui Server
- Still DirectX11 by default
- OpenGL3 support helps with the Server Application port to non Windows OS
- To enable, set
HAL_API_PLATFORM_GLFW_GL3
define to 1 andHAL_API_PLATFORM_WIN32_DX11
to 0
- Added support for Visual Studio 2021
- Support up to Dear ImGui 1.86 has been tested
- Added OpenGL3 support to NetImgui Server
(2021/08/09)
-
API Changes
- None
-
Other Changes
- Mostly some small bug fixes
- Fixed issue with keyboard input
- Fixed 16/32bits index handling (NetImgui Server app now handle both case without recompiling)
(2021/05/30)
-
API Changes
- None
-
Other Changes
- Mostly some small bug fixes
- Reduced NetImgui server CPU/GPU usage
- Better handling of NetImgui server's window move between 4K and lower resolution monitors
(2021/03/13)
-
API Changes
- Added
SetBackground(...)
letting user configure the client window background appearance- The new sample SampleBackground demonstrate its usage.
- Removed support of empty API functions when
NETIMGUI_ENABLED
is false- Keeps NetImgui client code clutter to minimum.
- Added
-
New
- Auto interception of Dear ImGui
ImGui::NewFrame()
/ImGui::Render()
- Using Dear ImGui 1.81's Callbacks support, replacing theses Dear ImGui functions call with
NetImgui::NewFrame()
/NetImgui::EndFrame()
can now be avoided - This means less changes to existing codebase wanting to use NetImgui, only requiring a single call to :
Startup
Shutdown
-
ConnectToApp
orConnectFromApp
- However, calling directly
NetImgui::NewFrame()
/NetImgui::EndFrame()
has the additional benefit of being able to skip drawing when not needed
- Using Dear ImGui 1.81's Callbacks support, replacing theses Dear ImGui functions call with
- Auto interception of Dear ImGui
(2021/01/22)
-
API Changes
- Removed parameter from
NetImGui::ConnectToApp() / NetImGui::::ConnectFromApp()
to clone the current context. NetImgui now only uses the Dear ImGui Context that was active when requesting a connection, without internally using other contexts.
- Removed parameter from
-
New
- Complete refactor of the NetImguiServer application.
- Now relying on Dear ImGui's backend for the renderer and OS support.
- Other platform's specific functions have all been cleanly abstracted.
- This means that porting the server application to other platform should be straightforward.
- Copy/paste from Server to Client support. From Client to Server is still up to the user engine.
- Complete refactor of the NetImguiServer application UI.
- Now relying on 'Dear ImGui' docking branch to draw the user interface.
- Can display multiple connected client's windows at the same time, and they can be docked / moved around as user sees fit.
- Can now specify a display refresh rate for the connected clients.
- Single header include support.
- For user wanting to minimize changes to their project, it is now possible to only include
NetImgui_Api.h
after declaring the defineNETIMGUI_IMPLEMENTATION
, and all needed source files will also be added for compilation.
- For user wanting to minimize changes to their project, it is now possible to only include
- Complete refactor of the NetImguiServer application.
(2020/08/22)
- API Changes
-
NetImGui::NewFrame()
/NetImGui::EndFrame()
should always be used, even when disconnected -
NetImGui::ConnectToApp() / NetImGui::::ConnectFromApp()
take a new parameter, telling netImgui to continue using the same context or use a duplicate -
NetImgui::Connect()
replaced byNetImgui::ConnectToApp()
/NetImGui::ConnectFromApp()
-
NetImgui::IsRemoteDraw()
renamed toNetImgui::IsDrawingRemote()
-
NetImgui::IsDrawing()
added -
NetImgui::IsConnectionPending()
added -
NetImgui::GetDrawData()
added -
NetImgui::GetRemoteContext()
removed - New
- Support for connection initiated from netImgui server application
- GUI and save file support for Client configurations
- Improved samples
- Optional commandline parameter to specify Client's address for connection on netImgui Server launch
- Launching a second netImgui Server forward commandline option to already running instance
- netImgui Server application accepts Client's address request from a Windows 'named pipe'
- Bugfix
- Issue of text edition not recognizing special key strokes (navigation, delete, ...)
(2020/07/02)
- Added ImGui 1.77 support
(2020/06/23)
- Few fixes
- Added support to Posix sockets (Unix/Mac/Android support)
- Added texture format A8
(2020/06/13)
- Initial Release
- netImgui server application
- netImgui client code (for integration into external codebase)